我在这里查看最佳实践方法。我有一个网页,其中有几个下拉选项。下拉菜单不相关,它们用于杂项。值(位置、建筑规范等)。数据库现在每组选项都有一个表(例如建筑规范表、位置表等)。我想知道我是否可以将它们全部组合到一个表中(称为 listOptions),然后只查询那个表。
Location Table
LocationID (int)
LocatValue (nvarchar(25))
LocatDescription (nvarchar(25))
BuildingCode Table
BCID (int)
BCValue (nvarchar(25))
BCDescription (nvarchar(25))
而不是上面的,有什么理由我不能这样做吗?
ListOptions Table
ID (int)
listValue (nvarchar(25))
listDescription (nvarchar(25))
groupID (int) //where groupid corresponds to Location, Building Code, etc
现在,当我查询表时,我可以将 groupID 传递给查询以提取我需要的其他值。
最佳答案
放入一张表是一种反模式。这些是不同的查找,您不能在数据库中强制执行参照完整性(这是执行它的正确位置,因为应用程序通常不是数据更改的唯一方式),除非它们位于单独的表中。如果您需要额外查找,数据完整性远比节省几分钟的开发时间重要。
关于sql-server - 数据库设计 - 最佳实践 - 一个用于 Web 表单下拉选项的表格或用于每个下拉选项的单独表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433128/