第2章1关系数据库.ppt

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

An Introduction to Database System * 1. 关系间的引用 在关系模型中实体及实体间的联系都是用 关系来描述的,因此可能存在着关系与关 系间的引用。 例1 学生实体、专业实体以及专业与学生 间的一对多联系  学生(学号,姓名,性别,专业号,年龄)   专业(专业号,专业名) An Introduction to Database System * 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) An Introduction to Database System * 关系间的引用(续) 例2 学生、课程,学生与课程之间的多对多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) An Introduction to Database System * 课程号 课程名 学分 01 数据库 4 02 数据结构 4 03 编译 4 04 PASCAL 2 学号 姓名 性别 专业号 年龄 801 张三 女 01 19 802 李四 男 01 20 803 王五 男 01 20 804 赵六 女 02 20 805 钱七 男 02 19 学号 课程号 成绩 801 04 92 801 03 78 801 02 85 802 03 82 802 04 90 803 04 88 学生 选修 课程 An Introduction to Database System * 关系间的引用(续) 例3 同一关系内部属性间也可能存在引用关系。 在学生(学号,姓名,性别,专业号,年龄,班长)关系中,“学号”属性是主码,“班长”属性表示该学生所在班级的班长的学号,它引用了本关系“学号”属性,即“班长”必须是确实存在的学生的学号。 “班长”引用了“学号” An Introduction to Database System * 关系间的引用(续) 例3 学生实体及其内部的领导联系(一对多) 学生(学号,姓名,性别,专业号,年龄,班长) 学号 姓名 性别 专业号 年龄 班长 801 张三 女 01 19 802 802 李四 男 01 20 803 王五 男 01 20 802 804 赵六 女 02 20 805 805 钱七 男 02 19 An Introduction to Database System * 2.外码(Foreign Key) 设F是基本关系R的一个或一组属性,但不是关系R的码。Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码。并称基本关系R为参照关系,基本关系S为被参照关系或目标关系 。 如:学生(学号,姓名,性别,专业号,年龄)   专业(专业号,专业名) 学生关系的“专业号”属性与专业关系的主码“专业号”相对应,因此“专业号”属性是学生关系的外码。这里专业关系是被参照关系,学生关系为参照关系 An Introduction to Database System * 外码(续) 说明 关系R和S不一定是不同的关系(如例3) 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上(如专业) 外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别 An Introduction to Database System * 3. 参照完整性规则 若属性(或属性组)F是基本关系R的外 码,它与基本关系S的主码Ks相对应(基本 关系R和S不一定是不同的关系),则对 于R中每个元组在F上的值必须为: ? 或者取空值(F的每个属性值均为空值) ? 或者等于S中某个元组的主码值。 An Introduction to Database System * 参照完整性规则(续) 如:学生(学号,姓名,性别,专业号,年龄)   专业(专业号,专业名) 学生关系中每个元组的“专业号”属性只取下面两类值: (1)空值,表示尚未给该学生分配专业 (2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中 An Introduction to Database System * 参照完整性规则(续) 如:学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) “学号”和“课程号”是选修关系中的主属性,按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档