是否正确的数据库设计查找表

时间:2018-05-18 03:16:47

标签: sql-server database

我正在创建一个SQL Server数据库,该数据库将在web api中用于Web应用程序和移动设备。

我一直使用查找表(例如:类别查找表)并引用ID(带有CategoryID的产品表)

我不知道我是否使用旧方法做到这一点。

Categories (Lookup Table)
---------
CategoryID
CategoryName


SubCategories (Lookup Table)
----------
SubCategoryID
SubCategoryName
CategoryID

Products
--------
SubCategoryID
ProductName

.....

我的问题是,这仍然是正确的方法吗?或者我是否跳过查找表并直接调出SubCategory?

Products
------
SubCategoryName
ProductName

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

你可以在两个方面做到这一点 1.

类别(查找表)

类别ID 类别名称

子类别(查找表)

SubCategoryID SubCategoryName 类别ID

产品

产品名称 类别ID SubCategoryID

使用外键链接两个id,它是标准化的方式

  1. 您的问题的答案就在这里。 如果你想要更多的浪费方式,你可以接近非规范化的结构。
  2. 类别(查找表)

    类别ID 类别名称

    子类别(查找表)

    SubCategoryID SubCategoryName 类别ID

    产品

    产品名称 分类名称 SubCategoryname

    在Products表上创建一个insert / update触发器,以确保Categoryname / subCategoryname有效。将保持数据一致性。

    您将从此方法获得更快的数据。