Contents
  1. 1. 数据库主键和外键
    1. 1.1. 一: 什么是 主键 外键
    2. 1.2. 二: 外键的作用
    3. 1.3. 三: 主键的设计原则
    4. 1.4. 四: 数据库主键选取策略
    5. 1.5. 五: 外键
    6. 1.6. 参考

数据库主键和外键

一: 什么是 主键 外键

学生表(学号,姓名,性别)

学号是主键
课程表(课程号,课程名,学分)
课程号是主键
成绩表(学号,课程号,成绩)
学号/课程号 是外键

  • 如果公共关键字在一个关系中是主关键字,呢么这个公共关键字被称为另一关系的外键
  • 如果一个关系的外键作为主关键字的表被称为主表, 具有次此关键字的表被称为主表的从表

二: 外键的作用

  • 外键用于保持数据一致性, 完整性
  • 主要目的是控制存储在外键表中的数据

三: 主键的设计原则

  • 主键应当是对用户无意义的
  • 主键应该是单列的,以提高链接和筛选操作的效率
    • 复合键的使用通常出于两点考虑
      • 主键应当具有意义
        • 这被认为破坏了数据库提供了方便
      • 在描述多对多关系的链接表中可与使用两个外部键作为主键
        • 该表可能成为其他从表的主表,并成为从表主键的一部分,使得之后的从表包含更多的列
  • 永远不要更新主键
  • 主键不应该包含动态变化的数据(时间戳等)
  • 主键应当由计算机自动生成

四: 数据库主键选取策略

  • 自动增长型
  • 手动增长型
  • 使用UniqueIdentifier SQL Server提供一个UniqueIdentifier数据类型(16字节),并提供一个生成函数NEWID(),生成一个唯一的UniqueIdentifier
  • 使用COMB类型
    • 保留UniqueIdentifier的前10字节,后6字节表示生成时间

五: 外键

  • 外键的主要作用是用来控制数据库中数据的完整性,党对一个数据进行操作的时候,和他有关联的一个表或者多个表的数据能够同时发生改变

参考

https://www.cnblogs.com/buptlyn/p/4555206.html

Contents
  1. 1. 数据库主键和外键
    1. 1.1. 一: 什么是 主键 外键
    2. 1.2. 二: 外键的作用
    3. 1.3. 三: 主键的设计原则
    4. 1.4. 四: 数据库主键选取策略
    5. 1.5. 五: 外键
    6. 1.6. 参考