数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础

上传人:E**** 文档编号:89499132 上传时间:2019-05-25 格式:PPT 页数:47 大小:752.50KB
返回 下载 相关 举报
数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础_第1页
第1页 / 共47页
数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础_第2页
第2页 / 共47页
数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础_第3页
第3页 / 共47页
数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础_第4页
第4页 / 共47页
数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础》由会员分享,可在线阅读,更多相关《数据库系统原理与应用技术 教学课件 ppt 作者 陈漫红 第3章 关系数据库理论基础(47页珍藏版)》请在金锄头文库上搜索。

1、数据库系统原理 与应用技术,机械工业出版社,第3章 关系数据库理论基础,3.1 关系模型概述 3.2 关系数据模型的形式化定义 3.3 关系模式与关系数据库 3.4 关系模型的完整性约束 3.5 关系代数 3.6 本章小结,3.1 关系模型概述,3.1.1 关系数据结构 3.1.2 关系操作 3.1.3 数据完整性约束,3.1.1关系数据结构,关系数据模型源于数学。 用二维表来组织数据,这个二维表在关系数据库中就称为关系。 关系数据库就是表或者说是关系的集合。,学生基本信息表,3.1.2 关系操作,传统的集合运算: 并(Union) 交(Intersction) 差(Difference) 广

2、义笛卡尔积(Extended Cartesian Product) 专门的关系运算: 选择(Select) 投影(Project) 连接(Join) 除(Divide) 有关的数据操作: 查询(Query) 增加(Insert) 删除(Delete) 修改(Update),关系操作语言,3.1.3 数据完整性约束,数据完整性是指数据库中存储的数据是有意义的或正确的。 主要包括三大类: 实体完整性 参照完整性 用户定义的完整性,3.2 关系数据模型的形式化定义,1.笛卡尔积: 设D1,D2,Dn为任意集合,定义笛卡尔积D1,D2,Dn为: D1D2 Dn(d1,d2,dn)|diDi,i1,2,

3、n 其中每一个元素(d1,d2,dn)称为一个n元组,简称元组。元组中每一个di称为是一个分量。,笛卡尔积示例,设:D1=学生名称集合(sname)=李清,刘涛,王亮 D2=性别集合(ssex)=男,女 D3=专业集合(dname)=计算机专业,管理工程专业 则D1,D2,D3的笛卡尔积为: D1D2D3= (李清,男,计算机专业),(李清,男,管理工程专业), (李清,女,计算机专业),(李清,女,管理工程专业), (刘涛,男,计算机专业),(刘涛,男,管理工程专业), (刘涛,女,计算机专业),(刘涛,女,管理工程专业), (王亮,男,计算机专业),(王亮,男,管理工程专业), (王亮,女

4、,计算机专业),(王亮,女,管理工程专业),笛卡尔积示例,D1,D2 ,D3的笛卡尔积,3.2 关系数据模型的形式化定义,2.关系(Relation) D1D2Dn的子集叫做在域D1,D2,Dn上的关系,表示为:R(D1,D2,Dn) 这里R表示关系的名字,n是关系的目或度(Degree)。 关系中的每个元素是关系中的元组,通常用t表示。 当n=1时,称该关系为单元关系(Unary relation)。 当n=2时,称该关系为二元关系(Binary relation)。,3.2 关系数据模型的形式化定义,关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的列对应一个域。

5、由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。 若关系中的某一属性的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。 若有一个关系有多个候选码,则选定其中一个为主码(Primary Key)。 主码的诸属性称为主属性(Prime attribute)。 不包含任何候选码中的属性称为非码属性(Non-key attribute)。 在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。,3.2 关系数据模型的形式化定义,3、关系的性质 列是同质的(Homogeneous),即每一列中的分量同一类

6、型的数据,来自同一个域。 不同的列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名。 列的顺序无所谓,即列的次序可以任意交换。 任意两个元组不能完全相同 。 行的顺序无所谓,即行的次序可以任意交换。 分量必须取原子值,即每一个分量都必须是不可分的数据项。,3.3关系模式与关系数据库,3.3.1 关系模式 3.3.2 关系数据库,3.3.1关系模式,关系模式是对关系的描述,包括如下方面: 首先,关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。 其次,一个关系通常是由赋予它的元组语义来确定的。 关系模式应当刻画出这些完整性约束条件。 所以,一个关系模式应当有一个

7、5元组: R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性的域,dom为属性向域的映像集合,F为属性间数据的依赖的集合。 关系模式通常可以简记为: R(U)或R(A1,A2,An),3.3.2 关系数据库,1.关系数据库 关系数据库就是基于关系数据模型的数据库,而关系数据库模式是关系数据库中一组关系模式的集合。 2.关系数据库模式 关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。,3.4 关系模型的完整性约束,3.4.1 实体完整性 3.4.2 参照完整性 3.4.3 用户定义完

