关系数据库理论基础PPT讲稿.ppt

上传人:石*** 文档编号:77737567 上传时间:2023-03-16 格式:PPT 页数:42 大小:3.30MB
返回 下载 相关 举报
关系数据库理论基础PPT讲稿.ppt_第1页
第1页 / 共42页
关系数据库理论基础PPT讲稿.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《关系数据库理论基础PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《关系数据库理论基础PPT讲稿.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据库理论基础第1页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发22.1 关系的基本概念关系的基本概念l2.1.1 关系的数学定义l1域(Domain)l域:是一组具有相同数据类型的值集合。例如:自然数,男,女,0,1等都可以是域。l基数:域中数据的个数称为域的基数。l域被命名后用如下方法表示:lD1=白亚春,陈韬,王雪莲,表示姓名的集合,基数是3;lD2=计算机系,电子系第2页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发3l2笛卡尔积(Cartesian Product)l给定一组域D1,D2,Di,Dn(可以有相同的域),则笛卡尔积定义为

2、:lD1D2DiDn=(d1,d2,di,dn)diDi,i=1,2,nlD1D2=(陈韬,计算机系),(陈韬,电子系),(王雪莲,计算机系),(王雪莲,电子系),(白亚春,计算机系),(白亚春,电子系)l其中每个(d1,d2,di,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。l显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,n)为有限集合,其基数为mi(i=1,2,n),则D1D2DiDn笛卡尔积的基数M为:第3页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发4l该笛卡尔积的基数是M=m1m2=3*2=6,即该笛卡尔积

3、共有6个元组,它可组成一张二维表姓名姓名籍贯籍贯陈韬陈韬计算机系计算机系陈韬陈韬电子系电子系王雪莲王雪莲计算机系计算机系王雪莲王雪莲电子系电子系白亚春白亚春计算机系计算机系白亚春白亚春电子系电子系第4页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发5l3关系(Relation)l关系:笛卡尔积D1D2DiDn的子集R称作在域D1,D2,Dn上的关系,记作:lR(D1,D2,Di,Dn)l其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名.l当n=1 时,称该关系为单元关系;l当n=2 时,称该关系为二元关系;l以此类推,关系中有n个域,称该关系为

4、n元关系。l把列称为属性(Attribute)。一般来说,一个取自笛卡尔积的子集才有意义。第5页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发6l关系可以分为三种类型:l基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;l查询表:是对基本表进行查询后得到的结果表;l视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。姓名姓名籍贯籍贯陈韬陈韬计算机系计算机系王雪莲王雪莲电子系电子系白亚春白亚春计算机系计算机系第6页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发7l2.1.2 关系的性质l1列是同质的。l2关系中行的

5、顺序、列的顺序可以任意互换,不会改变关系的意义。学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系计算机系计算机系白亚春白亚春男男1981-1-251981-1-250051309005130900522010052201陈韬陈韬男男计算机系计算机系1981-5-61981-5-60052217袁更旭袁更旭男男1980-12-8计算机系计算机系第7页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发8l3关系中的任意两个元组不能相同。l l4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。学号学号

6、姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系0051309白亚春白亚春男男1981-1-25计算机系计算机系0051309白亚春白亚春男男1981-1-25计算机系计算机系0052217袁更旭袁更旭男男1980-12-8计算机系计算机系第8页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发92.2 关系的完整性l2.2.1 键l1候选键(Candidate key)l若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。l2主键(Primary key)l若一个关系中有多个候选键,则选定一个为主键。第

7、9页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发10l3主属性(Primary Attribute)l主键的属性称为主属性。l4外键(Foreign key)l设F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。2.2 关系的完整性第10页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发11学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系0051309白亚春白亚春男男1981-1-25计算机

