第3章 关系运算_8046_1052_20090310163300.ppt

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

社会科学和艺术领域创造型人士创造力特征和实现机制的研究 第3章 关系运算 第3章 关系运算 3.1 关系模型的基本概念 3.2 关系代数 3.3 关系演算* 3.4 关系代数表达式的优化 小结 3.1 关系模型的基本概念 3.1.1 基本术语 3.1.2 关系的定义和性质 3.1.3 关系模型的三类完整性规则 3.1.4 ER模型向关系模型的转换规则 3.1.5 关系模型的三级体系结构 3.1.6 关系模型的形式定义和优点 3.1.7 关系查询语言和关系运算 基本术语(1) 定义3.1 用二维表格表示实体集,用关键码进行数据导航的数据模型称为关系模型(relational Model)。这里数据导航(data navigation)是指从已知数据查找未知数据的过程和方法。 基本术语(2) 在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式,记录称为元组(tuple),元组的集合称为关系(relation)或实例(instance)。一般用大写字母A、B、C、… 表示单个属性,用大写字母 …、X、Y、Z表示属性集,用小写字母表示属性值,有时也习惯称呼关系为表或表格,元组为行(row),属性为列(column)。 关系中属性个数称为“元数”(arity),元组个数为“基数”(cardinality)。 基本术语(3) 关系元数为5,基数为4 基本术语(4) 关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。 (1)超建(super Key) (2)候选键(candidate Key) (3)主键(primary Key) 在图3.1中,(职工编号,姓名)是模式的一个超键,但不是候选键,而(职工编号)是候选键。在实际使用中,如果选择(职工编号)作为删除或查找元组的标志,那么称(职工编号)是主键。 (4)外键(foreign Key) 一个关系R中包含有另一个关系S的主键对应的属性组F,则称F为R的外键。并称关系S为参照关系,R为依赖关系。 关系的定义和性质 定义3.2 关系是一个属性数目相同的元组的集合。 在关系模型中,对关系作了下列规范性限制: (1)关系中每一个属性值都是不可分解的; (2)关系中不允许出现重复元组(即不允许出现相同的元组); (3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序; (4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。 关系模型的三类完整性规则(1) 实体完整性规则(entity integrity rule) 要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标识元组的作用。 关系模型的三类完整性规则 (2) 参照完整性规则(reference integrity rule) 参照完整性规则的形式定义如下: 如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。 这条规则的实质是“不允许引用不存在的实体”。 在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。“主表”和“副表”,“父表”和“子表”。 关系模型的三类完整性规则 (3) 例3.1 下面各种情况说明了参照完整性规则在关系中如何实现的。 ① 在关系数据库中有下列两个关系模式: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) 这里带下划线者为主键。据规则要求关系SC中的S# 值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。 另外,在关系SC中S# 不仅是外键,也是主键的一部分,因此这里S# 值不允许空。 关系模型的三类完整性规则 (4) ② 设工厂数据库中有两个关系模式: DEPT(D#,DNAME) EMP(E#,ENAME,SALARY,D# ) 车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键已标出。在EMP中,由于D# 不在主键中,因此D# 值允许空。 关系模型的三类完整性规则 (5) ③ 设课程之间有先修、后继联系。模式如下: R(C# ,CNAME,PC# ) 其属性表示课程号、课程名、先修课的课程号。如果规定,每门课程的直接先修课只有一门,那么模式R的主键是C#,外键是PC#.。这里参照完整性在一个模式中实现。即每门课程的直接先修课必

文档评论(0)

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

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

1亿VIP精品文档

相关文档