关系数据库基础

上传人:woxinch****an2018 文档编号:54020032 上传时间:2018-09-07 格式:PPT 页数:96 大小:2.97MB
返回 下载 相关 举报
关系数据库基础_第1页
第1页 / 共96页
关系数据库基础_第2页
第2页 / 共96页
关系数据库基础_第3页
第3页 / 共96页
关系数据库基础_第4页
第4页 / 共96页
关系数据库基础_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《关系数据库基础》由会员分享,可在线阅读,更多相关《关系数据库基础(96页珍藏版)》请在金锄头文库上搜索。

1、第2章 关系数据库基础,国家“十三五”重点出版规划项目 上海高校优秀教材奖获得者主编,数据库原理及应用与实践,主编 贾铁军 谷伟 副主编 俞小怡 王冠 万程 编者 戴春妮 王坚,上海市高校精品课程 上海高校优质在线课程,基于SQL Server2016(第3版 立体化.新形态),目 录,第2章 关系数据库基础,教学目标 掌握关系模型及关系数据库的基本概念 掌握关系模型的完整性规则及用法 熟练掌握常用的关系运算及其应用 了解关系演算和查询优化基本过程 掌握常量变量函数及表达式应用,重点,重点,重点,2.1.1 关系模型有关概念,1970年,IBM研究员E.F.Codd博士在刊物Communica

2、tion of the ACM上发表了一篇论文中提出了关系模型的概念,奠定了关系模型的理论基础,这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。1974 年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。,案例2-1,复习,2.1 关系模型概述,1. 关系模型的常用概念关系模型是用二维表结构形式表示实体及实体之间联系的数据模型。(1)属性、记录、分量和关系.在关系模型中,二维

3、表的列称为属性 (也称字段),各属性有独立的名称,属性值对应于各行的字段值。 二维表的行称为记录(也称元组);一条记录的一个属性值被称为一个分量(也称为数据项);二维表记录的集合称为关系,每个关系有一个关系名。(2)域.是一组相同数据类型的属性值的集合.在关系中用域表示属性的取值范围.属性A的域用DOM(A)表示,域中所包含的值的个数(行数)称为域的基数(用m表示).每个属性对应一个域,不同的属性可对应同一域。已知下述三个域,确定其基数:D1(姓名)=周明, 杨涛, 张晓东,李立,王军,m=5D2(年龄)=43, 38, 41, 39, 36 ,D2基数m=5D3(性别)=男,女,m=2,2.

4、1.1 关系模型有关概念,案例2-2,属性的个数称为元数,即列数,属性(字段),元组(记录),2.1.1 关系模型有关概念,(3)关系模式。关系模式(Relation Schema)是对关系的 描述方式表示为: R(U,D,dom,F), 如客户(U,A,B,购物)其中,R为关系名, U为组成该关系的属性名集合, D为属性组U中属性所来自的域;dom为属性向域的映像集合; F为属性间数据的依赖关系集合,类似函数F(x,y,z)。,注册日期,属性组,注册顺序,数据表关联,客户(客户ID,客户名称,注册日期,联系人ID,类型),2.1.1 关系模型有关概念,(4)关系模型。是关系模式的集合,是用键

5、表示实体和实体间联系的数据模型。 (5)键(Key)也称为主键或码,在关系中,用于标识记录(元组)的属性或属性组。在实际应用中主要有3种键。 *1)超键。超键(Super Key)关系中能唯一标识记录(元组)的属性或属性集称为关系模式的超键。 *2)候选键。候选键(Candidate Key)指不含有多余属性的超键称为候选键。,2.1.1 关系模型有关概念,(学号, 课程号,课程名) (商品编号,商品名称),(学号) (商品编号),3)外键。外键(FK ,Foreign Key)或外码指若在模式R中包含有另一个关系S的主键所对应的属性或属性组K,则称K为R的外键.外键是一个关系中的属性或属性组

