2017-03-27 10 views
-1

複数の外部キーを持つ関連エンティティを持つのは悪いDBデザインですか?複数の外部キーを持つ関連エンティティ

1トラックは、そうするには、この悪い設計原理は、1つの特定のルートになり、1 Manager..etc

上記に理想的であるassociatve実体を持って1つのチームによって管理されていますか?

答えて

0

多対多リレーションシップでは最初にアソシエーティブエンティティが必要なので、1 truck managed by 1 managerではなく、説明に0,1 or manyを使用する必要があります。

第2に、関連エンティティには複数の外部キー(接続しているすべてのエンティティに1つ)があります。連想エンティティは、本質的に、両側には多くの肉欲を持っている関係です:

e.g. 0 or many trucks are managed by zero or many teams. 
TEAM (TEAM_ID) 
TRUCK (TRUCK_ID) 
TRICK_MANAGEMENT_TEAMS (TEAM_ID, TRUCK_ID) 
+0

あなたtrick_management_teamsも「route_id」を持っているべきですか?複数の外部キーを含めることができることを明確にしたい(アトリビュートではないので、2つしか持っていない例もあります) – silenceislife

+0

@silenceislife私は、 3つの外部キー(さらなる正規化の結果でない限り)しかし、トラックが変更された特定のルートインスタンスをチームが管理している場合は、3つのキーを含めることが有効です。 –

関連する問題