我回答说表格只有一个主键,但可以有多个唯一约束条件。还有什么需要补充吗?
我回答说表格只有一个主键,但可以有多个唯一约束条件。还有什么需要补充吗?
以下是我能想到的一些差异:
以下摘自维基百科-唯一键-与主键约束的区别:
主键约束
唯一约束
很难说面试官可能在寻找什么。有很多选择。
在标准 SQL 中,声明为 primary key
的约束和声明为 not null unique
的约束在逻辑层面上的行为是相同的。例如,这两个都可以成为外键引用的目标。面试官可能想知道关于 null
如何适用于此。一个裸的 unique
约束允许空值;在 T-SQL 中,主键约束隐式地声明每个列为 not null
。
或者面试官可能想看看你是否区分了唯一的 约束 和唯一的 索引。据我所知,每个 DBMS 都通过使用唯一索引来实现唯一约束。但约束表达了关于数据库的逻辑层面的内容,而唯一索引则表达了关于数据库的物理层面的内容。
特别是 SQL Server
面试官可能想看看你是否知道一些计算列(但不是所有计算列)可以被索引。 (这是一个小概率事件。)
也许面试官想知道你是否会谈到集群。在SQL Server中,主键约束默认为clustered
,而索引默认为nonclustered
。