[计算机软件及应用]2 关系数据库课件

上传人:我*** 文档编号:145258752 上传时间:2020-09-18 格式:PPT 页数:100 大小:985KB
返回 下载 相关 举报
[计算机软件及应用]2 关系数据库课件_第1页
第1页 / 共100页
[计算机软件及应用]2 关系数据库课件_第2页
第2页 / 共100页
[计算机软件及应用]2 关系数据库课件_第3页
第3页 / 共100页
[计算机软件及应用]2 关系数据库课件_第4页
第4页 / 共100页
[计算机软件及应用]2 关系数据库课件_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《[计算机软件及应用]2 关系数据库课件》由会员分享,可在线阅读,更多相关《[计算机软件及应用]2 关系数据库课件(100页珍藏版)》请在金锄头文库上搜索。

1、第二章 关系数据库,主要内容,关系数据库概述 关系数据结构 关系的完整性 关系代数 传统的集合运算 专门的集合运算 关系演算 关系数据库管理系统,关系数据库概述,关系数据库系统:是支持关系模型的数据库系统。 关系模型:由数据结构、关系操作集合和完整性约束三部分组成。,单一数据结构,课程(课程号,课程名,学分) 学生(学号,姓名,所在系) 选修(课程号,学号,成绩), 在关系模式中,实体和实体之间的联系均用关系表示; 在用户看来,关系就是二维表格。,关系操作,查询(Query) 选择(Select) 投影(Project) 连接(Join) 除(Divide) 并(Union) 交(Inters

2、ection) 差(Difference) 更新(Renew) 增加(Insert) 删除(Delete) 修改(Update),关系数据语言,关系语言是高度非过程化的语言。 关系代数、关系演算均为抽象的查询语言,与具体的DBMS不完全一样。,关系数据库概述,关系的完整性约束条件,实体完整性,关系模型必须满足的完整性约束条件,参照完整性,用户定义的完整性:针对某一具体数据库的约束条件 反映某一具体应用所设计的数据 必须满足的语义要求。,(关系系统自动支持),主要内容,关系数据库概述 关系数据结构 关系的完整性 关系代数 传统的集合运算 专门的集合运算 关系演算 关系数据库管理系统,关系数据结构

3、,关系模型建立在集合代数的基础上,从集合论的角度给出关系数据结构的形式化定义: 域(Domain) 定义:是一组具有相同数据类型的值的集合 基数:元组的个数 理解:表格中的一个列。 举例: 学号:第1位数是“S”,表示学生,2-3两位数是入学年号,4-6三位数是序号。 年龄:大于0小于200的整数。 性别:男、女 成绩:0100的整数,关系数据结构,笛卡尔积(Cartesian Product) 定义:给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn)diDi,i1,2,n 说明: 每一个元素(d1,d2,dn)叫作一个n元组(n

4、-tuple),或简称为元组(Tuple)。 元素中的每一个值di叫作一个分量(Component)。 若Di(i1,2,n)为有限集,其基数(Cardinal number)为mi(i1,2,n),则D1D2Dn的基数M为:,习题,若D1=a1,a2,a3,D2=1,2,3,则D1D2集合中共有元组_个. A.6 B.8 C.9D.12 答:两个关系笛卡尔积中元组的个数为两个关系中元组个数的乘积.本题答案为C,关系数据结构,关系(Relation) 定义:D1D2Dn的子集叫作在域D1、D2、Dn上的关系,表示为: R(D1,D2,Dn) 这里R表示关系的名字,n是关系的目或度(Degree

5、)。 举例:一个导师只有一个专业,一个学生只能有一个导师,一个导师可以指导多个学生,如图,关系数据结构,理解: 关系中的每个元素是关系中的元组,通常用t表示。 关系是笛卡积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。 由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute),n目关系必有n个属性。,域与属性的区别与联系,关系数据结构, 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。若一个关系有多个候选码,则选定其中一个为主码(Primary key)。主码的诸属性称为主属性(Prime

6、attribute)。在最极端的情况下,关系模式的所有属性组是这个关系模式的侯选码,称为全码(All-key)。 不包含在任何侯选码中的属性称为非码属性(Non-key attribute)。,主码由多个属性组成,主码由所有属性组成(全码),关系数据结构,关系的三种类型 三种类型:基本表(或基表)、查询表和视图表。 基本表:实际存在的表,它是实际存储数据的逻辑表示。 查询表:查询结果对应的表。 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。 基本表应该具有的性质:,关系性质1同质的列,关系性质2不同的属性名,姓名2 曾用名,关系性质3属性无序,关系性质4元组不重复,关系性

7、质5元组无序,关系性质6分量是原子,非规范化关系,规范化关系,关系数据结构,回顾 在关系数据库,关系模式是型,关系是值。 关系是关系模式在某一时刻的状态或内容。 关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。 关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。因此,关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。,?,关系与普通表格、文件有什么区别? 答:与表格、文件相比,关系有下列3个不同点: 在数据库范围内,关系的每个属性值是不可分解的; 关系中不允许出现重复元组; 由于关系是一个集合,因此不考虑元组的顺序