8、系计算机系0052201陈韬陈韬男男1981-5-6计算机系计算机系0052217袁更旭袁更旭男男1980-12-8计算机系计算机系课程号课程号学号学号成绩成绩C201002210275C505005130995C508005220192C506005221780第11页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发12l2.2.2 实体完整性l实体完整性规则:关系中的主键不能为空值(Null)。空值就是“不知道”或“无意义”l2.2.3 参照完整性l参照完整性规则:表的外键必须是另一个表主键的有效值,或者是空值。2.2 关系的完整性第12页,共42页,编辑于2022年,

9、星期五2023/1/8数据库原理及开发13学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪莲王雪莲女女1980-9-15电子系电子系0051309白亚春白亚春男男1981-1-25计算机系计算机系0052201陈韬陈韬男男1981-5-6计算机系计算机系0052217袁更旭袁更旭男男1980-12-8计算机系计算机系课程号课程号学号学号成绩成绩C201002210275C505005130995C508A10286992C506005221780实体完整性和参照完整性实例第13页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发14l2.2.4 用户定义

10、完整性l用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。2.2 关系的完整性第14页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发152.3 关系代数l2.3.1 传统的集合运算l当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一致。第15页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发16l1并l并:是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R与S的并运算记作:RS。学号姓名性别出生日期

11、所在系0022101何芊女1982-6-5电子系0022102王雪莲女1980-9-15电子系0022201叶媛媛女1982-3-5电子系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系第16页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发17l2交l交:将两个关系中的公共元组构成新的关系。关系R与S的交运算记作:RS。学号姓名性别出生日期所在系0051309白亚春男1981-1-25计算机系0052217袁更旭男1980-12-8计算机系第17页,共42页,编辑于2022年,星期

12、五2023/1/8数据库原理及开发18l3差l差:运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差运算记作:RS。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0052201陈韬男1981-5-6计算机系第18页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发19l2.3.2 专门的关系运算l专门的关系运算包括:选择、投影和连接,用于数据查询服务。l1选择(Selection)l选择:是按照给定条件从指定的关系中挑选出满足条件的元组构成新的关系。或者说,选择运算的结果是一个表的行的子集。

13、记作 学号姓名性别出生日期所在系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系第19页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发20l2投影(Projection)l投影:是从指定的关系中挑选出某些属性构成新的关系。或者说,选择运算的结果是一个表的列的子集。l记作,l其中A为R的属性列。投影的结果将取消由于取消了某些列而产生的重复元组。学号姓名性别0022102王雪莲女0051309白亚春男0052201陈韬男0052217袁更旭男第20页,共42页,编辑于2022年,星期五

14、2023/1/8数据库原理及开发21l3连接(Join)l连接:是将两个和多个关系连接在一起,形成一个新的关系。连接运算是按照给定条件,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。或者说,连接运算的结果是在两关系的笛卡尔积上的选择。记作:l自然连接:当连接的两关系有相同的属性名时,称这种连接为自然连接,它是连接的一个特例。记作:第21页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发22学号姓名性别出生日期所在系课程号成绩0022102王雪莲女1980-9-15电子系C201750051309白亚春男1981-1-25计算机系C505950052201陈韬男1

15、981-5-6计算机系C508920052217袁更旭男1980-12-8计算机系C50680 学生基本情况表 学生选课表 第22页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发23l2.4 关系规范化l2.4.1 问题的提出l在设计关系数据库时,经常采用一种自下而上的设计方法。这种方法是对涉及的所有数据进行收集,然后按照栏目进行归纳分类。l插插入入异异常常:如果某个教师的所开课程某学期没有,或者学生没有选修他开的该课程,那么就无法将该教师及其所开课程的信息存入数据库。l删删除除异异常常:如果某届学生全部毕业,在删除该系学生时会将课程及相关教师删除。l数数据据冗冗余余:比

