第二章 关系模型
(完整版)数据库系统原理与设计(第2版)万常选版第2章关系模型与关系代数课后答案

3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。
第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章 关系数据库数学模型

关系——二维表(行列),实体及其联系 都用关系表示。在用户看来关系数据的逻辑模 型就是一张二维表。
关系数据模型概述(续I)
关系操作 查询: 1)选择Select; 4)除Divide; Intersection; 编辑: 1)增加Insert; Update;
2)投影Project; 3)连接Join; 5)并Union; 6)交 7)差Difference;
三元关系的转换 一般要引入分离关系 如公司、产品和国家之间的m:n:p的三元关系及销 售联系。
关系代数
关系代数概述 关系代数的运算符 集合运算符
并U 交∩ 差 专门的关系运算符
笛卡尔积 × 选择σ 投影π 连接 除 算术比较符
> ≥ < ≤ = ≠ 逻辑运算符
EER模型到关系模式的转换(续IV)
为此,本例中引入一个分离关系On_Load(借 出的书),可以避免空值的出现。 这样,存在以下三个关系模式: Borrower(B#,Name,Address,……) Book(ISBN,Title,……) On_Load(ISBN,B#,Date1,Date2) 只有借出的书才会出现在关系On_Load中, 避免空值 的出现,并把属性Date1和Date2加到 关系On_Load中。
D1 x D2 x…x Dn={(d1,d2,…,dn) | di∈Di, i=1,2,…,n} (d1,d2,…,dn) --------n元组(n-tuple) di--------元组的每一分量(Component) Di为有限集时,其基数为mi,则卡积的基 数为M=m1*m2*…*mn
关系数据库
关系数据模型

主键:从候选键中选择一个作为关系的主键。主键包含的属性称为主属性。
其它属性称为非主属性。
2.1 关系模型的数据结构
在关系定义中,主属性用下划线表示,如标识了主属性的关系R 表示为:R(学号,课程,成绩) 外键:在存在多个关系时,可以要求其中一个关系(设为R)的某些属性 的值能在另一关系(设为S)的主键中找到对应的值,这时R中的 这些属性称为R的一个外键。 如,有如下两个关系。
3. 用户定义的完整性
允许用户指定关系中数据需要满足的其他约束条件。 如成绩属性的取值范围在0~100之间,年龄的取值范围在0 ~150之间,
性别的取值范围在男、女之间等。
2.3
关系代数
关系代数,是一种抽象的查询语言,是关系数据操纵语言的一
种传统表达方式,它是用对关系的运算来表达查询的。
关系模式的数据操作主要由关系代数完成。关系代数包含一系
95002
…… 95004 95004
刘晨
女
19
信息
……
95001
…… 95002 95002
1
92
张力 张力
男 男
19 19
信息 信息
2 3
90 80
20 运输结果产生了一个包含 ____ 个元祖的关系
2.3
筛选后的关系: S
学生.学号 95001 95001 95001 姓名 李永 李永 李永 性别 男 男 男
b1 b1 b2 b2
E e1
e2 e3 e1 e2
H h1
h2 h3 h1 h2
P p1
p2 p3 p1 p2
a2
b2
c2
e3
h3
p3
Flash演示
第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表中,当有新学生入 学时,就增加若干行,当学生毕业时,就 要删除若干行,所以表是动态的。
《数据库概论》第二章期末考试复习提纲+课后习题答案

1.试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2.试述关系模型的完整性规则。
在参照完整性中,什么情况下外码属性的值可以为空值?答:关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
关系模型的完整性规则是对关系的某种约束条件。
①实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
②参照完整性规则:若属性(或属性组)是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系A和S不一定是不同的关系),则对于R中每个元组在F上的值必须为下面二者之一:-或者取空值(F的每个属性值均为空值);・或者等于S中某个元组的主码值。
③用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求在参照完整性中,如果外码属性不是其所在关系的主属性,外码属性的值可以取空值。
3.代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答:在8种关系代数运算中,并、差、笛卡儿积、投影和选择5种运算为基本运算;其他三种运算,即交、连接和除,均可以用这5种基本运算来表达。
2.3补充习题1.选择题(1) 关于关系模型,下列叙述不正确的是(D )。
A.一个关系至少要有一个候选码B.列的次序可以任意交换C.行的次序可以任意交换D.一个列的值可以来自不同的域(2) 下列说法正确的是(A)。
A.候选码都可以唯一地标识一个元组B.候选码中只能包含一个属性C.主属性可以取空值D.关系的外码不可以取空值(3) 关系操作中,操作的对象和结果都是(B )。
A.记录B.集合C.元组D.列(4) 假设存在一张职工表,包含“性别”属性, 要求这个属性的值只能取“男”或“女”,这属于(C )oA.实体完整性B.参照完整性C.用户定义的完整性D.关系不变性(5)有两个关系R(A,B,C)和S(B,C,D),将R和S进行自然连接,得到的结果包含几个列(B)。
第2、3章概念模型和关系模型复习要点

