我应该选择具有索引主键和键的唯一列具有多个值?

我有2表与许多 - 许多关系。所以我使用第三个表格将2个表格映射在一起。我不知道应该在自动递增的整数主键之间进行选择,然后在其他键上使用唯一索引或使用主键有很多值。每种方式有哪些好处?我应该选择具有索引主键和键的唯一列具有多个值?

感谢很多

回答:

在Microsoft SQL Server数据库有一个PRIMARY KEY约束和非空列UNIQUE约束之间没有显著差异。主键基本上只是语法糖。公约和个人偏好是使用PRIMARY KEY约束的最常见原因。

在任何DBMS中,真正重要的是您拥有哪些密钥以及如何使用它们,而不是您指定为“主”的那些密钥。

回答:

理论上数据建模的,两种解决方案都是正确的。

但在实践中:最好使用第二种解决方案。
采用新的自动递增ID并将其设置为主键并将两个传输的外键设置为唯一(一起)。

优点:
数据的冗余: 假设我们有一个名为两个表和B型和AB是新创建的中间表(因为很多一对多的关系)。
现在如果AB与C有一个新的关系(一对多)。我们应该将AB的Primary-Key作为外键传递给C.所以最好转换ID而不是两个属性。如果C与D具有新的关系(一对多),那么也是如此,等等。

缺点:
访问性能,以标识:虽然在第一个解决方案的冗余,但有一个性能的访问标识,而无需使用任何连接。 (假设在表C中,我们想要访问A和B的ID。)但是,访问只有到ID没有太多的用处。

以上是 我应该选择具有索引主键和键的唯一列具有多个值? 的全部内容, 来源链接: utcz.com/qa/259502.html

回到顶部