第2章 关系数据库基础知识课件.pptx

上传人:春哥&#****71; 文档编号:14915269 上传时间:2022-05-09 格式:PPTX 页数:42 大小:795.62KB
返回 下载 相关 举报
第2章 关系数据库基础知识课件.pptx_第1页
第1页 / 共42页
第2章 关系数据库基础知识课件.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

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

1、第2章 关系数据库基础知识n 关系模型与关系数据库n 关系操作n 关系完整性n 关系规范化理论u本章主要内容u本章技能目标n 了解关系模型的相关知识n 掌握关系完整性的概念n 了解关系的传统运算和代数运算n 掌握关系演算n 掌握关系的规范化理论2.12.1关系模型与关系数据库2 2.2 .2关系操作2 2.3 .3关系完整性2 2.4 .4关系规范化理论2.1关系模型与关系数据库关系模型的概念是IBM公司的研究员博士提出的,并由此确定了关系数据库的理论基础。关系数据库(Relation Database)理论日臻完善,并已成为商用的主流数据库系统,如Oracle、Sybase、SQL Serv

2、er、DB2和Visual FoxPro等都是著名的关系模型数据库管理系统。 2.1.1 关系模型关系模型 2.1.2 关系模型的基本概念关系模型的基本概念 2.1.3 关系的性质关系的性质关系模型 2.1.1 关系模型关系模型关系模型由关系数据结构、关系数据操作和关系数据完整性约束组成。1.关系数据结构关系模型的数据结构是一种二维表格结构。在关系模型中,现实世界的实体与实体之间的联系均用二维表格表示。关系模型2.关系数据操作常用的关系操作包括查询、插入、删除和修改。关系操作用三种不同的方式描述:关系代数、关系演算和结构化查询语言。3.关系数据完整性约束关系数据完整性约束是为保证数据库中数据的

3、正确性、有效性和相容性,对关系模型中的数据及其联系提出的某种约束条件或规则的集合。关系模型的基本概念1.术语(1)关系:一张没有重复行、重复列的二维表(2)关系模式关系名(属性1,属性2,属性3,属性n)例如:学生(学号,姓名,性别,出生日期,政治面貌,籍贯,班级代码)(3)记录:二维表中的每一行,又称行(Row)或元组(Tuple)(4)属性:二维表中的一列(5)域:属性的取值范围(6)分量:元组中的一个属性关系模型的基本概念(7)键或码:关系中能惟一区分、确定不同元组的属性或属性组合的某个属性(8)候选键或候选码:关系中能够成为关键字的属性或属性组合可能不是惟一的(9)主键或主码:在候选关

4、键字中选定一个作为关键字(10)非主属性或非键属性:关系中不组成码的属性(11)外部键或外键:关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字(12)从表与主表:以外键为主键的表称为主表(主键表),外键所在的表称为从表(外键表)关系模型的基本概念2.关系与二维表的区别关系是一种规范化了的二维表中行的集合,即关系对表作了种种限制。关系应满足如下性质: 关系中的每一属性都是不可再分的基本属性。 表中各列分量取自同一个域。 各列被指定一个相异的名字。 表中各行相异,不允许重复。 行、列次序均无关关系模型的基本概念3.3.关系数据库关系数据库关系数据库(Relation Database

5、)主要是由若干个依照关系模型设计的数据表文件的集合。一张二维表称为一个数据表,数据表包括数据及数据间的关系。一个关系数据库由若干个数据表、视图、存储过程等组成,而数据表又由若干个记录组成,每一个记录是由若干个以字段属性加以分类的数据项组成的。在关系数据库中,每一个数据表都具有相对的独立性,这一独立性的惟一标志是数据表的名字,称为表文件名。在关系数据库中,有些数据表之间是具有相关性的。关系模型的基本概念4.4.关系模型的优缺点关系模型的优缺点(1)关系模型的优点关系模型是以集合论和数理逻辑作为其理论基础。无论实体还是实体间的联系都用关系来表示。概念单一,其数据结构简单、清晰,易于理解。关系模型的

