第2章关系数据库363.ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章关系数据库363

* 为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性: 实体完整性 参照完整性 用户定义的完整性 1. 实体完整性(Entity Integrity) 实体完整性是指主键的值不能为空或部分为空。 关系模型中的一个元组对应一个实体,一个关系则对应一个实体集。 例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。 关系模型的完整性 * 现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以主键来唯一标识元组。 例如,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。 如果主键中的值为空或部分为空,即主属性为空,则不符合键的定义条件,不能唯一标识元组及与其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区分的事实相矛盾。因此主键的值不能为空或部分为空。 例如,学生关系中的主键“学号”不能为空;选课关系中的主键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。 * 现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。 例1: 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 例2: 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 2.? 参照完整性(Referential integrity) * S(学生关系)        D(系别关系) SNO 学号 SN 姓名 SEX 性别 AGE 年龄 DEPT 所在系 S1 赵亦 女 17 计算机 S2 钱峰 男 18 通信 S3 高原 男 18 播音 … … … … … S11 王威 男 19 DEPT 所在系 ADDR 地址 计算机 1号楼 通信 3号楼 自动化 2号楼 图2.2 学生表和系别表 取空值,则表示该学生尚未分配到任何一个系 “播音”在系别关系中不存在,表示把该学生分配到一个不存在的部门中,显然不符合语义 * 定义2.5 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。 外码(Foreign key) 参照关系(Referencing relation) 被参照关系(Referenced relation) 目标关系(Target relation) 关系R和S不一定是不同的关系。 2.? 参照完整性(Referential integrity) * S(学生关系)        D(系别关系) SNO 学号 SN 姓名 SEX 性别 AGE 年龄 DEPT 所在系 S1 赵亦 女 17 计算机 S2 钱峰 男 18 通信 S3 高原 男 18 播音 … … … … … S11 王威 男 19 DEPT 所在系 ADDR 地址 计算机 1号楼 通信 3号楼 自动化 2号楼 图2.2 学生表和系别表 取空值,则表示该学生尚未分配到任何一个系 “播音”在系别关系中不存在,表示把该学生分配到一个不存在的部门中,显然不符合语义 * 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:  或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。 如图2.2所示,学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。 如果某个学生(如s11)“系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只能取专业关系中某个元组的专业号值。 * S(学生关系)        D(系别关系) SNO 学号 SN 姓名 SEX 性别 AGE 年龄 DEPT 所在系 S1 赵亦 女 17 计算机 S2 钱峰 男 18 信息 S3 高原 男 18 播音 … … … … … S11 王威 男 19 DEPT 所在系 ADDR 地址 计算机 1号楼 信息 1号楼 自动化 2号楼 图2.2 学生表和系别表 取空值,则表示该学生尚未分配到任何一个系 “播音”在系别关系中不存在,表示把该学生分配到一个不存在的部门中,显然不符合语义 * 例2: 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选

文档评论(0)

bbnnmm885599 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档