Answers:
形式上,“弱”实体具有以下特征。
1. It is existence-dependent on another entity, i.e.,
it cannot exist without the entity with which it has a relationship.
2. It inherits at least part of it's primary key from the entity to which
it is related.
i.e. -> A weak entity's primary key must be a composite key that includes
the primary key of the entity on which it is existence-dependent.
我要说的是,实际上,您不会公开地决定将某事物本身变成一个“弱”的实体。相反,您可以对数据进行结构化以代表您要建模的任何内容。如果在执行完此操作之后,您查看了一个特定的实体,并且该实体具有“弱”实体的特征,那么您可以出于某种原因(如果出于某种原因)需要明确指出这一点或出于某种原因而对其进行记录或绘制图表的形式。
请参阅,订单有很多订单项(多值属性)。因此,根据规则,我们创建了单独的表。
现在,假设2个客户具有相同的订单。例如,双方都以相同的价格,折扣,相同的日期等购买iPhone。因此,理想情况下,iPhone的订单项应该有两个确切的元组。但是根据关系的约束,所有元组都应该是唯一的。因此,让两个订单关联到相同的item_line_number。到现在为止没有问题。现在考虑客户取消之一。如果是iPhone订单。还将删除item_line_number元组。现在,其他购买iPhone的客户也因为M:1对应关系而被删除。所以最后数据库是不一致的。这就是为什么我们使用一个描述符字符作为orderid。因此删除订购的一部iPhone不会导致数据库损坏。
OrderItem
取决于,Order
因为不orderItems
存在不存在就不可能存在order
,但是我不明白为什么我不能ItemLineNumber
只用来识别物品?!实际上,我可能只是ItemLineNumber
自动生成int
以确保唯一性并使用外键orderID
将两个实体链接在一起?