使用一组4列将行标识为唯一的(一种是前键,另一种是float数据类型)是一种好习惯(或者会产生不利影响)吗?我正在尝试构建一个表(链接了4个键),该表将描述表中的唯一条目。我很好奇这是一个好的进攻计划还是有更好的方法。
出于视觉目的,请绘制下表。我们的库存项目的组织方式如下表所示:([K]
是主键的象征,线是关系)
Sheet_Class Sheet_Type Sheet_Size
=========== ========== ==========
[K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size
'---- Sheet_Class '---- Sheet_Type
Length
Width
Thickness
数据可以通过以下方式呈现,但是为了简洁起见,我不介绍链接的列:
Sheet_Class Sheet_Type Sheet_Size (Tables)
[Sheet_Class] [Sheet_Type] [Length], [Width], [Thickness] (Column Values)
============= ============ ==============================
Aluminum
5052-H32
48, 96, 0.032
48, 96, 0.040
48, 96, 0.063
6061-T6
60, 120,0.032
60, 120,0.040
60, 120,0.063
Steel
1018-CRS
48, 96, 0.018
48, 96, 0.023
48, 96, 0.031
就目前而言(我在上面的“模式”中已显示),我在Sheet_Size表中的条目中使用了一个简单的(自动递增)整数主键。但是,我想知道最好使用Sheet_Type,Length,Width和Thickness列的组合来代替吗?鉴于Sheet_Size中的每个条目都应该共享所有这些独特的特质,并且自动递增字段不能充分说明这一点,这是最好的方法吗?
如果我对这种情况的解释不够充分,请告诉我。我发现自己需要分解库存材料的这些部分(类别vs.类型vs.实际库存大小)以用于其他逻辑目的,但是我可以接受任何其他类型的反馈。
任何指导将不胜感激。
更新(08-12-2011)
发布答案后,我决定将Mark的答案和X-Zero的答案结合起来。我认为在长度,宽度和厚度列上设置唯一的约束是一个好主意,但我也喜欢将材料尺寸分成唯一的行并将它们与关系链接的想法。
不幸的是,我不能同时接受这两个答案,因此我将接受X-Zeros(以我的看法)对问题进行更严格的评估并提供模式调整。
谢谢大家的回答。