16、如,一门课程及其教师要与选修该课程的每一个学生出现的次数一样多 l解决这些问题的办法就是重新设计数据库。第23页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发24学号学号姓名姓名性性别别出生出生日期日期所在所在系系课程名课程名称称成成绩绩课程课程教师教师职称职称0052201陈韬陈韬男男1981-5-6计算计算机系机系数据库数据库技术技术90陈刚陈刚副教副教授授0052201陈韬陈韬男男1981-5-6计算计算机系机系操作系操作系统统85温翠温翠灵灵讲师讲师0052201陈韬陈韬男男1981-5-6计算计算机系机系C语言语言75陈刚陈刚副教副教授授0051309白亚白亚春

17、春男男1981-1-25计算计算机系机系数据库数据库技术技术95陈刚陈刚副教副教授授0051309白亚白亚春春男男1981-1-25计算计算机系机系操作系操作系统统88温翠温翠灵灵讲师讲师0051309白亚白亚春春男男1981-1-25计算计算机系机系编译技编译技术术85李建李建义义讲师讲师第24页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发25 1函数依赖的概念 在数据库中,属性值之间会发生联系。例如每一本图书只有一个书号,每本书入库只有一个操作员等等。这类联系,称为函数依赖。关系理论中函数依赖是指关系中属性间的对应关系。如关系中对于属性(组)的每一个值,属性(组)只

18、有唯一的值与之对应,则称函数依赖于,或称函数决定,记为。其中,称为决定因素。为模式的一个函数依赖。【例2.8】设有一个职工关系(职工编号,姓名,性别,所在部门),职工编号是关系的主键。对于该关系中的每一个职工的职工编号,都对应着姓名属性中的唯一值,即该职工的姓名也就是说,一个职工的姓名由他的职工编号唯一确定,所以称职工编号函数决定姓名,或者称姓名函数依赖于职工编号,记作:职工编号姓名,职工编号为该函数依赖的决定因素。同理,职工编号决定性别、所在部门等属性,分别记作:职工编号性别,职工编号所在部门。第25页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发26 在一个关系中,可

19、分析出许多依赖关系。函数依赖可区分为完全依赖、部分依赖和传递依赖三类。完全函数依赖 若、是关系中属性(组),函数依赖()但函数不依赖的任一真子集,则称完全函数依赖于,记作 。【例2.9】在职工关系(职工编号,姓名,性别,所在部门)中,职工编号同其他每个属性之间的函数依赖都是完全函数依赖,即 职工编号 姓名,职工编号 性别,职工编号 所在部门。因为职工编号不可能再包含其他的任何属性,也不可能存在真子集函数决定其他每一个属性的情况。第26页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发27 部分函数依赖 若、为关系中的属性(组),如函数依赖(),且中存在真子集(,且),满足函

20、数依赖(),则称部分函数依赖于,记作。【例2.10】职工关系(职工编号,姓名,性别,所在部门)中,属性组(职工编号,性别)的值能够决定相应职工所在的部门,但其真子集中的职工编号也能函数决定所在部门,所以所在部门部分函数依赖于(职工编号,性别)。传递函数依赖 设、是关系(U)的属性集上的子集,其中函数依赖(),函数依赖(),但不函数依赖于,则称传递函数依赖于,记作:。(注意这里必须强调不函数依赖于,因为如果同时,则为 ,这样和是等价的,在函数依赖中是可以互换的,就是直接函数依赖,而不是传递函数依赖。)第27页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发28l2.4.2 关

21、系模式的规范化l1范式(Normal form)l范式:建立关系时需要满足的约束条件划分成若干标准,这些标准称为范式,简写为NF。范式的级别越高,发生操作异常的可能性越小,数据冗余越小,但由于关联多,读取数据时花费时间也会相应增加。l2第一范式(1NF)l对于给定的关系R,如果R中的所有行、列交点处的值都是不可再分的数据项,则称关系R属于第一范式,记作:R1NF。l1NF是关系数据库中对关系的最低要求,它是从关系的基本性质而来的,任何关系必须遵守。第28页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发29l3第二范式(2NF)l如果关系R1NF,并且R的每一个非主属性都决