6、,但不是本关系的主键,而是另一关系的主键,则称该属性或属性组是该关系的外键,也被称为外关键字。,2.1.1 关系模型有关概念,2.1.2 关系的类型和性质,关系是一个元数为K(K=1)的元组集合。 关系有3种类型:基本表(基本关系常称表)、查询表和视图表. (1)基本表实际存在的表,存储数据的逻辑表示。 (2)查询表是查询结果对应的表(关联的表)。 (3)视图表由表/其他视图表导出的表,虚表。不对应实际存储数据。基本关系具有六条性质: (1)同一属性(列)的数据是同质的(Homogeneous), 即每列值为同类数据,且来自同域.(同列同类同域)。 (2)关系中每个属性值都不可分解.即各分量都

7、是不可分的数据项。 (3)任意两列不能相同,同一关系的属性(列)名不能重复,即不同列可出自同一个域,称其中的每列为一个属性。 (4)任意两行元组(记录)不能完全相同。 (5)列的顺序无所谓,即列的次序可任意交换。 (6)行的顺序无所谓,即行的次序可任意交换。,2.1.3 E-R图转换为关系模型的方法,1实体及联系转换关系的规则(1)实体转换关系(二维表)规则:将每个实体转换成一个关系模式时,实体的属性就是关系的属性。(2)二元联系的转换规则: 若实体间联系是1:1,则可以在两个实体任选一个,其关键字和联系的属性放入另一个实体对应的关系模式中,关键字为后者的关键字。 若实体间联系是1:n,方法一

8、是1端实体的关键字放入n端实体的关系模式中,联系有属性也一并放入n端,关键字是n端的关键字;方法二是独立构建一个关系模式,属性为两端实体的关键字加上联系的属性,而关键字为n端实体的关键字。 若实体间联系是m:n,新构建一个关系模式,其属性为两端实体关键字加上联系的属性,而关键字为两端实体关键字的组合。 若一个联系涉及三个或三个以上实体,则新构建一个关系模式,其属性是各实体的关键字。,E-R模型,实体,关系模式,客观事物 (现实世界),信息世界,机械世界,2.1.4 ER图转换为关系模型的方法,2转换方法应用 【案例2-3 辅导员和年级是一对一的联系,如图2-3所示。一端实体的关键字放入另一端,

9、其关系模式如下:辅导员(辅导员ID,教师名,性别,年龄,职称)PK:辅导员ID年级(年级号,所在系,年级名,辅导员ID ,接管时间)PK:年级号 FK:辅导员教师对应的关系模式:,案例2-3,年级,年级,年级,辅导员ID,辅导员ID,或总经理,管理企业,方法一:将1端实体的关键字和联系的属性与n端关系模式合并,关键字为n端的属性。案例2-4】辅导员和年级是一对多的联系,如图所示,其关系模式如下:辅导员(辅导员ID ,教师名,性别,年龄,职称)PK:教师号年级(年级号,所在系,年级名,辅导员ID ,接管时间)PK:年级号 FK:辅导员教师号。,2.1.4 ER图转换为关系模型的方法,案例2-4,

10、年级,年级,年级,辅导员ID,辅导员ID,方法二:联系可独立转换成一个关系模式,其属性包括两端实体的关键字,以及联系的属性。【案例2-5】 辅导员与年级联系是一对多,如图所示.其关系模式如下:辅导员(教师号,教师名,性别,年龄,职称)PK:教师号年级(年级号,所在系,年级名)PK:年级号 FK:辅导员ID管理(辅导员ID,年级号,接管时间)PK:辅导员ID,年级号 FK:辅导员ID 或年级号,2.1.4 ER图转换为关系模型的方法,案例2-5,年级,年级,年级,年级,辅导员ID,辅导员ID,对于实体之间多对多联系的情况,各实体直接可转换为关系模式,联系则独立转换成一个关系模式,其属性包括两端实

