数据库设计问题(未知列数?)

Mat*_*son 0 sql database-design

我刚开始学习数据库/ SQL之类的旅程.我决定为我工作的公司之一制作一些数据库,并帮助我们组织一些.

其中一个表格将简单地包含我们库存中包含的所有单个部分,例如:PartNumber,Description和StockQty.

另一个表格将包含我们制作的所有硬件套件.所有这些都由我们库存中的零件组合而成.

我最初的想法是有以下列:PartNumber,KitName,Part1Number,Part1Qty,... PartNnumber,PartNQty等.Parts列中的数字将是第一个表中项目的部分号.

因此,由于并非所有套件都具有相同数量的零件,我只需知道最大套件中有多少零件,并制作多个零件列.但是如果我必须添加一个包含更多零件的新套件呢?

有一个更好的方法吗?

任何建议将不胜感激!

谢谢!

gna*_*nab 13

你应该把你的第二张桌分成两个新桌子,一个用于套件,一个用于属于套件的零件.

需要的表:

PARTS(PartNumber, Description, StockQty)
KITS(KitNumber, KitName)
KITSPARTS(KitNumber, PartNumber, PartQty)
Run Code Online (Sandbox Code Playgroud)

这样,您可以为KITSPARTS属于工具包的每个唯一部件向表中添加条目.

样本数据:

PARTS
1, "Apple", 1
2, "Orange", 2

KITS
1, "Salad"

KITSPARTS
1, 1, 1
1, 2, 1
Run Code Online (Sandbox Code Playgroud)

样本数据模拟了一个单独的工具包"沙拉",有两个部分; 1"Apple"和1"Orange".