-1
私はMySQLに少し新しく、SQLで汎化関連を実装する方法が不思議でした。MySQLで一般化を実装する方法は?
私のUMLダイアグラムでは、ユーザーのすべての属性を継承する2つのサブクラス(従業員とマネージャ)を持つユーザーがいます。
これをSQLで書く方法を教えてください。
ありがとうございます!
私はMySQLに少し新しく、SQLで汎化関連を実装する方法が不思議でした。MySQLで一般化を実装する方法は?
私のUMLダイアグラムでは、ユーザーのすべての属性を継承する2つのサブクラス(従業員とマネージャ)を持つユーザーがいます。
これをSQLで書く方法を教えてください。
ありがとうございます!
一般化を実装するためのさまざまな方法があります。 1つは、すべての一般化された属性と、クラスを継承している列挙体を持つ表を作成し、特殊な属性のうちのどれが有効であるかを示すことです。特殊なクラスから属性を識別するための命名規則もあります。例えば。 Employee
の属性がdegree
の場合はなどとなります。
User
テーブルを持っていることであろう第二の方法とEmployee
で外部キーを使用してなど
すべての要件に依存します。銀色の弾丸はありません。
現在のデザインで何が問題になっていますか? –
従業員とマネージャーの「詳細」テーブルには、ユーザーが複数のマネージャー(または従業員)の「詳細」を持つことができない限り、独自のPK値は必要ありません。私はすべてのマネージャーが従業員だと思っていますが、それはちょうど名前の変更である可能性があります。 – Uueerdo