总体要点:实体与联系、E-R图画法、关系模型、E-R图向关系模型的转换、关系模型的数学基础(关系代数)一概念模型: 实体-联系模型。
实体:可以相互区分的事物。
实体集:同类实体的集合。
联系:实体集之间的相互关联。
候选码是在一个实体集(或联系集)中可以用于区分不同实体的单个属性或若干属性的组合。
主码:当一个实体集中有多个候选码,可以选定其中的一个作为主码。
联系—实体集之间的对应关系:一对多联系(1:n) 多对多联系(n:n)一对一联系(1:1) 注意:两个方向结合才能判断一个联系的类型。
二逻辑模型概念模型(实体-联系)只能反映信息世界的抽象表示,还没有反映组织数据和操作数据的方式。
逻辑模型完成此项任务。
逻辑模型要体现三个方面的特征:1)数据结构,描述数据用什么结构组织起来;2)数据操作,描述可以对数据进行哪些操作;3)数据约束,描述数据规则从而保证数据完整。
关系数据模型的特点:用表及表间关联表示数据组织结构;用关系操作表示数据操作;包含一组完整性约束规则。
关系模型的基本概念关系:将一个没有重复行、重复列的二维表看成一个关系。
属性:二维表的每一列在关系中称为属性。
元组(记录):二维表的每一行在关系中称为关系的一个元组。
关键字:用于区分不同元组的属性或属性组合。
关系中能够作为关键字的属性或属性组合不是唯一的。
凡在关系中能够区分不同元组的属性或属性组合,成为候选关键字,在候选关键字中选择一个作为关键字,成为主关键字或主键。
主键是唯一的。
外部关键字:如果关系中某个属性(或属性组合)是另一个关系的关键字,则称此属性(或属性组合)为本关系的外部关键字。
外部关键字体现联系。
设计关系型数据库中,要明确给出数据库需要哪些关系(表),每个关系有哪些属性,把这些称为数据库的关系模式。
逻辑模型设计阶段的任务就是设计出整个数据库的关系模式。
从概念模型设计的结果——E-R图中,可以导出关系模式,导出方法遵循两点原则:E-R图中的每个实体,都转换成一个关系模式。
02《数据库》第二章关系数据模型 #

