我在我的数据库中设计了一个表格,如下所示:
表:公司
ID_Company Name City Parent_Company
1 Alpha Paris 3
2 Beta New York 3
3 Delta London 4
4 Gamma Sidney -
该领域" ParentCompany"将存储" ID_Company"值。
这是一个好的设计还是我应该创建一个单独的表" Parent_Companies"并复制数据?
答案 0 :(得分:0)
您正在使用常见的设计模式 - 自我引用表。 这没什么不好的
答案 1 :(得分:0)
这是一个很好的设计,一个表引用本身就非常好。这是你设计层次结构的方式。
为' Parent_Company'添加外键。列到您的ID_Company列以强制执行约束并具有数据库完整性。
ALTER TABLE [Companies] WITH CHECK ADD CONSTRAINT [FK_ParentCompanu] FOREIGN KEY([Parent_Company])
REFERENCES [Companies] ([ID_Company])