オプション 1 を使用できますが、追加の代理代替キーは必要ありません。
代わりに、(各エンティティの) 既存の主キーを EntityType
で拡張します。 列 (例:CHAR(1)
、それは E
になります イベントの場合、P
人の場合、D
複合 (EntityId, EntityType)
テーブル Entity
の主キーになります および他の 3 つのサブタイプ テーブルの対応する化合物。
(EntityType
は、3 行の単なる補助的な参照テーブルです):