数据库第2章 关系数据.ppt
《数据库第2章 关系数据.ppt》由会员分享,可在线阅读,更多相关《数据库第2章 关系数据.ppt(131页珍藏版)》请在三一办公上搜索。
1、2023/11/14,兰彬制作,1,第二章 关系数据库,2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数,2023/11/14,兰彬制作,2,关系数据库简介,1970年,美国IBM公司的E.F.Codd提出关系数据模型,之后,提出了关系代数和关系演算的概念1971-1972年,E.F.Codd提出了关系的第一、第二、第三范式1974年,E.F.Codd提出了关系的BC范式1976年,Fagin提出了第四范式,后来又有人提出第五范式 80年代后,关系数据库系统成为最重要、最流行的数据库系统,2023/11/14,兰彬制作,3,关系数据库的典型实例,典型实验系统Syst
2、em RUniversity INGRES典型商用系统ORACLESYBASEINFORMIXDB2INGRES,2023/11/14,兰彬制作,4,国产支柱型关系数据库管理系统:东软集团有限公司的OpenBase、人大金仓的Kingbase ES、武汉达梦公司的DM4和中国航天科技集团公司OSCAR,2023/11/14,兰彬制作,5,第二章 关系数据库,2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数,2023/11/14,兰彬制作,6,2.1 关系模型概述,关系数据库系统是支持关系模型的数据库系统关系模型的三大组成部分关系数据结构关系操作集合关系完整性约束,2
3、023/11/14,兰彬制作,7,1.关系模型的数据结构,单一的数据结构-关系现实世界的实体以及实体间的各种联系均用关系来表示数据的逻辑结构-二维表从用户角度,关系模型中数据的逻辑结构是一张二维表。,2023/11/14,兰彬制作,8,2023年11月14日,8,二维表,表2-1学生基本情况表,表有表名,2023/11/14,兰彬制作,9,2.关系操作集合,1)关系操作的种类2)关系操作的特点3)关系数据语言的种类4)关系数据语言的特点,2023/11/14,兰彬制作,10,关系操作集合(续),1)常用的关系操作数据查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改,2023/11/
4、14,兰彬制作,11,关系操作集合(续),2)关系操作的特点集合操作方式,即操作的对象和结果都是集合。关系模型操作的方式:一次一集合非关系模型操作的方式:一次一记录,2023/11/14,兰彬制作,12,关系操作集合(续),3)关系数据语言的种类,2023/11/14,兰彬制作,13,关系操作集合(续),4)关系数据语言的特点关系语言是一种高度非过程化的语言具备完备的表达能力,功能强能够嵌入高级语言中使用,2023/11/14,兰彬制作,14,3.关系的三类完整性约束,实体完整性参照完整性这2种完整性通常由关系系统自动支持用户定义的完整性反映应用领域需要遵循的约束条件,体现了具体领域中的语义约
5、束用户定义后由系统支持,2023/11/14,兰彬制作,15,第二章 关系数据库,2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数,2023/11/14,兰彬制作,16,2.2 关系数据结构,关系模型建立在集合代数的基础上关系数据结构的基本概念关系关系模式关系数据库,2023/11/14,兰彬制作,17,2.2 关系数据结构,2.2.1 关系2.2.2 关系模式2.2.3 关系数据库,2023/11/14,兰彬制作,18,2.2 关系数据结构,2.2.1 关系2.2.2 关系模式2.2.3 关系数据库,2023/11/14,兰彬制作,19,2.2.1 关系,域(Do
6、main)2.笛卡尔积(Cartesian Product)3.关系(Relation),2023/11/14,兰彬制作,20,域(Domain),域:例:整数实数大于 0 并且小于 100 的正整数所有同学的名字男,女,是一组具有相同数据类型的值的集合。,数字、字符及其子集。,2023/11/14,兰彬制作,21,2.笛卡尔积(Cartesian Product),笛卡尔积:给定一组域 D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn(d1,d2,dn)diDi,i1,2,n,域的积,分量,2023/11/14,兰彬制作,22,笛卡尔积 例1,有3个域,A(
7、a1,a2),B(b1,b2,b3),C(c1,c2),则A,B,C的笛卡儿积为:ABC(a1,b1,c1),(a1,b1,c2),(a1,b2,c1),(a1,b2 c2),(a1,b3,c1),(a1,b3,c2),(a2,b1,c1),(a2,b1,c2),(a2,b2,c1),(a2,b2,c2),(a2,b3,c1),(a2,b3,c2),元 组分 量基 数,2023/11/14,兰彬制作,23,笛卡尔积 例2,有3个域:D1=SUPERVISOR=张清玫,刘逸,D2=SPECIALITY=计算机专业,信息专业,D3=POSTGRADUATE=李勇,刘晨,王敏则 D1D2D3(张清玫
8、,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏),2023/11/14,兰彬制作,24,笛卡尔积(续),笛卡尔积的表示方法二维表表中的每行对应一个元组,每列对应一个域。在例2 中,12个元组可列成一张二维表,2023/11/14,兰彬制作,25,2023/11/14,兰彬制作,26,3.关系(Relation),1)关系
9、 D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为 R(D1,D2,Dn)R:关系名;n:关系的目或度(Degree),例如:D1=导师=张清玫,刘逸 D2=专业=计算机专业,信息专业 D3=研究生=李勇,刘晨,王敏则 SAP(导师,专业,研究生)就是一个关系,2023/11/14,兰彬制作,27,有意义的关系及其值:,候选码,主码,2023/11/14,兰彬制作,28,码,超码能唯一标识实体的属性或属性组称作超码超码的任意超集也是超码候选码(Candidate Key)关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候
10、选码任何一个候选码中的属性称作主属性主码(Primary Key)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码外部码(Foreign Key)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码,2023/11/14,兰彬制作,29,关系(续),2)关系的表示关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域(属性)。,2023/11/14,兰彬制作,30,关系(续),3)三类关系基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示查询表:查询结果对应的表视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数
11、据,2023/11/14,兰彬制作,31,4)对关系的几点说明,笛卡尔积不满足交换律,即(d1,d2,dn)(d2,d1,dn)但关系满足交换律,即(d1,d2,,di,dj,,dn)=(d1,d2,,dj,di,dn)(i,j=1,2,n)例如:(学号,姓名,性别,年龄)(学号,姓名,年龄,性别),2023/11/14,兰彬制作,32,4)对关系的几点说明,关系可以是一个无限集合但无限关系在数据库系统中是无意义的因此,数据库中的关系必须是 有限集合。,2023/11/14,兰彬制作,33,5)基本关系的性质,列是同质的(Homogeneous)不同的列可出自同一个域 列的顺序无所谓 任意两个
12、元组不能完全相同 行的顺序无所谓分量必须取原子值,2023/11/14,兰彬制作,34,2.2 关系数据结构,2.2.1 关系2.2.2 关系模式2.2.3 关系数据库,2023/11/14,兰彬制作,35,2.2.2 关系模式,1什么是关系模式2定义关系模式3.关系模式与关系,2023/11/14,兰彬制作,36,1什么是关系模式,关系模式 是 型关系 是 值关系模式是对关系的描述,2023/11/14,兰彬制作,37,2定义关系模式,关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名U 组成该关系的属性名集合D 属性组 U 中属性所来自的域dom 属性向域的映象集合F 属性间的
13、数据依赖关系集合,2023/11/14,兰彬制作,38,定义关系模式(续),例:D1人(张清玫,刘逸,李勇,刘 晨,王 敏)D2专业(计算机专业,信息专业),R(导师,专业,研究生,人,专业,导师人,研究生人,专业专业,F),关系模式的表示如下:,2023/11/14,兰彬制作,39,定义关系模式(续),关系模式通常可以简记为 R(U)或 R(A1,A2,An)R:关系名A1,A2,An:属性名注:域名及属性向域的映象常常直接说明为 属性的类型、长度,学号:定义为 8位整数,2023/11/14,兰彬制作,40,3.关系模式与关系,关系模式对关系的描述,静态的、稳定的关系 是关系模式在某一时刻
14、的状态或内容,是数据库中数据的具体值,是动态的、随时间不断变化的关系模式和关系往往统称为关系,2023/11/14,兰彬制作,41,2.2 关系数据结构,2.2.1 关系2.2.2 关系模式2.2.3 关系数据库,2023/11/14,兰彬制作,42,2.2.3 关系数据库,关系数据库的定义:在一个给定的应用领域中,所有实体及实体之间联系的 关系的集合 构成一个关系数据库。关系数据库模式:关系数据库的型称为关系数据库模式,是对关系数据库的描述 关系数据库的值:是指数据库中在某一时刻对应的关系的集合,2023/11/14,兰彬制作,43,第二章 关系数据库,2.1 关系模型概述2.2 关系数据结
15、构2.3 关系的完整性2.4 关系代数,2023/11/14,兰彬制作,44,2.3 关系的完整性,关系模型的完整性规则:是对关系的某种约束条件。关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性,2023/11/14,兰彬制作,45,2.3.1 实体完整性,规则2.1 若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值例:学生(学号,姓名,系别)课程(课程号,课程名,学分)选课(学号,课程号,成绩),2023/11/14,兰彬制作,46,实体完整性(续),关系模型必须遵守实体完整性规则的原因:(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体
16、集。(2)现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。(3)相应地,关系模型中以主码作为唯一性标识。(4)主码中的属性即主属性不能取空值。,2023/11/14,兰彬制作,47,2.3.2 参照完整性,1.关系间的引用2.外码3.参照完整性规则,2023/11/14,兰彬制作,48,2023年11月14日,48,关系间的引用,例1 学生实体、专业实体以及专业与学生间的一对多联系 学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)学生关系中属性“专业号”要参照专业关系中属性的值。,例2 学生、课程及学生与课程之间的多对多联系 学生(学号,姓名,性别,专业号,年
17、龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),2023/11/14,兰彬制作,49,2023/11/14,兰彬制作,50,学生,学生选课,课程,2023/11/14,兰彬制作,51,关系间的引用(续),例 3 学生实体表示如下:学生(学号,姓名,性别,专业号,年龄,班长),2023/11/14,兰彬制作,52,2023年11月14日,52,外码(Foreign Key),设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码 基本关系R称为参照关系(Referencing Relation)基本关系S称为被参照关系(Ref
18、erencedRelation)或目标关系(Target Relation)。,2023/11/14,兰彬制作,53,说明关系R和S不一定是不同的关系目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别,2023/11/14,兰彬制作,54,参照完整性规则,定义:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值)或者等于 S
19、 中某个元组的 主码值。,2023/11/14,兰彬制作,55,参照完整性规则(续),例1:学生关系中,每个元组的“专业号”属性只能取下面两类值:(1)空值,表示尚未给该学生分配专业(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中,2023/11/14,兰彬制作,56,参照完整性规则(续),例2 选修(学号,课程号,成绩)“学号”和“课程号”是选修关系中的主属性按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值,2023/11/14,兰彬制作,57,关系的完整性(续),2.3.1 实体完整性2.3.2.参照完整性2.
20、3.3.用户定义的完整性,2023/11/14,兰彬制作,58,2.3.3 用户定义的完整性,用户定义的完整性:是针对某一个具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。,2023/11/14,兰彬制作,59,第二章 关系数据库,2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数,2023/11/14,兰彬制作,60,2.4 关系代数,概述 传统的集合运算 专门的关系运算,2023/11/14,兰彬制作,61,概述,1.关系代数:,一种抽象的
21、查询语言,用对关系的运算来表达查询,3.关系代数运算的三个要素:,2.运算的三要素:,运算对象,运算符,运算结果,4.关系代数运算的分类:,运算对象关系,运算结果关系,运算符四类,传统的集合运算并、差、交、广义笛卡尔积专门的关系运算选择、投影、连接、除,2023/11/14,兰彬制作,62,表2.4 关系代数运算符,2023/11/14,兰彬制作,63,2.4 关系代数,概 述传统的集合运算 专门的关系运算,2023/11/14,兰彬制作,64,1.并(Union),设关系 R 和 S:具有相同的目 n(即两个关系都有 n 个属性)相应的属性取自同一个域则:1)关系 R 和 S 的 并 记为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库第2章 关系数据 数据库 关系 数据
链接地址:https://www.31ppt.com/p-6578562.html