我试图更好地理解1-1与1-0..1的关系。
假设我有一辆汽车, SteeringWheel 和天窗
但是就实体而言,我不确定如何实现0..1:1关系。
以下是汽车与天窗之间的1:1关系,但应为1:0.1.。
如何使其成为1:0..1关系?
-------------- ONE TO ONE --------------
CAR SUNROOF
--------------- -------------
CarId PK -1----+ SunroofId
Model | Diameter
Year +--0..1- CarId FK, UNIQUE
答案 0 :(得分:1)
从数据角度看,您的设计正确地支持了这一点。要实现超过1:1的关系,您只需在Car和天窗之间使用左联接。这样,如果没有天窗行,则为NULL。但是,对CarId的唯一限制是,对于给定的汽车,它不仅可以防止单个天窗。
答案 1 :(得分:0)
我找到了我认为适用的链接。
Implementing one-to-zero-or-one relation in SQL Server
从本质上讲,它说所有1-1关系都是0..1-1。在那种情况下,实现方式是相同的。