【发布时间】:2012-12-13 12:33:47
【问题描述】:
我们有一个数据库,我们记录了一些产品在生产过程中的测试结果(记录日期时间、产品序列号和测试结果)。
当产品包装好后,我们每个盒子里有不止一件产品,现在我们想记录什么产品放在什么盒子里。
将添加一个 Box 表,其中包含 ID 和我们需要的任何其他列。一个 BoxID 列将添加到 Product 表中。那么我们有2个选择:
1) 使 BoxID 成为链接到 Box 表中 ID 列的外键。这有点难看,因为我们必须创建一个特殊的盒子(ID 为 0 或其他),其中包含所有现有产品,因为我们没有它们的信息,但需要一些 BoxID,因为它是外键。
2) 使 BoxID 可以为空并且不要使其成为外键。现有产品的 BoxID 为 NULL,这是正确的,因为我们没有信息,但它有点难看,因为它没有强制新产品的引用完整性。
我们应该选择哪种解决方案?还是我们应该做点别的?
【问题讨论】:
标签: sql sql-server