一种数据库设计技术

A database design technique

我正在解决一个需要存储物品的问题。该项目可以由各种子项目组成。项目将具有名称、所有子项目的价格总和等属性。子项将具有颜色、形状、价格和名称等属性。

我想到了一个非常基本的方法,想知道这是否有效。 我们的想法是拥有一个数据库 table,其中每一行将包含 ItemId、ItemName 和子项属性。主键是 ItemId 和 SubItemName 的组合。

最频繁的操作是获取项目 X 的​​子项目 Y 的详细信息。

不知怎的,我觉得这种做法不干净。有没有更好的方法来实现同样的目标?

这是你的答案:

  1. 您可以在 item_category table
  2. 中存储项目的不同类别
  3. items table 将存储任意数量的项目
  4. 每个项目在 Sub_items table
  5. 中会有许多子项目

您可以增加或减少列数

干杯!!

这称为物料清单。您需要 parts/items 中的一个 table,以及一个 table,它存储父子之间的关系(或者在您的术语中,项目和子项目)。关键是您的子项可以有自己的子项,上面的 table 设计允许这样做。目前尚不清楚接受的答案是否允许这样做。