【发布时间】:2017-05-22 17:43:06
【问题描述】:
引用维基百科,弱实体“必须使用外键及其属性来创建主键。” ,并且“存在依赖于另一个实体”。 但是如果没有(部分)PK和FK,一个实体就不能依赖于另一个实体的存在吗?
在经典的 Order - OrderLine - Product 关系中,OrderLine 是一个弱实体,因为它的 PK 由来自其他实体的两个 FK 组成,比如 orderID 和 productID。
但是 Order 实体呢?假设它看起来像这样:
Order( orderID - not null, Primary key,
costumerID - not null, Foreign key,
date,
status,
...)
很明显,如果没有客户(costumerID),订单就不能存在,但同时,costumerID 不是主键的一部分。
- 那么,在这种情况下,Order 实体是弱实体吗?
- 如果我们省略了 FK customerID 的 NOT NULL 约束怎么办?秩序不再是一个弱者,对吧?
【问题讨论】:
标签: database-design entity-relationship