为什么很多人都指的是一对一,当我确定他们指的是多对一?一对一映射混淆
例如,如果你有两个表;
Inventory (InventoryID)
Item (ItemID, InventoryFK)
据我所知,这里没有一对一的映射。这是“多个项目到一个清单”。
现在,我们假设每个库存只有一个项目。在这种情况下,我的同事们会开始称它为“一对一”。我是否正确指出它是仍然是多对一的关系?当我试图向他们解释这一点时,他们似乎并不理解。
我认为适当的一个一对一的映射是这样的:
Person (Column: PersonID, Name)
PersonAddress (Column: PersonID, StreetName, StreetNumber)
在这里你有两个表,共享完全相同的PK。
假设我的假设是正确的,为什么这么多人滥用术语“一对一”?
我不知道有人滥用这个词。顺便说一下,Person to Address也可能是一对多的关系。在极少数情况下,人们可能有多个地址。 –
实际上,要解决的人甚至可能是多对一的,甚至多到很多,因为任何与十二个其他令人厌恶的slo shared共享挖掘的学生都可以证明:-)如果您在'InventoryFK'中添加了一个唯一的约束条件,那么您会认为:-) – paxdiablo
有一对一的关系......只是因为有一个外键,它并不意味着你有一对多的关系。对我来说,你将“数据模型”(你的元素是如何相互关联的)与“数据库模型”(数据库的实现)混合起来 – pleasedontbelong