数据建模新手,请裸露。
我正在创建两个表,如下所示
TABLE [ProductGroups]
[ProductGroupID] int PK
[ProductGroupName] nvarchar(50)
[Active] bit
TABLE [ProductGroupDetails]
[ProductGroupDetailID] int PK
[ProductCodeID] int
[ProductGroupID] int FOREIGN KEY REFERENCES [ProductGroups](ProductGroupID)
[ProductCodeLevelID] int
表ProductGroupDetails中的ProductCodeID和ProductGroupID列可以一起用作组合主键,但我添加了ProductGroupDetailID列来代替代理主键。
这是正确的方法吗?
我知道拥有不自然的密钥作为PK将有助于适应业务需求。也是
从性能的角度来看,将ProductGroupDetailID上的集群主键与对自然键列ProductCodeID和ProductGroupID的唯一约束结合在一起会带来任何好处。
让我知道是否需要进一步澄清。