8、。,关系数据结构,关系模式(Relation Schema) 定义:对关系的描述。一个关系模式应当是一个五元组。它可以形式化地表示为: R(U, D, DOM, F)。 R关系名, U为组成该关系的属性名集合, D属性组U中属性所来自的域, DOM属性向域的映象集合, F属性间数据的依赖关系集合。 举例:如图中的关系模式为 R(U, D, DOM, F) R学生情况表, U班级,最好学生,最差学生, D班级,学生, DOM班级-班级,学生-最好学生,学生-最差学生, F最好学生最差学生。,关系数据结构,关系数据库 定义:在一个给定的应用领域中,所有实体及实体之间的联系的关系的集合构成一个关系数

9、据库。 理解: 在关系数据库中,实体以及实体间的联系都是用关系来表示的。 关系数据库也有型和值之分。 关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。 关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。 注:依据上下文进行区分。 举例:导师实体、研究生实体、导师与研究生之间一对多联系的实体。,习题,在通常情况下,下面的关系中不可以作为关系数据库的关系是 。 A. R1(学生号,学生名,性别) B. R2(学生号,学生名,班级号) C. R3(学生号,学生名,宿舍号) D. R4(学生号,学生名,简历) 答:关系必须是规范化

10、的,即关系中的每个属性都是最小的不可再分的,而R4关系中的“简历”属性可以再分。本题答案为D。,主要内容,关系数据库概述 关系数据结构 关系的完整性 关系代数 传统的集合运算 专门的集合运算 关系演算 关系数据库管理系统,关系的完整性,关系模型的完整性规则是对关系的某种约束条件。 包括三类完整性约束:实体完整性、参照完整性和用户定义的完整性,关系的完整性,实体完整性(Entity Integrity) 规则:若属性A是基本关系R的主属性,则属性A不能取空值。 理解: 实体完整性是针对基本表而言的,一个基本表通常对应现实世界的一个实体集。如:学生关系对应于学生的集合。 现实世界中的实体是可区分的

11、,即它们应该具有唯一性标识。相应地,关系模型中以主码作为唯一性标识。 主码中的属性(即主属性)不能取空值,不仅是主码整体,而是所有主属性均不能为空。反过来,若主属性为空值,说明该实体不完整,即违背了实体完整性。 举例:学生成绩表中,姓名和课程不能有一个为空或都为空。,关系的完整性,参照完整性 (Referential Integrity) 外码 定义:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(Foreign key),并称基本关系R为参照关系(Referencing relation),基本关系S为被参照关系(Refere

12、nced relation)或目标关系(Target relation)。关系R和S不一定是不同的关系。 理解:目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上。 举例:学生实体与专业实体的关系。,关系的完整性,用户定义的完整性(User Defined Integrity) 实体完整性和参照性适用于任何关系数据库系统。 此外,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。 关系数据

13、库系统一般包括如下几种用户定义的完整性约束: 空值(是否允许为空); 唯一性; 取值范围; 缺省值; 属性间函数依赖关系。,习题,根据关系模式的完整性规则,一个关系中的“主码” 。 A.不能有两个 B.不能成为另一个关系的外码 C.不允许为空 D.可以取值 答:一个关系中的“主码”不能为空。本题答案为C。,有关系:R(A,B,C)主码=A S(D,A)主码=D,外码=A,参照于R的属性A 关系R和S的元组如图2.5所示. 指出关系S中违反关系完整性规则的元组是_ A.(1,2) B.(2,NULL) C.(3,3) D.(4,1) 答:很明显,属性A是关系S的外码,它参照的是关系R中的主码A,

14、按照参照完整性规则,外码上的值只能是空值,或者为它所参照的关系R中主码A上的某个值.本题答案为C.,习题,主要内容,关系数据库概述 关系数据结构 关系的完整性 关系代数 传统的集合运算 专门的集合运算 关系演算 关系数据库管理系统,关系代数,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。 关系代数的运算对象是关系,运算结果亦为关系。 关系代数的运算分为两类:集合运算和专门的关系运算。 关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符,如下图所示。 集合运算将关系看成元组的集合,其运算是从关系的“水平”方向即

15、行的角度来进行的。 专门的关系运算不仅涉及行而且涉及列。 比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。,传统的集合运算,传统的集合运算是二目运算,包括四种运算:并、差、交、广义笛卡尔积。 并(Union) 定义:设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作: R S =t tR tS 理解:首先选择R中的所有元组,然后选择S中不属于R的元组。 举例:如图 (c),传统的集合运算,差(Difference) 定义:设关系R和关系S具有相同的目n,且相应的属性取自同一

16、个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作: RS =ttR tS 举例:如图 (d) 交(Intersection) 定义:设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作: RS =ttR tS 举例:如图 (e),习题,有两个关系R和S,分别包含15个和10个元组,那么在RS,R-S,RS中不可能出现的元组数目情况是_。 A.15,5,10 B.18,7,7 C.21,11,4 D.25,15,0 答: 答案A的情形:若RS为10个元组,那么RS为15个元组,R-S为5个元组是正确的。 答案B的情形:若RS为7个元组,那么RS应为18个元组,R-S应为8个元组 答案C的情形:若RS为4个元组,那么RS为21个元组,R-S为11个元组。 答案D的情形:若RS为0个元组,那么RS为25个元组,R-S为15个元组。 本题答案为B。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号