我有以下情况:
- 一个客户可以拥有一个服务
- 一项服务可以在不同的地方进行
我想在服务名称更改时使用规范化(因此一个客户应该有一个FK到Service表?)。我无法想象在这种情况下如何保持1:1(我24小时醒来,几乎没想到但需要完成它)
我问我已经在这里读过,1-1总是一个表,一个对象。但我相信情况并非如此,例如在我给出的示例中 - 客户只有一个服务,但服务名称可能会更改,因此将FK引用到服务中的客户表是否正确?
答案 0 :(得分:1)
一个客户可以拥有一个服务
“可以”暗示0:1的关系。您将可引用的外键引用到Customer行中的Service表行。
一项服务可以在不同的地方进行
对于n:m关系,其中n可以是1,您创建一个junction table,其中包含Service表和Place表的键。
ServicePlace
------------
Service ID
Place ID
主(群集)密钥是服务ID和地方ID。如果某个地方可以有多个服务,您还可以在地点ID和服务ID上创建索引。