- 部分密钥:
- 唯一键:
它唯一标识关系中的元组。与主键不同,一张表中可以有多个唯一键。它只能接受一个空值。它不能有重复的值,并且它是不可更新的,即一旦被分配就不能更新。例子 –
唯一密钥的最佳示例是选民 ID。
选民 ID 对所有公民都是唯一的。如果它丢失并发布了另一个副本,则副本的编号始终与以前相同。因此,它是不可更新的。很少有公民可能没有他们的选民 ID,所以对他们来说,它的值为 NULL。 - 次要钥匙:
它是一个没有被选为主键的候选键。例如,我们有模式:Student(Id, email, enroll_no, name) 这个关系的候选键是:ID, email, enroll_no
如果我们选择 Id 作为主键,则 email 和 enroll_no 成为关系的次键。 - 复合键:
最初使用 sqlplus 早期版本最多可以将 16 列组合成单个复合索引键。但是,限制被扩展,我们可以组合任意数量的列(实际上没有用)
- 代理键:
代理键是内部生成的。
示例:系统日期/时间戳、计数器
用于唯一标识弱实体集的属性集称为部分键。使用部分键只能识别一组元组。弱实体集的部分 Key 也称为鉴别器。
它只是密钥的一部分,因为使用它只能识别属性的子集。它是部分唯一的,可以与其他强实体集结合以唯一标识元组。
在这里,我们将公寓作为弱实体,将建筑物作为通过“属于”关系集连接的强实体类型。公寓编号不是全球唯一的,即多个公寓可能在全球范围内具有相同的编号,但对于特定建筑物而言它是唯一的,因为建筑物可能没有相同的公寓编号。因此,公寓号不能是实体公寓的主键,而是用虚线显示的部分键。