6、存取路径对用户透明。(2)关系模型的缺点查询效率往往不如非关系数据模型必须对用户的查询请求进行优化采用静态数据模型关系的性质关系具有以下性质:关系具有以下性质:1 1. .关系中不允许出现完全相同的元组或记录。关系中不允许出现完全相同的元组或记录。2.2.关系元组的顺序可任意交换。关系元组的顺序可任意交换。3.3.关系中属性的顺序也可任意交换。关系中属性的顺序也可任意交换。4.4.关系中各个属性必须有不同的名字。关系中各个属性必须有不同的名字。5.5.关系中每一字段必须是不可分的数据项。关系中每一字段必须是不可分的数据项。2.2 关系操作关系数据模型提供了一系列操作的定义,这些操作称为关系操作

7、。关系操作采用集合操作方式,即操作的对象和结果都是集合。常用的关系操作有两类:一是查询操作,包括选择、投影、连接、并、交、差、除;二是增、删、改操作。2.2.1 关系代数关系代数2.2.2 传统的集合运算传统的集合运算2.2.3 专门的关系运算专门的关系运算2.2.1 关系代数关系代数语言是用对关系的集合运算来表达查询要求的方式,是基于关系代数的操作语言。关系代数的基本运算有两类:一类是传统的集合运算,包括并、差、交;另一类是专门的关系运算,包括选择、投影和连接。基本运算符2.2.2 传统的集合运算传统的集合运算包括4种:并()、交()、差(-)和广义笛卡儿积()。1.并(Union)如果R和

8、S都是关系,那么由属于R或属于S的元组(记录)组成的新关系称为R和S的并,记为RS:其属性与关系R或关系S相同,由属于R或S的元组组成。|StRttSR RS的运算结果RSRS2.2.2 传统的集合运算2.交(Intersection)如果R和S都是关系,那么由属于R和属于S的元组(记录)组成的新关系称为R和S的交,记为RS:其属性与关系R或关系S相同,由既属于R又属于S的元组组成。|StRttSRSRRSRS的运算结果2.2.2 传统的集合运算3.差(Difference)如果R和S都是关系,那么由属于R而不属于S的元组(记录)组成的新关系称为R和S的差,记为R-S:其属性与关系R或关系S相

