复合或唯一主键重复

时间:2017-01-11 15:29:36

标签: sql-server database primary-key composite-primary-key

所以我正在创建一个db,我可以选择tableA或tableB。请注意,在当前概念中,InstanceID,slabID和ChangeID几乎在每个表中都会重复,因为只有与表特定的NO或键结合使用时,它们才能唯一标识每一行。

  

我担心的是这个复合主键是否会太大而不能影响性能,或者据我所知它只会给表格提供行的逻辑排序?

请参阅下面了解更多详情..

表A-分层
InstanceID(PK,FK)(Tinyint)---整个施工都是1,除非进行新的施工 SlabID(PK,FK)(Tinyint)---范围在1-25之间,就像地板上的瓷砖一样 如果建筑物在完工后被改变,则ChangeID(PK,FK)(Tinyint)---将从1增加 LayerSeq(PK)(Tinyint) - 基础层序列,范围从1-10 LayeringCode(PK)(Varchar(1)) - 表示材料的字母代码


其他分层变量

另一种选择是:
表B-分层
InstanceID(FK)(Tinyint)---整个施工都是1,除非进行新的施工 SlabID(FK)(Tinyint)---范围在1-25之间,就像地板上的瓷砖一样 如果建筑物在完工后改变,则ChangeID(FK)(Tinyint)---将从1增加 LayerID(PK)(未定) - 这将是Instance,Slab,Change,Layerseq,代码或仅具有自动增量的代理键的某种组合
LayerSeq(Tinyint) - 基础层序列,范围从1-10
LayeringCode(Varchar(1)) - 表示材料的字母代码


其他分层变量

感谢您的帮助!

0 个答案:

没有答案