2008年第2期科技探索外键杂议一二蒋景行(武汉科技大学中南分校信息工程学院,湖北武汉430223)摘要:外键是关系数据库的重要概念。本文谋求对外键比较直观、比较通俗的理解,同时就一些教科书中几个关于外键的叙述提出粗浅的看法。关键词:关系数据库;外键中图分类号::A在关系数据库里,外键是个重要概念。外键的定义,教科书给出的往往综合性强,涩于理解。例如:在关系模式R(U)中,若属性或属性组x不是关系R的关键字,但x是其它关系模式的关键字,则称x为关系R(U)的外关键字(外关键字即外键,关键字即主键)。对于定义的诠释,外键应用的实例,往往分散在各个章节。这使得相互比照着理解外键变得不容易。本文谋求对外键比较直观、比较通俗的理解。同时就一些教科书中几个关于外键的叙述提出粗浅的看法。1外键的功能数据库中的表必须符合规范,才能杜绝数据冗余、插入异常、删除异常等现象。规范的过程是分解表的过程。经过分解,伺一事物的代表属性出现在不同的表中。显然,它们应该保持一致。例如,某学生的代表数据是学号012,在学生表里是012,在成绩表里也应该是012。这种一致性由外键实现。外键的功能是:它的值一定是另一个表的主键值。学号在学生表里是主键,在成绩表里是外键。成绩表里的学号一定要是学生表里的学号。于是,学生表里的学号和成绩表里的学号就一致了。可以直观地理解,外键的功能是实现同一事物在不同表中的标志一致性。2功能的实现由外键联系的两个表,在单独操作时,外键功能由两种方法实现:(1)从表插入新行,其外键值不是主表的主键值便阻止插入;(2)从表修改外键值,新值不是主表的主键值便阻止修改;.(3)主表删除行,其主键值在从表里存在便阻止删除(要想删除,必须先删除从表的相关行);(4)主表修改主键值,旧值在从表里存在便阻止修改(要想修改,必须先删除从表的相关行)。(1)主表删除行,连带从表的相关行一起删除;(2)主表修改主键值,连带从表相关行的外键值一起修改。两种方法提供给用户选择。无论选取哪种方法,从表里都不会有多余行。从另一个角度理解,用拒绝同一事物在从表中的标志与主表不一致来实现与主表中的标志一致。两种实现方法,通过下面方式选择:(1)界面:设级联更新、级联删除两个选择方框,选取则级联执行、不选取则阻止执行;(2)命令:设E)kSCM)E、RESTRICT两个可选收稿日期:2008一O3一l2作者简介:蒋景行(1945一),男,湖南邵阳人,武汉科技大学中南分校信息工程学院高级工程师。维普资讯中南论坛2008年第2期项,CASCADE为级联执行、RESTRICT为阻止执行。3在两个实体关系表中各自增加一个外来键的方法不能实现一对一联系实现两个表的一对一联系,多本教科书提出一种方法,实录一处如下:1:1联系到关系模式的转化这种联系在两个实体关系表中各自增加一个外来键即可。例如:经理(姓名,民族,住址,年龄,电话,名称)公司(名称,注册地,类型,电话,姓名)名称和姓名分别是公司和经理的码(关键字),在经理和公司两个关系表中,为了表明两者间的关系,各自增加了对方的码作为外来码,当两个表中出现这样的元组时:(张小辉,汉,北京前门大街156号,48,68705633,京广实业公司)(京广实业公司,北京复兴门外大街278号,有限责任,6
外键杂议一二.pdf 来自淘豆网m.daumloan.com转载请标明出处.