【发布时间】:2020-10-26 10:14:18
【问题描述】:
我在 Parkings 和 Cars 之间有一个名为 Includes 的关联。
这是一个双方都偏的一对多关联,因为一个停车场可以包含零个或多个汽车,而一个汽车可以包含零个或一个停车场。
我会在 Cars 表中添加与停车场相关的 FOREIGN KEY,但汽车并非总是在停车场内。
如何处理这种情况?
【问题讨论】:
-
当汽车不属于停车场时,请离开 FK
NULL。 -
那个停车太马虎,占了两个车位的人怎么办?
-
这是一个常见问题解答:有大量关于如何处理“缺失信息”的文本。我说“缺失”是因为这是常用术语,但它具有误导性:空的
lot并不意味着缺少任何car;car当前不在lot中并不意味着汽车在任何特定的lot中丢失。所以在这种情况下,我宁愿说“不适用”或“不给定”;在其他示例中,您可能会说“未知”。 -
AntC 和我对模型的理解似乎有所不同。这是关于汽车和停车场的吗?给出一个简短的数据集,至少举例说明 1:many, missing, zero, zero on the other side等有效情况。
-
我将拒绝@RickJames 对他的回答发表评论的邀请:对于一个非常常见的“问题”,StackOverflow 不需要更多答案。没问题:一套完全日常的数据库设计要求。搜索“缺失信息”和/或“避免 NULLS”。这里有一些初学者,其中包括更多链接stackoverflow.com/questions/21208459/…stackoverflow.com/questions/3079885/…
标签: mysql database database-design relational-database