第2章 关系模型和关系运算理论.ppt
第2章关系模型和关系运算理论-
如果属性集K是关系模式R1的主键,K 也是关系模式R2的外键,那么在R2的关系中, K的取值只允许两种可能,或者为空值,或者 等于R1关系中某个主键值。
这条规则的实质是“不允许引用不存在的 实体”。
在上述形式定义中,关系模式R1的关系称
为 “ 参 照 关 系 ” , 关 系 模 式 R2 的 关 系 称 为
例如学生的年龄定义为两位整数,范围还
太大,我们可以写如下规则把年龄限制在
15~30岁之间:
CHECK(AGE BETWEEN 15 AND 30)
返 回
19
2.1.4 关系模型的三层体系结构 -- 关系模式
在关系模型中,记录类型称为关系模式,而关 系模式的集合就是数据库的概念模式。在系统实 现时,关系模式和属性的命名一般都用英文单词。
29
2.2.1 关系代数的五个基本操作 (2)
笛卡尔积(Cartesian Product) 形式定义如下: R×S≡{t|t=<tr,ts>∧tr∈R∧ts∈S}
成绩子模式 G(S#,SNAME,C#,SCORE)
21
2.1.4
关系模型的三层体系结构
--子模式(2)
G S# SNAME C# SCORE S256 Wang C5 80 ┆
S S# SNAME AGE SEX
S256 Wang 21 F ┆
SC S# C# SCORE ┆ S256 C5 80 ┆
(3)主键(Primary Key)
在图2.1中,(工号,姓名)是模式的一个超
键,但不是候选键, 而(工号)是候选键。在
实际使用中,如果选择(工号)作为删除或查
找元组的标志,那么称(工号)是主键。
(4)外键(Foreign Key)
第2章-关系运算PPT课件
则笛卡儿积D1×D2××Dn的基数为 m m j j 1
注:笛卡儿积的基数即为笛卡儿积定义的元组集合中元组
的个数。
2021/3/9
授课:XXX
5
一、笛卡儿积的数学定义
例:设D1={1,2,3},基数为3; D2={a,b},基数为2;
则有 D1×D2={<1,a>,<1,b>,<2,a>,<2,b>, <3,a>, <3,b>} 基数为 3×2=6
定义2.2 设有属性A1,A2,…,An分别在值域D1,D2,…,Dn中 取值,则这些值域的笛卡儿积定义为:
D1×D2××Dn={<d1,d2,…,dn>|dj∈Dj, j=1,2,…,n} 其中,每个元素<d1,d2,…,dn>称为有序n元组。
元组中的第j个值dj称为元组的第j个分量。
若Dj (j=1,2,…,n)为有限集,且其基数为mj (j=1,2,…,n),
2021/3/9
授课:XXX
11
关系模型的完整性约束
为了防止合法用户使用数据时加入不合语义的数据,关 系数据模型通过完整性约束实现数据的正确性和相容性, 其完整性约束包括:实体完整性、参照完整性和用户定 义完整性。
其中实体完整性和参照完整性是关系模型必须满足的完 整性约束条件,被称作是关系的两个不变性,应该由关 系数据库系统自动支持。
关系是一种规范化了的二维表。
2021/3/9
授课:XXX
14
第2章 关系运算
第2节 关系代数
基于传统集合理论的关系运算 关系代数特有的关系运算 用基本关系运算表示4种非基本关系运算 关系代数运算在关系数据库查询中的应用
第2章 数据库-关系模型1
• 在关系数据模型中一般将数据完整性分为三类
– 实体完整性
– 参照完整性 – 用户定义完整性
需要说明两点
• 关系是元组的集合,集合(关系)中的元素(元组) 是无序的;而元组不是分量di的集合,元组中的分量
是有序的。
例如,在关系中(a,b)≠(b,a),但在集合中{a,b}={b,a}。
• 若一个关系的元组个数是无限的,则该关系称为无限
实体完整性规则
• 实体完整性是要保证关系中的每个元组都是可识别和唯一的。 • 实体完整性规则要求关系中元组的主键值不可以为空值。
• 实体完整性是关系模型必须满足的完整性约束条件,也称作是
关系的不变性。 • 关系数据库管理系统用主键实现实体完整性,这是由关系系统 自动支持的。
对实体完整性规则的几点说明
关系数据语言
• 关系代数语言:如ISBL
• 关系演算语言:
– 元组关系演算语言(如Aplha,Quel)
– 域关系演算语言(如QBE)
• 具有关系代数和关系演算双重特点的语言:如SQL
返回
关系完整性约束
• 在数据库中数据完整性是指保证数据正确的特性。
它包括两方面的内容:
– 与现实世界中应用需求的数据的相容性和正确性; – 数据库内数据之间的相容性和正确性。
部门表(R1)
部门编号 01 02 03 04 部门名称 经理办公室 人事部 公关部 技术部 …
02 03
外部关系键
主关系键
注意事项:
• 外部关键字和相应的主关键字可以不同名,只要 定义在相同值域即可。 • 两个关系(R和S)也可以是同一个关系模式,表 示了属性之间的联系。 • 外部关键字的值是否为空,应视具体问题而定。
第2章 关系模型
4. 关系模式
关系模式是关系的形式化描述。
最简单的表示为:
关系名(属性名1,属性名2,…,属性名n)
注意:主键要用下划线表明。但有时,关系模式 中并没有表明主键。 例如:Students关系的关系模式为:
Students(Sno,Sname,Ssex,Sbirthdate,Sdept)
一个二维表就是一个关系
字段
属性
元组 学号 1001 1002 1003 姓名 张军 李红 王伟
学生表
记录
年龄 21 22 19
性别 男 女 男
系号 D01 D01 D02
域:关系中一个属性的取值范围。例如,Ssex的取值 范围是{‘M’, ‘F’},代表性别为男性和女性。。
关系示例:
关系的等价术语之间的对应关系
实体(Entity):实体是客观存在的并且相互区分的事务。实体 可以是实际事务,也可以是抽象事件。例如,一个职工、一 个部门等属于实际的事务;一次订货、借阅若干本图书、一 场比赛等活动是比较抽象的事件。 实体集( Entity Set):同型实体的集合称为实体集。例如 全体职工集合,全馆图书等。 实体型( Entity Type):具有相同属性的实体具有共同的 特征和性质,用实体名及其属性名来抽象和刻画同类实体称 为实体型。例如实体型“职工”表示全体职工的概念,并不 具体指职工甲或职工乙。每个职工是职工实体“型”的一个 具体“值”,必须明确区分“型”与“值”的概念。在数据 模型中的实体均是指“型”而言的。以后在不致引起混淆的 情况下,说实体即是实体型。
关系模式即是一个表的表头描述。 表头也称为关系的结构、关系的型等。
除表头一行以外的所有行的集合(即表内 容), 称为关系的值。 一个关系(表),由表头和表内容两部分组 成,表头是相对不变的,而表内容是经常 改变的。如Students表中,当有新学生入 学时,就增加若干行,当学生毕业时,就 要删除若干行,所以表是动态的。
关系模型与关系运算
关系模型与关系运算⽬录关系数据库数据模型是现实世界数据特征的模拟和抽象。
在数据库中⽤数据模型这个⼯具来抽象、表⽰和处理现实世界中的数据和信息。
数据模型通常由数据结构、数据操纵和完整性约束三部分组成,称为数据模型三要素。
数据结构:所研究对象类型的集合。
这些对象是数据库的组成部分,主要包括两类:⼀类是与数据类型、内容、性质有关的对象。
另⼀类是与数据之间联系有关的对象。
数据结构是对系统静态特性的描述,是刻画⼀个数据模型性质最重要的⽅⾯,因此在数据库系统中,⼈们通常按照其数据结构的类型来命名数据模型。
例如,层次结构、⽹状结构和关系结构的数据模型分别命名为层次模型、⽹状模型和关系模型。
数据操纵:对数据库中各种对象允许执⾏的操作集合及有关的操作规则。
常⽤的数据操纵有检索和更新(包括新增、删除、修改)。
数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语⾔。
数据操纵是对系统动态特性的描述。
数据的约束条件:是⼀组完整性规则的集合。
完整性规则是给定数据模型中数据及其联系所具有的制约和储存规则,⽤来限定符合数据模型的数据库状态以及状态变化,以保证数据的正确性、有效性和相容性。
关系模型关系模型的数据结构:数据结构⾮常单⼀,⽆论是实体还是实体间的联系,均由单⼀的结构来表⽰,该结构是⼀张规范化了的⼆维表,由⾏和列组成,称之为关系。
关系模型的数据操纵:包括查询、新增、删除、修改,其中查询的表达能⼒是最主要的部分。
关系模型数据操纵的特点是集合操作,即操作的对象和结果都是集合,这种操作⽅式也称为⼀次⼀集合⽅式。
关系模型的完整性约束:包括实体完整性、参照完整性和⽤户定义的完整性三⼤类。
其中实体完整性和参照完整性是关系模型必须满⾜的完整性约束条件,由关系DBMS⾃动⽀持,⽤户定义的完整性是由应⽤领域需要遵循的约束条件,是具体领域中的语义约束。
关系的数学定义域(Domain):⼀组具有相同数据类型的值的集合,如整数、实数等。
第2章关系模型
王平 女
28
讲师
800
1200
信息
出错!
2、参照完整性: 如果关系R2的外部关系键X与R1的主关 系键相符,则X的每个值或者等于R1中主 关系键的某一个值,或者取空值。
SNO SN S1 赵亦 S2 钱尔 S3 王威 SEX 女 AGE DEPT 17 计算机 18 信息 19
R1
DEPT
ADDR
2.4.2 主属性与非码属性
主属性(prime attribute):包含在主码 中的各个属性称为主属性。 例如:学生关系中的sno,学生选课关系 中的sno, cno 非码属性:不包含在任何候选码中的属性 称为非码属性。
例如:学生选课关系中的score
全码(all-key):所有属性的组合是关系的 候选码,称为全码。 教师授课关系TCS:
2.6 关系代数
关系数据库所使用的语言一般都具有: 定义、查询、更新和控制一体化的特点, 而查询是最主要的部分。因此,建立数据库 的主要目的是查询。 用关系运算表达式来表示查询的条件,按 照表达查询方法的不同,关系运算分为:关 系代数和关系演算。
2.6.1关系代数的分类及其运算符
关系代数的运算对象是关系,运算结果也是 关系 关系代数用到的运算符包括四类: 1、传统集合运算符:∪(并)、 ∩(交)、 -(差)、×(广义笛卡儿积) 2、专门的关系运算符:σ (选择)、∏ (投影),∞ (连接)、*(自然连接),÷(除) 3、算术比较运算符:><≥≤=≠ 4、逻辑运算符:∧(与)、∨(或)、┐(非)
(3)若Di( i=1,2,…,n)为有限集,Di中的 元素个数称为Di的基数,用mi(i=1,2,…,n ) 来表示,则笛卡儿积D1×D2×……×Dn的基 数M(即(d1, d2, …dn ) 的个数)为所有域的 基数的积,即 n M=∏mi I=1
《数据库原理及应用》教学课件 第二章关系数据库基础
01
列是同质的,即每一列中的分量必须来自同一个域且必须是同 一类型的数据。
02
不同的属性可来自同一个域,但不同的属性有不同的名字。
03
列的顺序可以任意交换,但交换时应连同属性名一起交换,否则 将得到不同的关系。
13
2.1 关系模型
04 05 06
2.1.3 关系的性质
元组的顺序可任意交换。在关系数据库中,可以按照各种排序 要求对元组的次序重新排列。
关系中不允许出现相同的元组。关系中的一个元组表示现实世界 中的一个实体或一个实体间的联系,如果元组重复则表示实体或 实体间的联系重复,这样不仅会造成数据库中数据的冗余,也可 能造成数据查询与统计的结果出现错误。
关系中的每一个分量必须是不可再分的数据项,即所有属性值都 是一个单独的值,而不是值的集合。
例如,在没有重名学生的情况下,学生关系中的属性“学号”与“姓名” 都是学生关系的候选码。如果选定属性“学号”作为数据操作的依据,则属 性“学号”为主码;如果选定属性“姓名”作为数据操作的依据,则属性 “姓名”为主码。
22
2.2 关系模型的完整性约束
2.2.1 关系的码
03 主属性与非主属性
包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例如,在没有重名学生的情况下,学生关系的属性“学号”与“姓名”都是学生关系的候选码, 则它们都是学生关系的主属性。而属性“性别”与“系别”不包含在任一候选码中,则它们都是学 生关系的非主属性。 在最简单的情况下,关系的候选码只包含一个属性;在最极端的情况下,关系的候选码是所有 属性的组合,这时称为全码。 例如,设有关系演出(演奏者编号,乐器编号,演播室编号),其中的3个属性分别为演奏者 关系、乐器关系及演播室关系的主码,它们共同唯一标识了一个演出,则演出关系的主码为它们的 组合,即为全码。
关系数据库与应用(第02章关系模型与关系代数)
接条件。 连接操作可以基于一个或多个条件,用于将两个
03
关系的元组组合在一起。 连接操作可以产生新的关系,包含两个关系的所
04
有元组。
除法操作
除法操作是用来处理具有除 法语义的关系运算。
除法操作可以用于处理具有除法 语义的问题,例如找出在某些条 件下的共同元素。
ABCD
除法操作的表示方法是在两 个关系的名称之间放置一个 斜线(/)。
优化前
优化后
PA R T. 0 5
单击此处添加标题
关系代数与SQL的关系
SQL与关系代数的联系
数据操作语言
关系代数和SQL都用于对关系数据库中的数据进 行操作。
查询语言
关系代数和SQL都提供了查询数据的方法。
集合操作
关系代数和SQL都使用集合操作,如并、交、差 等。
SQL与关系代数的差异
语法
01
低系统的负载和成本。
提高用户体验
快速、高效的查询响应可 以提升用户的使用体验,
提高系统的满意度。
关系代数优化的方法
选择运算的优化
通过减少选择条件的数量、使用索引等方法, 减少选择运算的开销。
投影运算的优化
合理安排投影列的顺序,减少数据传输量,提 高投影运算的效率。
Байду номын сангаас
连接运算的优化
采用合适的连接策略,如嵌套循环连接、哈希 连接等,以降低连接运算的复杂度。
SQL的语法更直观,更接近自然语言,而关系代数的语法
更抽象。
功能
02
SQL除了数据操作外,还支持数据定义和数据控制等功能,
而关系代数主要关注数据操作。
应用领域
03
SQL广泛应用于实际的关系数据库管理系统,而关系代数
第二章关系运算
第二章关系运算关系模型有三方面的内容:关系数据结构、关系完整性和关系运算2。
1关系数据结构关系数据结构非常单一:就是一张具有行列结构的二维表。
以集合论观点说:关系是一个元数为K的元组集合,每个元组有K个属性值。
1、域:(与属性值的域相比相同吗?)是具有相同特性的数据集合。
在计算机语言中,常用数据类型作为域使用,再通过条件把取值范围限定在一定的范围内。
2、笛卡儿积:(1)是定义在一组域上的集合,假定P:34(2)元组:积中的每个元素;分量:元组中的每个值;域的基数:域中所具有元素的个数。
(3)例1、例2、例3(相同的情况下也可以构成笛卡儿积)、例4:(4)n个域的笛上卡儿积是一张二维表:表中每一行是一个元组,每一列为一个域,二维表的元数等于从每个域中各取一个元素的所有可能组合。
如表2-1。
P:35练习:D1={计算机,数学,英语} D2={周华,王海,李力},则D1与D2的笛卡儿积为:{(计算机,周华),(计算机,王海),(计算机,李力),(数学,周华),(数学,王海),(数学,李力),(英语,周华),(英语,王海),(英语,李力)},共9个元组。
该笛卡儿积的基数为9。
3、关系:关系其实是笛卡儿积的一个子集。
在计算机中体现时,一个关系就是一张二维表,每个关系都有一个关系名。
一个关系可以存储为一个文件。
(1)例5(2)关系的六个性质:P:35 同一关系不能有相同的属性名、不能有重复的元组、属性值不可再分。
(3)例6、例7——表中不能套表!即表不嵌套!练习:职工(职工号,姓名,。
工资(基本工资,职务工资,交通补助。
)应该分成两个表,再用需要时用连接属性方法将两表联接。
4、关系模式:(1)关系模式(关系的型):是对关系具体结构的描述,通用格式为R(U,D,DOM,F,I);其中R为关系名,D为所有属性名集合,D为该关系的所有定义域的集合;DOM给出属性与域之间的对应关系,F为该关系的各属性间的数据依赖的集合;I为关系中所定义的完整性规则的集合。
第2章 关系数据库
关系数据库
本章要求:
1、掌握关系、关系模式、关系数据库等基本概念 2、掌握关系的三类完整性的含义 3、掌握关系代数运算 本章内容: §1 关系模型的基本概念 §2 RDBS的数据操纵语言:关系代数 §3 RDBS的数据操纵语言:关系演算语言 返回
2016/9/29 数据库系统 1
请选择内容
第二章
2016/9/29
数据库系统
12
第二章
关系数据库
§2 RDBS的数据操纵语言:关系代数 关系代数的运算对象是关系,运算结果也为关系。 其运算按运算符的不同可分为两类。 一、传统的集合运算 1、并(Union): R S = { t | t∈R∨t∈S} 2、交(Intersection):R S = { t | t∈R∧t∈S} 3、差(Difference): R S = { t | t∈R∧t∈S} 4、笛卡尔积(广义): R S = { trts | tr ∈ R ∧ ts ∈ S}
2016/9/29
数据库系统
14
第二章 3、连接(Join) R
R中属性
关系数据库
S :从两个关系的笛卡尔积中选取属性间 A B 满足条件A B的元组。 连接是同时处理 多个关系的 重要运算
S中属性 比较运算符
说明: R
2016/9/29
S = (RS) A B A B
S
当为等号且A、B两属性相同时,称为自然连接,
2016/9/29 数据库系统
SC:S# C# G
S1 S1 S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 C1 C2 C3 C5 C1 C2 C4 C2 C3 C4 C1 C3 A A A B B C C B C B B A
二元关系ppt
返回本章首页
6 2023/9/6
第四节 关系的性质
本节我们讨论关系的一些常见性质,主要内 容是:
1.给出了关系的自反性、对称性、反对称性、 传递性的定义;
2.给出了关系的自反性、对称性、反对称性、 传递性等在关系矩阵及关系图上的反应,其 中用关系矩阵及关系图来判断传递性较为困 难;
3.讨论了关系的各种运算对上述特性的影响.
返回本章首页
7 2023/9/6
第五节 关系的闭包(1)
我们希望某个关系具有比较好的性质,比如我 们希望它具有自反性,对称性,传递性.但如 果该关系又不具有上述性质,那么我们就要对 该关系进行适当的改造,即在该关系中适当添 加一些元素得到一个新的关系,使这个新关系 具有我们需要的性质,同时新关系与原来的关 系不要相差得太多,这样就要求我们添加的元 素既要使新关系满足要求又要尽可能地少添加 元素.通过适当添加元素来扩充原关系,使得到 的具有我们需要的性质的新关系称为原关系的 闭包,我们通常考虑关系的三种闭包,即自反 闭包,对称闭包,传递闭包.
第七节 偏序关系
数的大小,集合中元素的排列次序,计算机程 序的执行顺序等都牵涉到次序关系,这些在数 学上都表现为序关系的研究,本节主要内容有:
1.具有自反性、反对称性、传递性的关系称为偏 序关系;
2.偏序关系的简化关系图—哈斯图,哈斯图与原 图的关系是一种压缩与解压缩的关系;
3.由两个偏序关系构造新的偏序关系方法(如书 中定理2.7.1);
3.关系的复合运算与关系的逆运算之间 的运算规律.
返回本章首页
5 2023/9/6
第三节 复合关系与逆关系
本节讨论关系的复合运算与逆运算极其 性质;主要考虑了下列问题:
C语言关系运算及关系代数PPT课件
a2 b2 c1第21页/共62页
ABC a1 b1 c1
• R和S • 具有相同的目n • 相应的属性取自同一个域
• R∩S • 仍为n目关系,由既属于R又属于S的元组组成
3. 交 ( In teRr∩sSe=c{tit|ot n )R∧t S }
R∩S = R –(R-S)
第22页/共62页
一
个元组t
概述(续)
[
Ai]
则
表
示
元
组
t
中
相
应
于
属性Ai的一个分量
第12页/共62页
(2) A,t[A], A 若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部 分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属 性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik} 后剩余的属性组。
a2 b2 c1第19页/共62页
• R和S • 具有相同的目n • 相应的属性取自同一个域
• R-S • 仍为n目关系,由属于R而不属于S的所有元组组成
R -S = { t|tR∧tS }
2. 差(Difference)
第20页/共62页
ABC R a1 b1 c1
a1 b2 c2 a2 b2 c1 R-S A差(续)B C S a1 b2 c2
MA
张立
IS
第38页/共62页
[例4] 查询学生关系Student中都有哪些系 πSdept(Student)
结果:
投影(续)
Sdept CS IS MA
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章重要概念(一)
(1)基本概念 关系模型,关键码(主键和外键),关系 的定义和性质,三类完整性规则,ER模 型到关系模型的转换规则,过程性语言与 非过程性语言。
(2)关系代数 五个基本操作,四个组合操作,七个扩充 操作。
本章重要概念(二)
(3)关系演算 元组关系演算和域关系演算的原子公式、公式 的定义。关系演算的安全性和等价性。
关系模型术语 属性 关系模式 元组1 元组2 元组3 元组4
字段值
属性值
图2.2 关系模型的术语
基本术语(4)
关键码(key,简称键)由一个或多个属性组成。在实际
使用中,有下列几种键。
(1)超键(super Key):在关系中能惟一标识元组的属性集。 (2)候选键(candidate Key):不含有多余属性的超键。 (3)主键(primary Key) :用户选作元组标识的候选键。
关系模型的三类完整性规则 (5)
③ 设课程之间有先修、后继联系。模式如下:
R(C# ,CNAME,PC# ) ~~~~~~~~
其属性表示课程号、课程名、先修课的课程号。如果 规定,每门课程的直接先修课只有一门,那么模式R的 主键是C#,外键是PC#.。这里参照完整性在一个模式中 实现(即同一个关系中不同元组之间的联系)。即每门课 程的直接先修课必须在关系中出现。
定义2.1 用二维表格表示实体集,用关键码表示实体之 间联系的数据模型称为关系模型(relational Model)。
工号
姓名
年龄
性别
工资
4001 zhang
50
M
2000
4002
li
40
F
1500
4124
liu
35
M
2000
5018
wang
25
M
1000
图2.1 职工登记表
基本术语(2)
在关系模型中,字段称为属性,字段值称为属性值, 记录类型称为关系模式。在图2.2中,关系模式名是R。 记 录 称 为 元 组 ( tuple ) , 元 组 的 集 合 称 为 关 系 (relation)或实例(instance)。一般用大写字母A、 B、C、… 表示单个属性,用大写字母 …、X、Y、Z表 示属性集,用小写字母表示属性值,有时也习惯称呼关 系为表或表格,元组为行(row),属性为列(column)。
关系模型的三类完整性规则 (2)
参照完整性规则(reference integrity rule) 定义2.3 参照完整性规则的形式定义如下:
如果属性集K是关系模式R1的主键,K也是关系模式R2 的外键,那么在R2的关系中,K的取值只允许两种可能, 或者为空值,或者等于R1关系中某个主键值。 这条规则的实质是“不允许引用不存在的实体”。 在 上 述 形 式 定 义 中 , 关 系 模 式 R1 的 关 系 称 为 “ 参 照 关 系”,关系模式R2的关系称为“依赖关系”。“主表” 和“副表”,“父表”和“子表”。
(4)关系代数表达式的优化 关系代数表达式的等价及等价转换规则,启化 式优化算法。
(5)关系逻辑 谓词、原子、规则和查询,规则的安全性,用 规则模拟关系代数表达式。
本章概要
本章先介绍关系模型的基本概念;然后介绍关 系运算的三种理论:关系代数、关系演算和关 系逻辑。
关系模型和关系运算理
2.1 关系模型的基本概念 2.2 关系代数 2.3 关系演算 2.4 关系代数表达式的优化 2.5 关系逻辑
2.1 关系模型的基本概念
2.1.1 基本术语 2.1.2 关系的定义和性质 2.1.3 关系模型的三类完整性规则 2.1.4 ER模型向关系模型的转换规则 2.1.5 关系模型的三级体系结构 2.1.6 关系模型的形式定义和优点 2.1.7 关系查询语言和关系运算
返 回
基本术语(1)
关系中属性个数称为“元数”(arity),元组个数为 “基数”(cardinality)。
基本术语(3)
关系数为5,基数为4
RABCDE a1 b1 c1 d1 e1 a2 b2 c2 d2 e2 a3 b3 c3 d3 e3 a4 b4 c4 d4 e4
一般术语 字段、数据项 记录类型 记录1 记录2 记录3 记录4
元组); (3)由于关系是一个集合,因此不考虑元组间的顺序,
即没有行序; (4)元组中的属性在理论上也是无序的,但使用时按习
惯考虑列的顺序。
返 回
关系模型的三类完整性规则(1)
实体完整性规则(entity integrity rule)
要求关系中元组在组成主键的属性上不能有空值。 如果出现空值,那么主键值就起不了惟一标织元组的作 用。
在图2.1中,(工号,姓名)是模式的一个超键,但不是候选键, 而(工号)是候选键。在实际使用中,如果选择(工号)作为删除 或查找元组的标志,那么称(工号)是主键。 (4)外键(foreign Key):如果模式R中属性K是其他模式的主键, 那么K在模式R中称为外键。
返 回
关系的定义和性质
定义2.2 关系是一个属性数目相同的元组的集合。 在关系模型中,对关系作了下列规范性限制: (1)关系中每一个属性值都是不可分解的; (2)关系中不允许出现重复元组(即不允许出现相同的
关系模型的三类完整性规则 (3)
例2.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# 值允许空。