8、整性,3.4.1 实体完整性,实体完整性规则保证关系中的每个元组都是可以识别的和唯一的。 即是指关系数据库中所有的表都必须有主码,而且表中不允许存在如下的记录: 无主码值的记录 主码值相同的记录 对于实体完整性规则说明如下: (1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。 (2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。 (3)相应地,关系模型中以主码作为唯一性标识。 (4)主码中的属性即主属性不能取空值。,3.4.2 参照完整性,现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。 参照完整性规则就是定义外码

9、与主码之间的引用规则。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks的主码Ks相对应,则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。,3.4.3 用户定义完整性,任何关系数据库系统都应该支持实体完整性和参照完整性。 除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。 它反映某一具体应用所涉及的数据必须满足的语义要求。,用户定义的完整性,按应用语义,属性数据有: 类型与长度限制:方便计算机操作 取值范围限制:防止属

10、性值与应用语义矛盾 语义许可取值范围约束例: 例如:成绩取 0 100, 优、良、中、及格、不及格,3.5关系代数,3.5.1 关系代数运算 3.5.2 传统的集合运算 3.5.3 专门的关系运算,3.5.1 关系代数运算,关系模型源于数学,关系是由元组构成的集合,可以通过关系的运算来表达查询要求 关系代数是关系操作语言的一种传统的表示方式,它是一种抽象的查询语言。 关系代数的运算可分为两大类: 传统的集合运算:广义笛卡尔积运算、并、交和差运算。 专门的关系运算:选择、投影、连接和除运算。,3.5.1关系代数运算,关系运算符,3.5.2 传统的集合运算,传统的集合运算是二目运算, 设关系R和S

11、均是n元关系,且相应的属性值取自同一个值域,则可以定义三种运算: 并运算() 交运算() 差运算(),1、并(union),关系R与关系S的并记为: RSt | tR tS 其结果仍是n目关系,由属于R或属于S的元组组成。,2、差(difference),关系R与关系S的差记为: RSt | tR tS 其结果仍是n目关系,由属于R并且也属于S的元组组成。,3、交(intersection),关系R与关系S的交记为: RSt | tR tS 其结果仍是n目关系,由属于R并且也属于S的元组组成。,4、广义笛卡尔积(extended cartesian product),两个分别为n目和m目的关系

12、R和关系S的广义笛卡尔积是一个(mn)列的元组的集合。 元组的前n个列是关系R的一个元组,后m个列是关系S的一个元组。 若R有K1个元组,S有K2个元组,则关系R和关系S的广义笛卡尔积有K1K2个元组,记做: RStrts | trR tsS trts表示由两个元组tr和ts前后有序连接而成的一个元组。,广义笛卡尔积示例,3.5.3 专门的关系运算,专门的关系运算包括:投影、选择、连接和除等操作,其中第一个为一元操作,后三者为二元操作。 投影 选择 连接 除,一元操作,二元操作,1选择(Selection),F(R) r | rR F(t)真 其中:是选择运算符,R是关系名,r是元组,F是逻辑

13、表达式,取逻辑“真”值或“假”值。 经选择运算后所得的关系是从R中选出满足条件F为真的元组所构成的与R是同类关系. 例,选择系为计算机系的学生信息: Sdept计算机系(学生表),2投影(Projection),A(R) r.A | rR 其中: 是投影运算符, R是关系名, A是被投影的属性或属性组。 r.A表示r这个元组中相应于属性(集)A的分量,也可以表示为rA。 投影运算的结果是选择指定的属性,形成一个可能有重复行的表,再删除重复的行,形成新的表. 例如选择sname,sdept两个列构成新关系: sname, sdept(Student),3、连接(join),连接运算用来连接相互之

14、间有联系的两个关系,从而产生一个新的关系。这个过程由连接属性(字段)来实现。一般该连接属性(字段)是出现在不同关系中的语义相同的属性。 其中: A和B分别是关系R和S上可比的属性组, 是比较运算符, 连接运算从R和S的广义笛卡尔积RS中选择(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较运算符的元组。 连接运算中最重要也是最常用的连接有两个:一是等值连接;还有就是自然连接。,等值连接,当为“”时的连接为等值连接, 是从关系R与关系S的广义笛卡尔积中选取A,B属性值相等的那些元组。,自然连接,自然连接是一种特殊的连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且自然连接去掉

15、结果中的重复列。 自然连接与等值连接的差别为: 自然连接要求相等的分量必须有共同的属性名,等值连接则不要求; 自然连接要求把重复的属性名去掉,等值连接却不这样做。,R,S,R,S,R,S,R,S,4、除(division),除法的简单形式 设关系S的属性是关系R的属性的一部分,则RS为这样一个关系: (1)此关系的属性是由属于R但不属于S的所有属性组成; (2)RS的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于RS的一个元组t,则t与S的任一元组连接后,都为R中原有的一个元组。,4、除(division),除法的一般形式 设有关系R(X,Y)和S(Y,Z),其中X、Y、Z为关系的属性组,则: R(X,Y) S(Y,Z)R(X,Y) Y(S) 关系的除运算是关系运算中最复杂的一种,上式解决了R S的属性组成及其元组应满足的条件,但要确定R S元组,要先引入象集的概念。,4、除(division),象集:给定一个关系R(X,Y),X和Y为属性组。定义,当tXx时,x在R中的象集为: Y x = tY | tR tX=x 上式中:tY和tX分别表示R中的元组t 在属性组Y和X上的分量的集合。 除法的一般形式: 设有关系R(X,Y)和S(Y,Z),其中X、Y、Z为关系的属性组,则: RStrX | trR Y(S)Yx ,除示例,所有选修了课程号为c02和c0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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