9、同,由属于R而不属于S的所有元组组成。|StRttSRRSR-SR-S的运算结果2.2.2 传统的集合运算4.广义笛卡尔积两个分别有n个属性和m个属性的关系R和S的广义笛卡儿积是一个(n+m)个属性的元组的集合。元组的前n个属性是关系R的一个元组,后m个属性是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和S的广义笛卡儿积有k1k2个元组,记作RS:|StRtttSRsrsr2.2.3 专门的关系运算在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和连接及除等4种,其中连接分连接和自然连接。引入几个记号:2.2.3 专门的关系运算1.选择(

10、Selection)从关系R中选择满足指定条件的元组,它是一种对表进行横向的操作。通常把选择运算记作:为选择运算符,c为逻辑表达式。 )(|)(真tcRttRc2.2.3 专门的关系运算2.投影(Projection)投影是从关系R中选择出若干属性(字段)组成新关系的一种运算,是一种竖向的操作。投影运算是一种针对表内容的列运算。关系R上的投影是从R中选择出若干属性列组成新的关系,记作:其中A为R中的属性列。Rt | A t )R(A2.2.3 专门的关系运算3.连接连接有连接、等值连接和自然连接。(1) 连接连接是从关系R和关系S的笛卡儿积中选取属性值满足某一关系的元组。记作:其中A和B分别为

11、R和S上度数相等且可比的属性组,是比较运算符。连接运算从R和S的广义笛卡儿积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。2.2.3 专门的关系运算(2)等值连接为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡儿积中选取A、B属性值相等的那些元组。等值连接可记为:(3)自然连接自然连接是一种特殊连接。在连接运算中,以字段值对应相等条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。它是对行和列同时进行运算。若关系R和关系S具有相同的属性组B,则关系R和S的自然连接可用下式表示:2.2.3 专门的关系运算4.除(Division)设有关

12、系R(X,Y)和S(Y,Z),其中X、Y、Z为单个属性或属性组,R中的Y与中的Y出自相同的域集。则RS得到一个新的关系P(X),P(X)是由中某些X属性值构成,其中的任一值所对应的一组Y值都包含在关系S在Y上的投影。记作:)(| XyrrYSRtXtSR2.3 关系完整性关系的完整性约束是为保证数据库中数据的正确性和兼容性对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和、域完整性和用户定义完整性4种。其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件。1.实体完整性实体完整性实体完整性规则是指关系的主关键字不能取“空值”。2.参照完整性参照完整性参照完整性

13、规则指的是若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主键值。2.3 关系完整性3.域完整性域完整性域完整性规则是指要求表中列的数据必须具有正确的数据类型、格式以及有效的数据范围。4.用户定义完整性用户定义完整性用户定义的完整性(User-defined Integrity)就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。2.4 关系规范化理论2.4.1 问题的提出问题的提出2.4.2 函数依赖函数依

14、赖2.4.3 关系模式的规范化关系模式的规范化2.4.4 关系规范化的实际应用关系规范化的实际应用2.4.1 问题的提出1.1.关系模式中可能存在的异常关系模式中可能存在的异常【例例】设有学生及选课关系Student,如表所示。Student中具有以下属性:学号、院系名称、系主任、课程号、教师、成绩,于是得到这样一组属性:U=学号,院系名称,系主任,课程号,教师,成绩。学号院系名称系主任课程号教师成绩05010031计算机系程宽062308张然8905010032计算机系程宽062308黎明6805010033计算机系程宽062308张明7006010001经济与管理工程系谢苏221032张然

15、6806010010经济与管理工程系谢苏221032王子7206030200机电工程系邱会仁241302张然682.4.1 问题的提出学生选课关系Student的数据模式Student(U,F)。U=学号,院系名称,系主任,课程号,教师,成绩F=(学号,课程号)成绩,院系名称系主任,课程号教师,学号院系名称,学号系主任,存在如下问题:(1)数据冗余(2)删除异常(3)插入异常2.关系模式中存在异常的原因存在一些不好的数据依赖。解决方法:利用关系数据库规范化理论,对关系模式进行分解2.4.2 函数依赖数据依赖是通过一个关系中属性间值的相等与否体现出数据间的相互关系。现在人们已经提出了多种类型的数

16、据依赖,其中最重要的数据依赖是函数依赖(Functional Dependency,FD)和多值依赖(Multivalued Dpendency,MVD)。数据依赖是指数据之间存在的各种关系,比如外键就是一种依赖。数据冗余的产生和数据依赖有着密切的关系。在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.2 函数依赖1.函数依赖的定义在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.2 函数依赖在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.3 关系模式的规范化1.1.规范化的作用规范化的作用数据依赖引起的主要问题是

17、操作异常,解决的办法是进行关系模式的合理分解,也就是对关系模式进行规范化(Normalization)。规范化的目的:规范化的目的:(1)(1)消除异常消除异常(2)(2)方便用户使用,简化检索操作方便用户使用,简化检索操作(3)(3)加强数据独立性加强数据独立性(4)(4)使关系模式灵活,更容易使用非过程化的高级查询语言使关系模式灵活,更容易使用非过程化的高级查询语言(3)(3)更容易进行各种查询统计工作更容易进行各种查询统计工作2.4.3 关系模式的规范化2.2.规范化的标准规范化的标准范式(Normal Form,NF):是指关系模式规范形式。关系模式需要满足规范化条件,不同程度的条件称

18、为不同的范式。于19711972年系统地提出了1NF、2NF、3NF概念,讨论了规范化的问题。1974年Codd和Boyce共同提出了BCNF。1976年Fagin提出了4NF,以后又有人提出了5NF。2.4.3 关系模式的规范化第一范式第一范式(1NF)(1NF)定义定义:设R是一个关系模式。如果R的每一个属性的值域都是不可再分的数据项,即关系中的每一属性都是原子的,则称该关系模式为第一范式,记作1NF。第一范式是对关系模式的最低要求。不满足第一范式的数据库第一范式是对关系模式的最低要求。不满足第一范式的数据库模式不能称为关系数据库。模式不能称为关系数据库。不满足第一范式的关系称为非规范不满

19、足第一范式的关系称为非规范关系关系。学生信息课程号成绩学号院系代码系主任0401001001苏云255430890307012004王楠255341680307012004王楠25543070学号院系代码系主任课程号成绩0401001001苏云255430890307012004王楠255341680307012004王楠255430702.4.3 关系模式的规范化第第二二范式范式(2NF(2NF) )定义定义:设设R R是一个关系模式。如果是一个关系模式。如果R R是第一范式,且是第一范式,且R R中每一个中每一个非键属性完全函数依赖于非键属性完全函数依赖于R R的键,则称该关系模式为第二范

20、式,记的键,则称该关系模式为第二范式,记为为2NF2NF。第二范式消除了非主属性对关键字的部分依赖。即满足第二范式消除了非主属性对关键字的部分依赖。即满足2NF2NF的的关系,其非主属性完全函数依赖于关键字。关系,其非主属性完全函数依赖于关键字。2NF2NF存在以下问题:存在以下问题:(1)(1)插入插入异常异常 (2)(2)删除删除异常异常(3)(3)冗余冗余(4)(4)更新异常更新异常2.4.3 关系模式的规范化第第三三范式范式(3NF(3NF) )定义定义:设设R R是一个关系模式。如果是一个关系模式。如果R R是是2NF2NF,且它的任何一个非,且它的任何一个非键属性都不传递依赖于键属

21、性都不传递依赖于R R的任一候选键,则称该模式为第三范式,的任一候选键,则称该模式为第三范式,记为记为3NF3NF。例例:求关系模式R(学号,姓名,班级号,班级人数)的范式级别。解:因为R中的各属性都是原子的,所以R1NF。从R中可以看出,学号为主键,它是一个单一属性,因此在R中不存在部分函数依赖,所以R2NF。在R中由于有学号班级号,班级号班级人数,它构成了学号班级人数这一传递依赖,故R不满足第3范式的要求。结论:R2NF2.4.3 关系模式的规范化4.BC4.BC范式范式(BCNF)(BCNF)定义定义:在一个关系模式的所有非平凡函数依赖中,如果所有决定于都含有码(即起决定因素的超码),则

22、此关系模式属于BCNF。由BCNF的定义可以得到结论,一个满足BCNF的关系模式具有以下三个性质:(1)所有非主属性对每个候选码都是完全函数依赖。(2)所有的主属性对每一个不包含它的候选码,也是完全函数依赖的。(3)没有任何属性完全函数依赖于非码的任何一组属性。由于R属于BCNF,按定义排除了任何属性对候选码的传递依赖与部分依赖,所以R属于3NF。但是若R属于3NF,则R未必属于BCNF。2.4.3 关系模式的规范化【例】求A1(学号,课程号,成绩)的范式级别。解:对于关系模式A1(学号,课程号,成绩),它只有一个主关键字(学号,课程号),并且没有任何属性对(学号,课程号)部分函数依赖或传递函

23、数依赖,所以A13NF。另外,A1中(学号,课程号)是惟一的决定因素,所以A1BCNF。2.4.4 关系规范化的实际应用规范化的实质是概念的单一化。如下图。规范化的实质是概念的单一化。如下图。小结本章介绍了关系数据库基础知识,主要内容有:1.1.关系数据库的一些基本概念关系数据库的一些基本概念包括:关系、关系模式、记录、域、分量、关键字(Key)或码、候选关键字或候选码、主关键字(Primary Key)或主码、非主属性或非码属性、外部关键字或外键、从表与主表的概念;关系模型的结构、关系模型的数据结构、关系模型的特点及关系模型的优缺点。2.2.关系操作关系操作常用的关系操作有两类:一是查询操作

24、,包括选择、投影、连接、并、交、差、除;二是增、删、改操作。表达(或描述)关系小结操作的关系数据语言可以分为如下3类:关系代数语言、关系演算语言和介于关系代数和关系演算之间的结构化查询语言SQL。关系代数的基本运算有两类:一类是传统的集合运算,包括并、差、交;另一类是专门的关系运算,包括选择、投影和连接。3.3.关系关系关系的完整性约束是为保证数据库中数据的正确性和兼容性对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性3种。其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件。关系只有遵循了这些规则,才能确保关系在实际使用中与设计者的期望相符。小结4 4. .关系规范化的基本关系规范化的基本理论理论函数依赖和范式。解决关系模型中存在的大量数据冗余、数据操纵中容易出现问题的方法是对关系模式进行规范化,逐步消除数据依赖中不合适的部分,使数据库模式中的各关系模式达到某种程度的分离。

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

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

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

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