0

リレーショナルデータベースは直接継承をサポートしておらず、フォアイングキーは1つのテーブルしか参照できないため、ソリューションを即興で作成する必要がありました(これは一意であるとは思いません)。

私のリレーショナル データベースには、entityA、entityB1、entityB2 エンティティがあります。entityB1 と entityB2 は、同様の実際のオブジェクトを表しますが、スポーツ カーやファミリー カーのように属性番号が異なります。entityA が両方のエンティティと「購入」関係を作成できるとしましょう。 2つの別々のテーブルへの外部キーを持つ2つの別々のリレーションシップで実行できます。

これが私の解決策です。属性 B_ID のみを持つエンティティ B を作成しました。エンティティ B1 またはエンティティ B2 にレコードが挿入されている場合、レコードの主キーはエンティティ B を B_ID として挿入します。このようにして、エンティティ B1 とエンティティ B2 を独身関係。

この方法で entityB1 と entityB2 の属性にアクセスするには、追加の結合を使用する必要があるため、より良い方法を提案できますか?

4

1 に答える 1