我正在寻找对我们的数据库设计师提出挑战的设计难题的方向。我搜索了档案和谷歌并没有得出任何结论,尽管我怀疑这是一个简单/新手类型的问题。
我们有一个存储事件位置的表。它被称为位置表。该表要求 LocationCode 是唯一的。该表还要求 LocationName 是唯一的。然而,在现实世界中,有时虽然两个地点存在于不同的地方,但它们将具有相同的名称(例如,两个具有相同名称的学校存在于同一州的不同县)。一位设计师坚持认为应该通过在名称上附加一个值来强制名称不同,例如县名(例如联合高中 - 弗朗西斯县)。她这样做的理由是确保“受控词汇”。另一位设计师坚持应该允许名称相同,因为这反映了现实,并且应该使用 LocationCodes 来强制/跟踪唯一性。
我倾向于第二位设计师的方向——名字应该允许不同。我能想到的一个可比较的例子是人们经常使用相同的名字(例如 Jane Doe)。在存储有关人员的联系信息的表中,似乎不会强制要求姓名不同,而社会保障代码将完成跟踪唯一性的工作。
那么对于这个问题是否有一般的指导方针或标准?指向有用文档的链接会很棒。提前致谢。