为实体存储备用名称并将其链接到“主”记录以滚动数据,最佳做法是什么?具有主参考的“备用”名称的数据库设计
例如,我有一个公司的名单;
id name
1 Orange Kid Industries
2 Apple Kid Inc.
5 O.K.
公司5 O.K.
为1 Orange Kid Industries
的替代名称。这些公司需要谨慎地存储,以便如果儿童记录需要被绑定到5而不是1(为了存储历史数据(例如,如果公司名称改变),它可以)。
我需要将5 O.K.
返回1 Orange Kid Industries
作为“主”记录,因此,在查看所有1 Orange Kid Industries
的孩子时,我看到所有1和5的孩子合并在一起。
我倾向于所有记录所需的主ID。如果用户创建一个新公司6 Moldy Orange Kid Industries
,他可以为其分配一个主ID为1来表示这是1 Orange Kid Industries
的另一个名称。
id name master
1 Orange Kid Industries 1
2 Apple Kid Inc. 2
5 O.K. 1
6 Moldy Orange Kid Industries 1
这似乎是最简单的路线,不需要太多的冗余数据。这种方法有什么缺点吗?
堆栈交换问答格式不适合征询意见的问题。请参阅[常见问题](http://stackoverflow.com/faq#dontask)。 – Oded 2012-03-12 15:52:27