sql - 为什么一个SQL表有多个主键?

标签 sql primary-key primary-key-design

在我的工作(利用我的一些编程技能的非编程工作)中,我被要求从我们外包的定制程序的 SQL 数据库生成报告。

在查看表格时,我发现其中许多表格都将多个字段指定为 PK,这是为什么呢?与序列号、数字 ID 相比,它有什么优势?

最佳答案

数据完整性。键意味着防止重复数据进入数据库的唯一性约束。键有助于确保数据库中的事实可以正确地标识为它们应该描述的现实世界对象或概念。实际上,并非所有内容都可以或应该由单个列中的单个属性来标识。

注意:具有多个属性的键不是多个键。它仍然只是一个键(称为复合键)。

关于sql - 为什么一个SQL表有多个主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886650/

相关文章:

sql - 将int值转换为sql server中的日期时间

sql - 如何在 SQL Server 查询中连接文本?

mysql - 使用来自单独表的数据的 SQL JOIN

mysql - 使用 MySQL 中另一个表的数据填充表时,启动 auto_increment 值不起作用

mysql - 优化非常大的表查询

java - Hibernate 获取带有字符串前缀的下一个 ID

mysql - 为什么不允许在一个表中使用两个主键?

sql - 如何从查询中选择最后 x% 的行?

sql - @@IDENTITY 在 INSERT 语句之后总是返回 0

mysql - 在 MySQL 中同时使用 AUTO_INCREMENT 和 PRIMARY KEY 有什么意义?