欢迎来到天天文库
浏览记录
ID:27574777
大小:703.01 KB
页数:118页
时间:2018-12-01
《关系模型和关系运算理论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章关系模型和关系运算理论1本章重要概念(1)(1)基本概念关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,过程性语言与非过程性语言。(2)关系代数五个基本操作,四个组合操作,七个扩充操作。2本章重要概念(2)(3)关系演算元组关系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。(4)关系代数表达式的优化关系代数表达式的等价及等价转换规则,启化式优化算法。(5)关系逻辑谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。3本章概要本章先介绍关系模型的基本概念;然后介绍关系运算的三种理论:
2、关系代数、关系演算和关系逻辑。4关系模型和关系运算理论2.1关系模型的基本概念2.2关系代数2.3关系演算2.4关系代数表达式的优化2.5关系逻辑2.6小结52.1关系模型的基本概念2.1.1基本术语2.1.2关系的定义和性质2.1.3关系模型的三类完整性规则2.1.4关系模型的三级体系结构2.1.5关系模型的形式定义和优点2.1.6关系查询语言和关系运算返回62.1.1基本术语(1)定义2.1用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型(RelationalModel)。图2.1学生登记表学号姓名年龄性别籍贯S1
3、WANG20M北京S4LIU18F山东S2HU17M上海S3XIA19F四川72.1.1基本术语(2)在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。在图2.1中,关系模式名是R。记录称为元组(tuple),元组的集合称为关系(relation)或实例(instance)。一般用大写字母A、B、C、…表示单个属性,用大写字母…、X、Y、Z表示属性集,用小写字母表示属性值,有时也习惯称呼关系为表或表格,元组为行(row),属性为列(column)。关系中属性个数称为“元数”(arity),元组个数为“基数”(cardin
4、ality)。82.1.1基本术语(3)关系元数为5,基数为4。一般术语关系模型术语字段、数据项属性记录类型关系模式记录1元组1记录2元组2记录3元组3记录4元组4字段值属性值图2.2关系模型的术语文件关系92.1.1基本术语(4)关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。(1)超键(SuperKey)(2)候选键(CandidateKey)(3)主键(PrimaryKey)在图2.1中,(工号,姓名)是模式的一个超键,但不是候选键,而(工号)是候选键。在实际使用中,如果选择(工号)作为删除或查找元组的标志
5、,那么称(工号)是主键。(4)外键(ForeignKey)返回102.1.2关系的定义和性质定义2.2关系是一个属性数目相同的元组的集合。在关系模型中,对关系作了下列规范性限制:(1)关系中每一个属性值都是不可分解的;(2)关系中不允许出现重复元组(即不允许出现相同的元组);(3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;(4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。返回112.1.3关系模型的完整性规则(1)实体完整性规则(entityintegrityrule)要求关系中元组在组成主键的属性上不能有空
6、值。如果出现空值,那么主键值就起不了惟一标识元组的作用。122.1.3关系模型的完整性规则(2)参照完整性规则(referenceintegrityrule)定义2.3参照完整性规则的形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。“主表”和“副表”,“父表”和“子表”。132.1.3关系模型的完
7、整性规则(3)这条规则在具体使用时,有三点变通:①外键和相应的主键可以不同名,只要定义在相同值域上即可;②R1和R2也可以是同一个关系模式,此时表示了同一个关系中不同元组之间的联系;③外键值是否允许空,应视具体问题而定。142.1.3关系模型的完整性规则(4)例下面各种情况说明了参照完整性规则在关系中如何实现的。①在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)这里带线者为主键,带线者为外键。据规则要求关系SC中的S#值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),
8、而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。另外,在关系SC中S#不仅是外键,也是主键的一部分,因此这里S#值不允许空。152
此文档下载收益归作者所有