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

📅  最后修改于: 2021-09-09 11:39:06             🧑  作者: Mango

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

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

    Partial Key 公寓号以虚线显示。

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

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

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

  4. 次要钥匙:
    它是一个没有被选为主键的候选键。例如,我们有模式:Student(Id, email, enroll_no, name) 这个关系的候选键是:ID, email, enroll_no
    如果我们选择 Id 作为主键,则 email 和 enroll_no 成为关系的次键。

  5. 复合键:

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

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