📜  DBMS中的部分,唯一,辅助,复合和代理键

📅  最后修改于: 2021-08-25 18:46:57             🧑  作者: Mango

  1. 部分键:
  2. 用于唯一标识弱实体集的属性集称为“部分密钥”。使用部分键只能识别出一堆元组。弱实体集的部分Key也称为鉴别符。

    它只是键的一部分,因为只能使用它来标识属性的子集。它是部分唯一的,可以与其他强大的实体集组合以唯一地标识元组。

    部分密钥公寓编号以虚线显示。

    在这里,我们有一个公寓作为一个弱实体,而一个建筑则是一个通过“属于”关系集连接的强实体类型。公寓号码不是全球唯一的,即,一个以上的公寓在全球范围内可能具有相同的号码,但是对于特定建筑物而言,它是唯一的,因为一栋建筑物可能没有相同的公寓号码。因此,公寓号码不能是实体Apartment的主键,而是用虚线显示的部分键。

  3. 唯一键:
    它唯一地标识关系中的元组。与主键不同,一个表中可以有多个唯一键。它只能接受一个空值。它不能有重复的值,并且是不可更新的,即一旦分配就无法更新。

    例子 –
    唯一密钥的最佳示例是Voter ID。
    选民ID对所有公民而言都是唯一的。如果丢失,并且发布了另一个副本,则该副本始终具有与以前相同的编号。因此,它是不可更新的。很少有公民可能没有其选民编号,因此对他们来说,其值为NULL。

  4. 次要密码:
    这是一个候选键,未被选择为主键。例如,我们有以下模式:Student(Id,email,enroll_no,name)此关系的候选键为:ID,email,enroll_no
    如果我们选择Id作为主键,则email和enroll_no将成为关系的辅助键。
  5. 组合键:

    最初使用sqlplus早期版本,最多可以将16列组合到一个复合索引键中。但是,扩展了限制,我们可以组合任意数量的列(实际上没有用)

  6. 代理键:
    代理密钥是在内部生成的。
    示例:系统日期/时间戳记,计数器