




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章关系数据库基础知识关系模型与关系数据库关系操作关系完整性关系规范化理论本章主要内容本章技能目标了解关系模型的相关知识掌握关系完整性的概念了解关系的传统运算和代数运算掌握关系演算掌握关系的规范化理论2.1关系模型与关系数据库2.2关系操作2.3关系完整性2.4关系规范化理论2.1关系模型与关系数据库关系模型的概念是IBM公司的研究员博士提出的,并由此确定了关系数据库的理论基础。关系数据库(RelationDatabase)理论日臻完善,并已成为商用的主流数据库系统,如Oracle、Sybase、SQLServer、DB2和VisualFoxPro等都是著名的关系模型数据库管理系统。2.1.1关系模型2.1.2关系模型的基本概念2.1.3关系的性质关系模型2.1.1关系模型关系模型由关系数据结构、关系数据操作和关系数据完整性约束组成。1.关系数据结构关系模型的数据结构是一种二维表格结构。在关系模型中,现实世界的实体与实体之间的联系均用二维表格表示。关系模型2.关系数据操作常用的关系操作包括查询、插入、删除和修改。关系操作用三种不同的方式描述:关系代数、关系演算和结构化查询语言。3.关系数据完整性约束关系数据完整性约束是为保证数据库中数据的正确性、有效性和相容性,对关系模型中的数据及其联系提出的某种约束条件或规则的集合。关系模型的基本概念1.术语(1)关系:一张没有重复行、重复列的二维表(2)关系模式关系名(属性1,属性2,属性3,…,属性n)例如:学生(学号,姓名,性别,出生日期,政治面貌,籍贯,班级代码)(3)记录:二维表中的每一行,又称行(Row)或元组(Tuple)(4)属性:二维表中的一列(5)域:属性的取值范围(6)分量:元组中的一个属性关系模型的基本概念(7)键或码:关系中能惟一区分、确定不同元组的属性或属性组合的某个属性(8)候选键或候选码:关系中能够成为关键字的属性或属性组合可能不是惟一的(9)主键或主码:在候选关键字中选定一个作为关键字(10)非主属性或非键属性:关系中不组成码的属性(11)外部键或外键:关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字(12)从表与主表:以外键为主键的表称为主表(主键表),外键所在的表称为从表(外键表)关系模型的基本概念2.关系与二维表的区别关系是一种规范化了的二维表中行的集合,即关系对表作了种种限制。关系应满足如下性质:关系中的每一属性都是不可再分的基本属性。表中各列分量取自同一个域。各列被指定一个相异的名字。表中各行相异,不允许重复。行、列次序均无关关系模型的基本概念3.关系数据库关系数据库(RelationDatabase)主要是由若干个依照关系模型设计的数据表文件的集合。一张二维表称为一个数据表,数据表包括数据及数据间的关系。一个关系数据库由若干个数据表、视图、存储过程等组成,而数据表又由若干个记录组成,每一个记录是由若干个以字段属性加以分类的数据项组成的。在关系数据库中,每一个数据表都具有相对的独立性,这一独立性的惟一标志是数据表的名字,称为表文件名。在关系数据库中,有些数据表之间是具有相关性的。关系模型的基本概念4.关系模型的优缺点(1)关系模型的优点关系模型是以集合论和数理逻辑作为其理论基础。无论实体还是实体间的联系都用关系来表示。概念单一,其数据结构简单、清晰,易于理解。关系模型的存取路径对用户透明。(2)关系模型的缺点查询效率往往不如非关系数据模型必须对用户的查询请求进行优化采用静态数据模型关系的性质关系具有以下性质:1.关系中不允许出现完全相同的元组或记录。2.关系元组的顺序可任意交换。3.关系中属性的顺序也可任意交换。4.关系中各个属性必须有不同的名字。5.关系中每一字段必须是不可分的数据项。2.2关系操作关系数据模型提供了一系列操作的定义,这些操作称为关系操作。关系操作采用集合操作方式,即操作的对象和结果都是集合。常用的关系操作有两类:一是查询操作,包括选择、投影、连接、并、交、差、除;二是增、删、改操作。2.2.1关系代数2.2.2传统的集合运算2.2.3专门的关系运算2.2.1关系代数关系代数语言是用对关系的集合运算来表达查询要求的方式,是基于关系代数的操作语言。关系代数的基本运算有两类:一类是传统的集合运算,包括并、差、交;另一类是专门的关系运算,包括选择、投影和连接。基本运算符2.2.2传统的集合运算传统的集合运算包括4种:并(∪)、交(∩)、差(-)和广义笛卡儿积(×)。1.并(Union)如果R和S都是关系,那么由属于R或属于S的元组(记录)组成的新关系称为R和S的并,记为R∪S:其属性与关系R或关系S相同,由属于R或S的元组组成。
R∪S的运算结果RSR∪S2.2.2传统的集合运算2.交(Intersection)如果R和S都是关系,那么由属于R和属于S的元组(记录)组成的新关系称为R和S的交,记为R∩S:其属性与关系R或关系S相同,由既属于R又属于S的元组组成。SRR∩SR∩S的运算结果2.2.2传统的集合运算3.差(Difference)如果R和S都是关系,那么由属于R而不属于S的元组(记录)组成的新关系称为R和S的差,记为R-S:其属性与关系R或关系S相同,由属于R而不属于S的所有元组组成。RSR-SR-S的运算结果2.2.2传统的集合运算4.广义笛卡尔积两个分别有n个属性和m个属性的关系R和S的广义笛卡儿积是一个(n+m)个属性的元组的集合。元组的前n个属性是关系R的一个元组,后m个属性是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和S的广义笛卡儿积有k1×k2个元组,记作R×S:2.2.3专门的关系运算在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和连接及除等4种,其中连接分θ连接和自然连接。引入几个记号:2.2.3专门的关系运算1.选择(Selection)从关系R中选择满足指定条件的元组,它是一种对表进行横向的操作。通常把选择运算记作:为选择运算符,c为逻辑表达式。2.2.3专门的关系运算2.投影(Projection)投影是从关系R中选择出若干属性(字段)组成新关系的一种运算,是一种竖向的操作。投影运算是一种针对表内容的列运算。关系R上的投影是从R中选择出若干属性列组成新的关系,记作:其中A为R中的属性列。2.2.3专门的关系运算3.连接连接有θ连接、等值连接和自然连接。(1)θ连接θ连接是从关系R和关系S的笛卡儿积中选取属性值满足某一θ关系的元组。记作:其中A和B分别为R和S上度数相等且可比的属性组,θ是比较运算符。连接运算从R和S的广义笛卡儿积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。2.2.3专门的关系运算(2)等值连接θ为“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡儿积中选取A、B属性值相等的那些元组。等值连接可记为:(3)自然连接自然连接是一种特殊连接。在连接运算中,以字段值对应相等条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。它是对行和列同时进行运算。若关系R和关系S具有相同的属性组B,则关系R和S的自然连接可用下式表示:2.2.3专门的关系运算4.除(Division)设有关系R(X,Y)和S(Y,Z),其中X、Y、Z为单个属性或属性组,R中的Y与S中的Y出自相同的域集。则R÷S得到一个新的关系P(X),P(X)是由R中某些X属性值构成,其中的任一X值所对应的一组Y值都包含在关系S在Y上的投影。记作:2.3关系完整性关系的完整性约束是为保证数据库中数据的正确性和兼容性对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和、域完整性和用户定义完整性4种。其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件。1.实体完整性实体完整性规则是指关系的主关键字不能取“空值”。2.参照完整性参照完整性规则指的是若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主键值。2.3关系完整性3.域完整性域完整性规则是指要求表中列的数据必须具有正确的数据类型、格式以及有效的数据范围。4.用户定义完整性用户定义的完整性(User-definedIntegrity)就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。2.4关系规范化理论2.4.1问题的提出2.4.2函数依赖2.4.3关系模式的规范化2.4.4关系规范化的实际应用2.4.1问题的提出1.关系模式中可能存在的异常【例】设有学生及选课关系Student,如表所示。Student中具有以下属性:学号、院系名称、系主任、课程号、教师、成绩,于是得到这样一组属性:U={学号,院系名称,系主任,课程号,教师,成绩}。学号院系名称系主任课程号教师成绩05010031计算机系程宽062308张然8905010032计算机系程宽062308黎明6805010033计算机系程宽062308张明7006010001经济与管理工程系谢苏221032张然6806010010经济与管理工程系谢苏221032王子7206030200机电工程系邱会仁241302张然682.4.1问题的提出学生选课关系Student的数据模式Student(U,F)。U={学号,院系名称,系主任,课程号,教师,成绩}F={(学号,课程号)→成绩,院系名称→系主任,课程号→教师,学号→院系名称,学号→系主任},存在如下问题:(1)数据冗余(2)删除异常(3)插入异常2.关系模式中存在异常的原因存在一些不好的数据依赖。解决方法:利用关系数据库规范化理论,对关系模式进行分解2.4.2函数依赖数据依赖是通过一个关系中属性间值的相等与否体现出数据间的相互关系。现在人们已经提出了多种类型的数据依赖,其中最重要的数据依赖是函数依赖(FunctionalDependency,FD)和多值依赖(MultivaluedDpendency,MVD)。数据依赖是指数据之间存在的各种关系,比如外键就是一种依赖。数据冗余的产生和数据依赖有着密切的关系。在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.2函数依赖1.函数依赖的定义在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.2函数依赖在数据依赖中,函数依赖是最基本的一种依赖。实际上,它是键概念的推广。2.4.3关系模式的规范化1.规范化的作用数据依赖引起的主要问题是操作异常,解决的办法是进行关系模式的合理分解,也就是对关系模式进行规范化(Normalization)。规范化的目的:(1)消除异常(2)方便用户使用,简化检索操作(3)加强数据独立性(4)使关系模式灵活,更容易使用非过程化的高级查询语言(3)更容易进行各种查询统计工作2.4.3关系模式的规范化2.规范化的标准范式(NormalForm,NF):是指关系模式规范形式。关系模式需要满足规范化条件,不同程度的条件称为不同的范式。于1971~1972年系统地提出了1NF、2NF、3NF概念,讨论了规范化的问题。1974年Codd和Boyce共同提出了BCNF。1976年Fagin提出了4NF,以后又有人提出了5NF。2.4.3关系模式的规范化第一范式(1NF)定义:设R是一个关系模式。如果R的每一个属性的值域都是不可再分的数据项,即关系中的每一属性都是原子的,则称该关系模式为第一范式,记作1NF。第一范式是对关系模式的最低要求。不满足第一范式的数据库模式不能称为关系数据库。不满足第一范式的关系称为非规范关系。学生信息课程号成绩学号院系代码系主任0401001001苏云255430890307012004王楠255341680307012004王楠25543070学号院系代码系主任课程号成绩0401001001苏云255430890307012004王楠255341680307012004王楠255430702.4.3关系模式的规范化第二范式(2NF)定义:设R是一个关系模式。如果R是第一范式,且R中每一个非键属性完全函数依赖于R的键,则称该关系模式为第二范式,记为2NF。第二范式消除了非主属性对关键字的部分依赖。即满足2NF的关系,其非主属性完全函数依赖于关键字。2NF存在以下问题:(1)插入异常(2)删除异常(3)冗余(4)更新异常2.4.3关系模式的规范化第三范式(3NF)定义:设R是一个关系模式。如果R是2NF,且它的任何一个非键属性都不传递依赖于R的任一候选键,则称该模式为第三范式,记为3NF。例:求关系模式R(学号,姓名,班级号,班级人数)的范式级别。解:因为R中的各属性都是原子的,所以R∈1NF。从R中可以看出,学号为主键,它是一个单一属性,因此在R中不存在部分函数依赖,所以R∈2NF。在R中由于有学号→班级号,班级号→班级人数,它构成了学号→班级人数这一传递依赖,故R不满足第3范式的要求。结论:R∈2NF2.4.3关系模式的规范化4.BC范式(BCNF)定义:在一个关系模式的所有非平凡函数依赖中,如果所有决定于都含有码(即起决定因素的超码),则此关系模式属于BCNF。由BCNF的定义可以得到结论,一个满足BCNF的关系模式具有以下三个性质:(1)所有非主属性对每个候选码都是完全函数依赖。(2)所有的主属性对每一个不包含它的候选码,也是完全函数依赖的。(3)没有任何属性完全函数依赖于非码的任何一组属性。由于R属于BCNF,按定义排除了任何属性对候选码的传递依赖与部分依赖,所以R属于3NF。但是若R属于3NF,则R未必属于BCNF。2.4.3关系模式的规范化【例】求A1(学号,课程号,成绩)的范式级别。解:对于关系模式A1(学号,课程号,成绩),它只有一个主关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024农业植保员考试前瞻试题及答案
- 六安市金安区 毛坦厂镇浸堰村蔬菜大棚产业项目 实施方案
- (高清版)DB50∕T 867.23-2021 安全生产技术规范 第23部分:纺织企业
- 模具设计师资格考试的时间管理技巧试题及答案
- 提升自信迎接2024年篮球裁判员考试 试题及答案
- 2024年模具设计师考试突破障碍试题及答案
- 农场公用基础设施建设项目可行性研究报告(模板范文)
- 2024年救生员职业资格备考试题
- 建立学习伙伴关系2024年体育经纪人资格试题及答案
- 2024年模具设计师资格考试的前沿动态试题及答案
- 12D401-3 爆炸危险环境电气线路和电气设备安装
- 供应商业务连续性计划
- 老年外科患者围手术期营养支持中国专家共识(2024版)
- 2024北京八十中初一(下)期中英语 (教师版)
- 城市更新中的建筑设计策略探讨
- 全国应急救援技术竞赛理论考试题库(附答案)
- 2024年辽宁省初中学业水平考试物理模拟卷一
- 居住区规划智慧树知到期末考试答案章节答案2024年湖南师范大学
- 安全生产三项制度内容
- 体质健康管理典型案例
- 《纪念刘和珍君》阅读题及答案
评论
0/150
提交评论