11、体的关键和联系的属性。案例2-6】两端实体的关键字和联系的属性新构建一个模式,属性为两端的关键字和联系的属性,如图所示,其关系模式如下: 学生(学号,姓名,性别,年龄,籍贯)PK: 学号 课程(课号,课名,课程性质)PK:课号 选课(学号,课号,成绩),2.1.4 ER图转换为关系模型的方法,案例2-6,(1)什么是关系模式?形式化表示是什么? (2)关系应该具有哪些性质? (3)ER模型如何向关系模型转换?,讨论思考,讨论思考,2.2关系模型的完整性,(1)实体完整性规则:主键中的主属性不可取空值。一个基本关系通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。实体完整性如图2-7所

12、示。,图2-7 实体完整性示意图,正确、有效、一致,2.2关系模型的完整性,(2)参照完整性规则(Referential Integrity)要求:若属性组F是关系模式R1的主键,同时F 也是关系模式R2的外键,则在R2的关系中,F 的取值只允许两种可能:空值或等于R1关系中某个主键值.R1称为被参照关系模式,R2称为参照关系模式。 关系模型可以表示为:Customer(CID,CName,RID,CPassword,CRegistrationDate,CType,CStatus,CAccountBalance),PK(主键):CID;FK(外键):RIDRelation(RID, RName

13、, RIndentityNo, RDuty, RAddress,RContactinfo), PK:RID 注意:在实际应用中,外键不一定与对应的主键同名.在关系模式中,外键可用下划曲线标出。,联系人,客户,F,参照完整性就是定义外键和主键之间的引用规则。关系R中每个元组在F上的值必须为空(F的每个属性值均为空值);或等于S中某个元组的主键。,2.2关系模型的完整性,(3)用户定义的完整性是针对某一具体关系数据库的约束条件,反映出某一具体应用所涉及的数据必须满足的语义要求。,2.2关系模型的完整性,(1)关系模型中有哪三类完整性约束? (2)关系为什么应该满足实体完整性规则和参照完整性规则?

14、(3)举例说明用户定义的完整性规则。,讨论思考,图2-8用户定义完整性示意图,2.3 常用的关系运算,2.3.1 关系运算种类及运算符关系代数的运算对象及结果都是关系。1.关系运算的种类关系代数的运算分为两类:传统集合运算和专门关系运算。(1)传统的集合运算将元组(记录)作为集合中元素进行运算,其运算是从关系的“水平”方向即行的角度进行的。包括并、差、交和笛卡尔积等运算。(2)专门的关系运算针对关系数据库的应用而专门设计的。涉及关系的行运算和关系的列运算。它包括选取、投影连接和除等运算。,2.3.1关系运算种类及运算符,2.关系运算的运算符 关系代数所使用的运算符有4类: (1)集合运算符:(

15、并),(差),(交),(广义笛卡儿积)。 (2)专门的关系运算符:(选择),(投影), (连接),(除) (3)比较(算数)运算符:(大于),(大于等于),(小于),(小于等于),(等于),(不等于) (4)逻辑运算符:(非),(与),(或)。 2.3.2 常用传统的关系运算 传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算.1)并(Union)关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删除重复元组,组成一个新的关系,其结果仍为n目关系。记作:RS = t | tR tS 其中,t是元组变量(关系表的行)对于关系数据库,记录的插入可通过并运算实现。,并

16、异去余,RS:,2.3.2传统的关系运算,关系R,关系S,【案例2-7】已知关系R和关系S如表所示,求关系R和S的并集。,案例2-7,%注意:并、差和交运算R和S的属性一定要相同,否则无法进行运算。,2.3.2传统的关系运算,2)差(Difference)关系R和关系S的差由属于R而不属于S的所有元组组成,即R中删除与S中相同的元组,组成一个新的关系,其结果仍为n目关系。记作:RS = t | tR t S t是元组变量 【案例2-8】 有关系R和关系S如表所示,求关系R和关系S的差。,关系R,关系S,RS:,案例2-8,前同后去,2.3.2传统的关系运算,3)交( Intersection)关系R和关系S 交由既属于R又属于S的元组组成,运算结果是R和S中相同的元组组成一个新的关系,仍为n目关系。记作:RS = t | tR tS 关系的交也可用差表示,即RS =R(RS)。案例2-9】 有关系R和关系S如所示,求关系R和关系S的交。,

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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