ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 引用完整性

引用完整性

原创 Linux操作系统 作者:babylonia 时间:2009-10-07 10:46:14 0 删除 编辑
        引用完整性指被引用表中的主关键字和引用表中的外部主关键字之间的关系。如被引用行是否可以被删除等。
  在现实生活中的实体之间总是存在着某种联系,在关系模型中实体与实体之间的联系都是用关系来描述的,这样就存在关系与关系之间的引用。例如,有学生实体和班级两个实体集合:
  学生(学号,姓名,性别,年龄,班级编号)其中学号为主码。
  班级(班级编号,学生数量,班主任姓名),其中班级编号为主码。
  这两个关系之间存在着属性的引用,即学生关系引用了班级关系的主关键字"班级编号",显然,学生关系中的"班级编号"值必须是在班级表中确实存在的班级的班级编号,即班级关系中有该班级的记录。这说明学生关系中某个属性的取值要参照班级关系的属性取值。
  在这种情况下,"班级编号"不是学生关系的主关键字,但是却是班级关系的主码,则称"班级编号"是学生关系的外关键字。
  外关键字的定义:
  设FK是基本关系R的一个或一组属性,但不一定是关系R的主关键字。如果FK与基本关系S的主关键字相对应,则称FK是基本关系R的外关键字,并称基本关系R为引用关系,基本关系S为被引用关系。
  在上例中,"班级编号"是学生关系的外关键字,学生关系是引用关系,班级关系是被引用关系。
  引用完整性就是定义外关键字与主关键字之间的引用规则。如果要删除被引用的对象,那么也要删除引用它的所有对象,或者把引用值设置为空(如果允许的话)。例如,前面的学生和班级关系中,删除某个班级元组之前,必须先删除相应的引用该班级的学生元组。这就是引用完整性。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12712263/viewspace-616070/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 减少对表的查询
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-01-31

  • 博文量
    44
  • 访问量
    41447