【发布时间】:2017-08-17 13:48:24
【问题描述】:
我正在设计一个新系统的数据库,其中我们有大约 5 个主表,即 ClientDwg、DwgMaster、ChildDwg、DwgMaterial、DwgComponent。所有这些表都有相同的 4 个键(在某种程度上也是主键),它们是 DwgNo、DwgType、DwgPart、DwgVersion。
现在我的问题是,我应该在每个表中都有上述四列的复合主键,还是应该有一个身份字段(id)作为主键?两者的起起落落会是什么?我真正担心的是,如果我创建了上述复合主键,那么在我的应用程序和数据库中,我将不得不在任何地方引用所有四个字段(进行连接、获取/更新数据等)。
编辑:我们基本上是从头开始为使用复合密钥思想的现有遗留应用程序编写新应用程序(应用程序是 vb6 和 oracle db)。在那种环境下实在是太让人头疼了。现在我们正在用 ASP.Net MVC 5 和 SQL Server 2016 重新编写应用程序。
【问题讨论】:
-
试过了吗?
标签: asp.net sql-server asp.net-mvc sql-server-2016