• 结果关系的所有属性都是原关系的属性。 • 结果关系的所有元组都是原关系的元组。
• 例如:在学生表中将98管理班同学全部
学号 找出姓来名 。 出生年月 性别 班级
0001 • 李伟 <班19级80=.1‵2.0938管男理′>(学9生8管表理)
性、参照完整性和用户定义的完整性。 • 实体完整性:主码的任何属性值都不能为空。 • 参照完整性:若A是基本关系R1的外码。它与
基本关系R2的主码K相对应,则R1中每个元组 在A上的值必须为以下情况之一。 • 等于R2中某个元组的主码值。 • 取空值(A的每个属性值均为空值)。
• 例如:职工关系(职工号,姓名,…部门编号) 和部门关系(部门编号,部门名称,…)。
班级 98管理 98管理 98管理 98管理
学号 课程号 成绩
0001 01
85
0001 02
70
0003 01
80
0003 02
90
• 自然连接 • (学生表)(成绩表)
学号 姓名 0001 李伟 0001 李伟 0003 赵兰 0003 赵兰
出生年月 性别 1980.12.03 男 1980.12.03 男 1979.05.26 女 1979.05.26 女
《数据库技术原理与应用》
章、关系数据模型基础理论
TEL: Email:
本章教学内容
一、关系模型的基本概念 二、关系代数 三、关系演算 四、查询优化 五、关系系统
一、关系模型的基本概念
1、关系模型的数学定义: 关系模型是建立在数学理论基础上的。 定义(1)域:域(Domain)是值的集合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
域名无排列次序, 域名无排列次序,如D2={男,女}={女,男} ={男 }={女
关系模型的数据结构 关系的定义和性质 关系数据库的基本概念 关系运算
2.1 关系模型
关系模型就是用二维表格 结构来表示实体及实体 关系模型就是用 二维表格结构来表示实体及实体 之间联系的模型。 之间联系的模型。 关系模型是各个关系的框架的集合, 关系模型是各个关系的框架的集合 , 即关系模型 是一些表格的格式 , 其中包括关系名 、 属性名 、 是一些 表格的格式, 其中包括关系名、 属性名、 关键字等。 关键字等。 例如, 例如 , 教学数据库中教师与课程的关系模型如图 2.1所示。 所示。
2. 该子集中的元素是关系中的元组,用r 表示,关系中元组 该子集中的元素是关系中的元组, 表示, 个数是关系的基数。ห้องสมุดไป่ตู้个数是关系的基数 。 如 ( 李力 , 男 ) , ( 王平, 女 ) , 李力, 王平 , (刘伟,男)为三个元组,关系T的基数为3。 刘伟, 为三个元组,关系T的基数为3
(1)如果一个关系的元组个数是无限的,则称为无限关系; 如果一个关系的元组个数是无限的, (2)如果一个关系的元组个数是有限的,则称为有限关系。 如果一个关系的元组个数是有限的,则称为有限关系。 (3)由于计算机存储系统的限制,我们一般不去处理无限关系,而 由于计算机存储系统的限制,我们一般不去处理无限关系, 只考虑有限关系。 只考虑有限关系。
◎ 1. 元素中的每一个di叫做一个分量(Component),来 元素中的每一个di叫做一个分量(Component), 自相应的域(di∈Di) 自相应的域(di∈Di) ◎ 2. 每一个元素(d1,d2,d3,…,dn)叫做一个n元 每一个元素( dn)叫做一个n 组 (n-tuple) , 简称 元组( Tuple) 。 但元组不是di的 tuple) 简称元组 ( Tuple) 但元组不是di的 集合,元组的每个分量(di)是按序排列的。 集合,元组的每个分量(di)是按序排列的。如: ◎ (1,2,3)≠(2,3,1)≠(1,3,2); ◎ 而集合中的元素是没有排序次序的,如(1,2,3)= 而集合中的元素是没有排序次序的, (2,3,1)=(1,3,2)。
4. 数学上关系是笛卡尔积的任意子集,但在实际应用中关系 数学上关系是笛卡尔积的任意子集, 是笛卡尔积中所取的有意义的子集。 例如在表2 是笛卡尔积中所取的有意义的子集 。 例如在表 2.1 中选取 一个子集构成如下关系, 一个子集构成如下关系,显然不符合实际情况
姓名 李力 李力 性别 男 女
在关系模型中,关系可进一步定义为: 在关系模型中,关系可进一步定义为:
第二章 关系模型
上一章介绍了三种主要的数据模型: 上一章介绍了三种主要的数据模型: 三种主要的数据模型
层次模型 网状模型 关系模型 其中关系模型简单灵活,并有着坚实的理论基础,已 其中关系模型简单灵活,并有着坚实的理论基础,已 成为当前最流行的数据模型。 成为当前最流行的数据模型。
本章主要讲述: 本章主要讲述:
3. 若Di(i=1,2,……n)为有限集,Di中的集合元素个数称为Di的 Di(i=1 ……n 为有限集,Di中的集合元素个数称为Di的 基 数 , 用 mi ( i=1 , 2 , ……n ) 表 示 , 则 笛 卡 尔 积 i=1 ……n D1×D2×……×Dn的基数M(即元素(d1,d2,……dn)的个数) ……×Dn的基数M 即元素( ,d2 ……dn)的个数) 为所有域的基数的累乘之积, 为所有域的基数的累乘之积,即 M=
◎ 如上例中的教师—课程数据库的关系模型就是这样建 如上例中的教师— 立的。 立的。
2.2 关系的定义
在关系模型中, 数据是以二维表的形式存在的 , 在关系模型中 , 数据是以二维表的形式存在的, 这个二维表就叫做关系。 这个二维表就叫做关系。 关系理论是以 集合代数理论为基础的 , 因此 , 关系理论 是以集合代数 理论为基础的, 因此, 我 们可以用集合代数给出二维表的“关系”定义。 们可以用集合代数给出二维表的“关系”定义。 为了从集合论的角度给出关系的定义, 为了从集合论的角度给出关系的定义 , 我们先引 入域和笛卡尔积的概念。 笛卡尔积的概念。
定义在域D 定义在域 D1 , D2 , ……Dn( 不要求完全相异 ) 上的关系由关 ……Dn ( 不要求完全相异) 系头(Heading)和关系体(Body)组成。 系头(Heading)和关系体(Body)组成。
◎ 关系头:由属性名A1,A2,…,An的集合组成,每个属性Ai正好 关系头:由属性名A An的集合组成,每个属性Ai正好 对应一个域Di(i=1 对应一个域Di(i=1,2,…,n),关系头,也称关系框架,相对 关系头,也称关系框架, 固定,是关系的数据结构的描述。 固定,是关系的数据结构的描述。 ◎ 关系体:是指关系结构中的内容或者数据,并非固定不变,它随 关系体:是指关系结构中的内容或者数据,并非固定不变, 元组的建立、删除或修改而变化。 元组的建立、删除或修改而变化。
2.2.1 域(Domain) Domain) 域是一组具有相同数据类型的值的集合, 域是一组具有相同数据类型的值的集合 , 又称为 值域。 值域。(用D表示) 表示)
◎ 例如整数、实数、字符串的集合。 例如整数、实数、字符串的集合。
域中所包含的值的个数称为域的基数 ( 域中所包含的值的个数称为域的 基数( 用 m 表 示)。 关系中用域表示属性的取值范围。 关系中用域表示属性的取值范围。例如:
∏m
i =1
n
i
例如:上述表示教师关系中姓名、 例如:上述表示教师关系中姓名、性别两个域的笛卡尔积为: D1×D2={(李力,男),(李力,女),(王平,男),(王平, ={(李力, 李力, 王平, 王平, 女),(刘伟,男),(刘伟,女)} 刘伟, 刘伟, 其中: 李力、王平、刘伟、 李力、王平、刘伟、男、女都是分量 (李力,男),(李力,女)等是元组 李力, 李力, 其基数M=m1 其基数M=m1×m2=3*2=6 元组的个数为6 元组的个数为6
2.2.3 关系(Relation) 关系(Relation) 笛卡尔积D 笛卡尔积 D1×D2×…×Dn的任一子集称为定义 Dn 的任一子集称为定义 在域D 在域 D1 , D2 , …Dn 上的n 元 关系 ( Relation ) , Dn上的 n 关系( Relation) 可用R 可用R(D1,D2……Dn)表示 ……Dn) ◎ 如上例D1×D2笛卡尔积的子集可以构成教师关系T1, 如上例D 笛卡尔积的子集可以构成教师关系T
3. 同样可以把关系看成一个二维表。其中, 同样可以把关系看成一个二维表。其中,
(1)表的框架由域Di(i=1,2,……n)构成; 表的框架由域Di(i=1 ……n (2)表的任意一行对应一个元组; (3)表的每一列来自同一域; (4)域可以相同,为了加以区别,每列起一个名字,称为属性,n 域可以相同,为了加以区别,每列起一个名字,称为属性, 目关系有n 个属性,属性的名字唯一,属性的取值范围Di(i=1 目关系有n 个属性,属性的名字唯一,属性的取值范围Di(i=1 , 2,…,n)称为值域 称为值域 (5)具有相同关系框架的关系成为同类关系,例如,有另一个关系 具有相同关系框架的关系成为同类关系,例如, T2,如表2.3所示: 如表2 姓名 性别 张雪 女 张兰 女 T1和T2是同类关系。 是同类关系。
2.2.2 笛卡尔积(Cartesian Product) 笛卡尔积(Cartesian 给定一组域D 给定一组域 D1 , D2 , … , Dn( 它们可以包含相 Dn ( 同的元素, 即可以完全不同 , 同的元素 , 即可以完全不同, 也可以部分或全部 相 同 ) 。 D1 , D2 , … , Dn 的 笛 卡 尔 积 为 D1×D2×……×Dn={ ( d1 , d2 , … , dn ) ……× |di∈Di,i=1,2,…,n}。 |di∈Di,i=1 n}。 由定义可以看出,笛卡尔积也是一个集合。 由定义可以看出,笛卡尔积也是一个集合。 其中:
由上例可以看出, 由上例可以看出 , 在一个关系中可以存放两类信 息:
◎ 一类是描述实体本身的信息 ◎ 一类是描述实体(关系)之间的联系的信息 一类是描述实体(关系)
在层次模型和网状模型中, 把有联系的实体 ( 在层次模型和网状模型中 , 把有联系的实体( 元 组 ) 用指针链接起来, 实体之间的联系是通过指 用指针链接起来 , 实体之间的联系是通过 指 针来实现的。 来实现的。 而关系模型则采用不同的思想, 即用 二维表来表 而关系模型则采用不同的思想 , 即用二维表 来表 示实体与实体之间的联系, 示实体与实体之间的联系 , 这就是关系模型的本 质所在。 质所在。 所以, 在建立 关系模型时 所以 , 在建立关系模型 时 , 只要把的所有的实体 及其属性用关系框架来表示, 及其属性用关系框架来表示 , 同时把实体之间的 关系也用关系框架来表示, 关系也用关系框架来表示 , 就可以得到一个关系 模型。 模型。
2.3 关系的性质
尽管关系 与 二维表格、 传统的 数据文件是非常类 尽管 关系与 二维表格 、 传统的数据文件 是非常类 似的,但它们之间又有重要的区别。 似的,但它们之间又有重要的区别。 严格地说, 关系是种规范化了的 二维表中行的集 严格地说 , 关系 是种规范化了的二维表中行的集 合 , 为了使相应的数据操作简化, 在关系模型中 , 为了使相应的数据操作简化 , 在关系模型中, 对关系作了种种限制, 对关系作了种种限制,关系具有如下特性:
教师关系T