先看一个例子
例如:
- 在一张学生表中, 有 " 学号, 姓名, 性别, 班级 " 4个属性. 而只有 "学号" 是唯一可以标识是哪位同学的, 因此将这张学生表的学号设置为 "主键"
- 在一张课程表中, 有 " 课程编号, 课程名, 学分 " 3个属性, 而只有 "课程编号" 是唯一可以标识是哪门课程的, 因此将这张课程表的课程编号设置为 "主键"
- 而在一张学生成绩表当中, 单一一条属性是无法唯一标识一条记录的, 因此需要将 "学号" 和 "课程编号" 这两个属性组合起来才能唯一标识一条记录, 因此将 "学号" 和 "课程编号"组合起来的属性组设置为 "主键"
1. 什么是主键
关系型数据库中的一条记录中有若干个属性, 若其中某一个属性组(注是组)能唯一标识一条记录, 该属性组就可以成为一个主键
2. 什么是外键
外键又称作外关键字
如果公共关键字在一个关系中是主关键字, 那么这个公共关键字被称为另一个关系的外键.
例如: 学生表中的学号是学生表中的主键, 但并不是成绩表中的主键, 它只有和课程编号组合起来的属性组才是成绩表中的主键, 但成绩表中的学号和学生表中的学号相对应, 因此称为, " 成绩表中的学号是学生表中的外键." 同理, 成绩表中的课程编号是课程表中的外键
以另一个关系的外键作为主键的表被称为主表, 如: 学生表, 课程表
具有此外键的表被称为主表的从表. 如: 成绩表