如果我的设计如上图所示,我想要另一张名为"最喜欢的水果"每个人只选择一个水果,将它作为水果表的弱实体{{1}}是否有意义?
答案 0 :(得分:0)
观看/敬请期待。如果实体具有属性/属性,即使在分区关系(" ISA"关系)中,实体也只存在于图中。
[...]我想要另一张桌子叫做#34;最喜欢的水果[...]"
也要小心。在概念模型中,没有表,而是实体。就像实体一样,关系也可以在以后成为表格。在这个阶段你可能会对使用这样的术语感到困惑。
就像用户reaanb在评论中所说的那样。关系/关系恰好表达了这一点:事物之间的关系(以及实体)。您需要记住为什么要在图中建立关系。总是问自己:
为什么这种关系存在?为什么我要在X和Y之间创建这个?我真的需要坚持这个吗?
您可以毫无问题地在两个实体之间创建多个关系,因为它们代表不同的事物(关系)。
现在。如果您知道用户有喜欢的水果,那么您知道这两个实体在某种程度上是相关的。因此,毫无疑问,我们有一段感情。
在你的情况下,如果用户总是有喜欢的水果,那么我们就有1-N的关系,其中N部分在用户中,因为水果可以成为许多用户的最爱。
另一方面,如果用户可能有或没有喜欢的水果,而您不想要具有可空值的字段,我们必须定义N-N关系。这种关系在分解时将成为一个表。在这种情况下,您将拥有一个只有两列的表。这两个是两个表的外键,"用户"和" fruits",它们也将成为此表的复合主键。因为不可能重复记录,在这种情况下,多个用户喜欢水果,设置"用户"列是唯一的。
如果您有任何疑问,请发表评论,我会回答。