外键
- 思考:怎么保证关系列数据的有效性呢?任何整数都可以吗?比如一个班级表中有班级编号,班级名称,班级位置。还有一个学生表,有学生编号,学生姓名,学生 性别,以及班级编号等。
- 答:必须是学生表中班级编号列存在的数据,可以通过外键约束进行数据的有效性验证
外键作用数据完整性。
班级表可以叫做父表(主表):class,字段classno,该表的主键
学生表可以叫做子表(从表):student,字段sid是该表的主键,classno是该表的外键
父表:department,字段deptno,该表的主键
子表:employee,字段empno,该表的主键,deptno,该表的外键
子表的外键是父表的主键。
- 当对于子表插入数据,外键字段的数值不能随便插入,而取决于父表的主键数值。
- 对于父表的删除操作,要看子表中是否有记录引用该数值。