外键是相对于主键说的,是建立表之间 的联系的必须的前提。 比如:学生表 、学生成绩表一一对应是因为 他们都具有相同的字段:学号,把学生表作为主表,学号是他的主键,相对于主表来说,学生成绩的字段 学号就是学生表的外键。
最直观的作用是防止非法数据录入,就是说录入外键数据时必须在它所属的主表中存在相应数据,如果录入空字符或其他数据会报错。 从软件工程的角度看,建立数据库的过程,是从建立物理模型开始的。在物理模型中创建了外键,那么在转化成概念模型甚至于生成sql代码时,就会自动生成相应字段,而不用重复定义。