2017-01-08 13 views
3

ウィキペディアを引用すると、弱いエンティティは "外部キーをその属性と共に使用して主キーを作成する必要があります。" 「他のエンティティに存在依存している」ということを意味する。 しかし、PKをFKに持たないエンティティは、別のエンティティに存在依存することはできませんか?オーダーライン - - オーダーで弱いエンティティと外部キー

そのPKが他のエンティティから2 FKさんで構成されているため、製品の関係は、オーダーラインが弱い実体である、のorderIDとのproductIDは言います。

しかし、注文エンティティはどうですか?のは、それは次のようになりましょう:

Order(orderID - not null, Primary key, 
    costumerID - not null, Foreign key, 
    date, 
    status, 
    ...) 

それは順序が衣装(costumerID)なしでは存在できないことを十分に明確だが、同時に、costumerIDは、主キーの一部ではありません。

  1. この場合、Orderエンティティは弱いですか?そうではありませんか?
  2. FK customerIDのNOT NULL制約を省略した場合はどうなりますか?注文はもはや弱いエンティティではないだろうか?

答えて

1

エンティティは、弱いエンティティではない別のエンティティ(存在する関係)に存在依存することができます。これは総参加と呼ばれ、二重役割ラインを持つER図で示されます。

例では、OrderLineは、そのPKがorderIDと区別される属性(例: line_number。そのPKが2つのFKで構成されている場合、代わりにそれを関係と呼びます。

Orderの例では、Customerとの関係の全参加が示されています(この関係は、2つのエンティティキー列(orderID,customerID)で表されます)。独自の識別子(orderID)を持っているため、弱いエンティティではありません。 NOT NULL制約を省略した場合、OrderCustomerという関係に部分的に関与します。

私の答えはis optionality (mandatory, optional) and participation (total, partial) are same?

関連する問題