22、定于主键,则称R属于第二范式,记作:R2NF。l思考:主键没有冗余,非主键存在冗余。l3第三范式(3NF)l第三范式:如果关系R2NF,并且R的每一个非主属性都不间接决定于主键,则称R属于第三范式,记作:R3NF。l达到第三范式的关系仍有可能存在冗余等问题,所以关系数据库理论还有BCNF、4NF、5NF等范式。在实际应用中,一般达到了3NF的关系就可以认为是较为优化的关系。第29页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发30 2.5.3 规范化和范式 规范化表示了从数据存储中移去数据冗余的过程。规范化避免了数据冗余,节省了空间,对数据的一致性提供了根本的保障,杜绝了

23、数据不一致的现象,在一定范围内提高了效率。规范化有许多层次,对关系最基本的要求是每个属性值必须是不可分割的数据单元,即表中不能再包含表。满足一定条件的关系模式,称为范式(Normal Form)。范式就是某一种级别的关系模式的集合,人们称某一关系模式为第n范式,就表示该关系的级别。一个低级范式的关系模式,通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这种过程称为规范化。第一范式1NF 定定义义如果一个关系的每一个属性都是不可分的数据项,则称是符合第一范式的,记做R1NF。若一个关系数据库中所有的关系都满足第一范式要求,则称为满足第一范式的数据库。第30页,共42页,编辑于2022

24、年,星期五2023/1/8数据库原理及开发31 【例2.12】设某单位的职工评价信息关系:评价(职工编号,姓名,工作表现(工作态度,业绩),综合评价,评价日期),对应元组如表2.18。表2.18不是一个规范化的关系,因为工作表现属性不是原子属性,包含了三个属性,因此必须把每个属性提升为一般属性,得到规范化的关系,如表2.19。第31页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发32第32页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发33 2第二范式2NF 定义 设关系R1NF,且它的每一非主属性完全依赖于主键,则称R是符合第二范式的,记作R 2N

25、F。如果一个关系只满足第一范式,那么可能会带来数据冗余和操作异常,即插入异常、删除异常和修改异常。【例2.13】设有一个图书销售关系TSXS(书号,书名,出版社,作者,单价,数量,折扣,日期,操作员帐号,姓名,密码)中,每位操作员可以销售多种书,每种书可由多个操作员销售。TSXS具体实例如表2.20。第33页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发34 在该关系中,由于书号和操作员帐号属性没有决定因素,所以它们包含在候选键中,而由这两个属性构成属性组则能够函数决定所有属性,因此(书号,操作员帐号)是关系的主键。在该关系中存在着非主属性对主键的部分依赖,其中书名、出版

26、社、作者、单价、库存数量、折扣依赖于书号,姓名、密码依赖于操作员帐号,所以该关系中必然存在数据冗余,在对该关系进行插入、删除和修改时,也会带来意外的麻烦。我们可以通过关系分解的方法来消除部份依赖。对应的图书销售关系TSXS可分解成以下几个关系:图书(书号,书名,出版社,单价,折扣)操作员(操作员帐号,姓名,密码)销售(书号,操作员帐号,数量)第34页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发35 【说明】不符合2NF的关系规范化为第二范式的方法:对于一个关系R(U),假定、是的互不相交的属性子集,其中(,)是主键,完全函数决定,(,)函数决定,但中不含依赖于的属性,则

27、把R(U)分解为两个关系R1(,)和R2(,)后就取消了对(,)的部分依赖,其中是R1的主键和R2的外键,通过使R1和R自然连接仍然可得到原来的R(U)。同理,若R2(,)中仍存在着部分依赖,仍可以按此方法继续分解,直到消除全部部分依赖为止。3第三范式3NF 定义 设关系R2NF,且它的每一非主属性不传递依赖于主键,则该关系是符合第三范式的,记作R3NF。一个符合第三范式的关系必须具有以下三个条件:()每个属性的值唯一,不具有多义性。()每个非主属性必须完全依赖于整个主键,而非主键的一部分。()每个非主属性不能依赖于其他关系中的属性。从以上可知,2NF可从1NF关系消除非主属性对主键的部分函数

