外键是什么?
“外键”(foreign key )是一个或多个列,用于建立和增强两个表数据之间的链接。 可以通过向另一个表中添加一个或多个列来创建两个表之间的链接,这些列保存表的主键值。 此列将成为第二个表的外键。
为什么要用外键? 保证数据的参照完整性。
不做也可以吗?
不用也没关系。 只要是健壮的系统,数据库中的数据就一定具有良好的参照完整性。 如果不使用外键,就必须写很多代码来额外判断数据的完整性。
外键的作用很重要,建议在数据库中使用。
下面举一个栗子就知道了。
例如,有两个表。 一份是学生档案,另一份是上学期间的成绩单
文件中有学校号码、名字。 (学号为主键)
有成绩单(这里尽量简化)的学期编号、学校编号、平均分数)学期编号、学校编号这两个同时是主键,学校编号同时是外键)。
为保证成绩单数据有效,要求输入学校编号时,必须保证文件中有这个学校编号。 否则,不能输入。 这样就保证了成绩单成绩数据的引用是完整的,否则就是垃圾数据。
用程序控制的话,有很多缺点; 输入成绩单时,为了保证学校号码有效,必须先搜索文件。 文件大的情况下,影响效率。 程序控制并不保证引用的完整性,特别是并发操作。
说明特殊情况。 主要说明程序控制不好。 本例的操作流程是否正确并不重要,但表明控制程序不是一个好方法。
例如,a正在输入成绩单,b正在编辑文件。
a输入cjdkh成绩并保存时,搜索cjdkh存在,程序下一步保存,此时b正好删除了cjdkh。 但是,因为不知道a端的程序,所以把垃圾数据保存在了数据库里。
更多的网络开发知识,请浏览HTML中文网!