28、依赖后获得,3NF关系可从2NF关系消除非主属性对主键的传递函数依赖后获得。第35页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发36 【例2.14】图书销售关系(流水号,书号,书名,数量,入库价,销售价,入库时间,操作员账户,姓名,密码,销售日期,总金额),一个流水号只由一个操作员帐号处理,一个操作员帐号可以处理多个流水号,而操作员帐号决定操作员姓名、密码,所以图书销售关系中函数依赖关系如下:流水号书号,流水号操作员帐号,书号书名,书号数量,书号入库价,书号销售价,书号入库时间,操作员帐号姓名,操作员帐号密码,流水号销售日期,流水号总金额。在图书销售关系中,只有流水号没

29、有决定因素,所以流水号属性必然包含在候选键中,由流水号可以直接决定书号、操作员帐号、销售日期、总金额等属性,同时流水号传递决定书名、数量、入库价、销售价、入库时间、姓名、密码等属性,所以流水号能函数决定所有属性,流水号用作该关系的主键。由于该关系是单属性候选键,所以不会存在部分函数依赖,它自然满足第二范式。由于该关系中存在着书的各属性对流水号的传递依赖,存在着操作员各属性对流水号的传递依赖,所以必然会产生数据冗余和操作异常。第36页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发37 消除关系中的传递依赖也是通过关系分解的方法来实现。设一个关系为R(U),X、是的互不相交的

30、属性子集,其中为主键,是直接函数依赖(也可能包含部分函数依赖),是传递函数依赖,则把R(U)分解成两个关系R1(,)和R2(,),其中是的主键,是外键,这样就消除了对的传递依赖,通过对和自然连接仍可得到原来的,同样,若和中仍存在着传递依赖,则继续按此方法分解下去,直到消除全部传递依赖为止。对图书销售关系进行分解,分解得到三个关系:销售(流水号,书号,操作员账户,销售日期,总金额)图书(书号,书名,数量,入库价,销售价,入库时间)操作员(操作员账户,姓名,密码)从分解后的三个关系可以看出,每个关系都没有传递依赖,所以都是第三范式。规范化的过程就是通过关系的投影分解逐步提高关系范式等级的过程。从第

31、一范式到第三范式,其过程可以表示为 INF 2NF 3NF第37页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发38 2.5.4 关系模式的分解 “等价”的概念存在条不同的含义。一是分解具有“无损连接性”;二是分解要“保持函数依赖”;三是分解既要“保持函数依赖”,又要具有“无损连接性”。这三个含义也是实现分解的条不同的准则。如果对新的关系进行自然连接得到的元组的集合与原关系完全一致,则称为无损连接,即不会在分解中丢失信息。此外,分解后的新关系应该相互独立,对一个关系的更改,不会影响另一个关系。【例2.15】设有关系(职工号,部门,部门领导)2NF,如下表2.21。第38页

32、,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发39 显然上的函数依赖如下:职工号部门,部门部门领导。上存在传递函数依赖:职工号部门领导。将进行种形式的分解:方案将R分解为如图2.5的两个关系和。第39页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发40 方案将R分解为如图2.6的两个关系和。第40页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发41 方案将R分解为如图2.7的两个关系和 以上对关系模式的分解,不能仅着眼于提高它的范式等级,还应遵守无损分解、分解后的新关系相互独立、保持函数依赖等原则,才能保证分解的质量。第41页,共42页,编辑于2022年,星期五2023/1/8数据库原理及开发42练习l假设有l教师任课(教师工号,姓名,职称,系号,系名称,教学情况(课程号,课程名,教学水平,学分)第42页,共42页,编辑于2022年,星期五

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