版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章关系数据库理论
本章要点:掌握关系代数运算。掌握关系规范化理论。2025/6/616:001一、关系运算ABCa1b1c1a1b2c2a2b2c1a1b3c2ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR∪
S∪并运算结果是两张表中的所有行,重复的行要去除。一、关系运算
》集合运算》并运算ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR∩S∩交运算结果包括两张表中共有的行。一、关系运算
》集合运算》交运算ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR-S-差运算结果包括第一张表中出现但第二张表中不出现的那些行。一、关系运算
》集合运算》差运算ABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1RSR×
S×两个分别为n目和m目的关系R和S的笛卡尔积是一个(n + m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的笛卡尔积有k1*k2个元组。简要说:笛卡尔积是是一张表的每一行与另一张表的每一行进行组合。一、关系运算
》集合运算》乘积运算(笛卡尔积)选择运算根据一个或多个条件从一张数据表中选择符合条件的行。【例2-1】查询信息系全体学生一、关系运算
》专门关系运算》选择运算【例2-2】从关系Student中选取所有年龄小于20的学生,其关系运算表达式为:一、关系运算
》专门关系运算》选择运算投影运算也是一个单目运算,它是从一个关系R中选取所需要的列组成一个新关系。一、关系运算
》专门关系运算》投影运算【例2-3】查询学生关系中有哪些系,其运算关系表达式为:【例2-4】查询学生的姓名和所在系一、关系运算
》专门关系运算》投影运算一、关系运算
》专门关系运算》连接运算连接运算是一个二目运算,它是从两个关系的笛卡尔积中选取满足一定连接条件的元组。连接运算从R和S的笛卡尔积R × S中选取R关系在A属性组上的值与S关系在B属性组上值满足比较关系θ的元组。一、关系运算
》专门关系运算》连接运算【例2-5】RB = SB连接结果自然连接结果自然连接需要取消重复列
【例2-7】查询选修了1号课程的学生学号。
Sno(
Cno=‘1’(SC))【例2-8】查询选修了1号课程或3号课程的学生学号。
Sno(
Cno=‘1’vCno=‘3’(SC))或
Sno(
Cno=‘1’(SC))U
Sno(
Cno=‘3’(SC))【例2-9】查询至少选修了一门其先行课为5号课程的学生姓名。
Sname(
Cpno=‘5’(Course)⨝SC⨝
Sno,Sname(Student))一、关系运算
》关系运算实例二、规范化理论数据库设计的一个最基本的问题是怎样建立一个合理的数据库模式,使数据库系统无论是在数据存储方面,还是在数据操作方面都具有较好的性能。为使数据库设计合理可靠、简单实用,长期以来形成了关系数据库设计理论,即规范化理论。它是根据现实世界存在的数据依赖而进行的关系模式的规范化处理,从而得到一个合理的数据库设计效果。SnoSnameSsexDnameCnameTnameGrade0450301张三恺男计算机系高等数学李刚830450301张三恺男计算机系英语林弗然710450301张三恺男计算机系数字电路周斌920450301张三恺男计算机系数据结构陈长树860450302王薇薇女计算机系高等数学李刚790450302王薇薇女计算机系英语林弗然940450302王薇薇女计算机系数字电路周斌740450302王薇薇女计算机系数据结构陈长树68…………………0420131陈杰西男园林系高等数学吴相舆970420131陈杰西男园林系英语林弗然790420131陈杰西男园林系植物分类学花裴基930420131陈杰西男园林系素描丰茹88下表会出现哪些问题?二、规范化理论1.数据冗余(DataRedundancy)(1)学生信息存储了多次。(2)课程信息存储了多次。(3)教师授课信息存储了多次。2.更新异常(UpdateAnomalies)(1)插入异常(InsertAnomalies):没有学生信息时,无法插入系别、课程、教师信息。(2)修改异常(ModificationAnomalies):如果更改一门课程的任课教师或学生的所在系别,则需要修改多个元组,可能造成数据的不一致性。(3)删除异常(DeletionAnomalies):删除学生,把课程信息也删除了。SnoSnameSsexDname0450301张三恺男计算机系0450302王薇薇女计算机系…………0420131陈杰西男园林系CnoCnameTnameGS01101高等数学李刚YY01305英语林弗然SD05103数字电路周斌SJ05306数据结构陈长树……GS01102高等数学吴相舆ZF02101植物分类学花裴基SM02204素描丰茹SnoCnoGrade0450301GS01101830450301YY01305710450301SD05103920450301SJ05306860450302GS01101790450302YY01305940450302SD05103740450302SJ0530668………0420131GS01102970420131YY01305790420131ZF02101930420131SM0220488应将上表分解成以下三个表:改进后的优点:1、数据存储量减少。2、更新方便、之前的各种异常基本被消除。定义2.1设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。例:学号→姓名例:定单号→订单日期例:姓名→年龄这个函数依赖只有在没有同名人的条件下成立。二、规范化理论
》函数依赖范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到范式要求的关系才是规范化的。关系模式的规范化主要解决的问题是关系中数据冗余及由此产生的操作异常。而从函数依赖的观点来看,即是消除关系模式中产生数据冗余的函数依赖。各范式之间的关系非规范化关系1NF2NF3NFBCNF……二、规范化理论
》范式有6种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。其关系是:1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF1.第一范式(1NF)定义2.8当一个关系中的所有分量都是不可分的数据项时,就称该关系是规范化的,这个表叫做第一范式(1NF)。职工号姓
名工
资基本工资职务工资工龄工资
职工号姓名职称系名学历毕业年份05103周斌教授计算机大学研究生1983199205306陈长树讲师计算机大学1995职工号姓名基本工资职务工资工龄工资
职工号姓名职称系名学历毕业年份05103周斌教授计算机大学198305103周斌教授计算机研究生199205306陈长树讲师计算机大学1995第一范式非规范化关系非规范化关系第一范式关系模式如下:SLC(SNO,DEPT,SLOC,CNO,GRADE)字段的含义分别为:学号、系别、住处,课号、成绩。此关系模式为第一范式,但存在如下问题:(1)插入异常问题。假若要插入一个SNO = '95102',DEPT = 'IS',SLOC = 'N',但还未选课的学生,即这个学生无CNO,这样的元组不能插入SLC中。(2)删除异常问题。假定某个学生只选修了一门课,且这门课程只有这一个学生选。删除选课记录后,学生的基本信息丢失了,课程信息的信息也丢失了。(3)数据冗余度大的问题。如果一个学生选修了10门课程,那么他的DEPT和SLOC值就要重复存储10次。2025/6/616:001.第一范式(1NF)2.第二范式(2NF)定义2.10:如果一个关系模式R∈1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R∈2NF。定义2.3在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有X'↛Y,则称Y完全函数依赖(FullFunctionalDependency)于X,记作X→Y。若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖(PartialFunctionalDependency)于X,记作X→Y。第二范式例子:成绩表(学号,课程号,成绩)(学号,课程号)→成绩学生(学号,姓名,性别)学号→姓名,学号→性别FPFSLC(SNO,DEPT,SLOC,CNO,GRADE)2025/6/616:002.第二范式(2NF)候选码是:sno、cno有如下函数依赖:存在部分依赖,所以不是第二范式。将SLC分解为以下两个关系模式:SC(SNO,CNO,GRADE)SL(SNO,DEPT,SLOC)其中,SC的码为(SNO,CNO);SL的码为SNO。2025/6/616:002.第二范式(2NF)(SNO,CNO)→GRADESNO→DEPTDEPT→SLOCSNO→SLOC所有非主属性都完全函数依赖于码,所以两个关系模式都是第二范式。减轻了数据冗余和更新异常问题,但“DEPT→SLOC”仍会造成数据冗余和更新异常。有如下函数依赖:F定义2.4在关系模式R(U)中,如果X→Y,Y→Z,且Y↛X,则称Z传递函数依赖于X,记作Z→X。定义2.11如果一个关系模式R∈2NF,且所有非主属性都不传递函数依赖于任何候选码,则R∈3NF。第三范式例子:成绩表(学号,课程号,成绩)(学号,课程号)→成绩
学生(学号,姓名,性别)学号→姓名,学号→性别,姓名↛性别2025/6/616:003.第三范式(3NF)传递函数依赖例子:学生(学号,姓名,学院,院长)
因为“学号→学院,学院→院长,学院↛学号”,所以“学号→院长”TT非主属性之间有函数依赖把SL(SNO,DEPT,SLOC)分解为两个关系模式:SD(SNO,DEPT)DL(DEPT,SLOC)其中,SD的码为SNO;DL的码为DEPT。关系模式中既没有非主属性对码的部分函数依赖,也没有非主属性对码的传递函数依赖,基本上解决了上述问题:(1)当没有学生信息时,在DL关系中可以插入系别和住处信息。(2)某个系的学生全部毕业了,只是删除SD关系中的相应元组,DL关系中关于该系的信息仍然存在。(3)关于系的住处的信息只在DL关系中存储一次。(4)当学校调整某个系的学生住处时,只需修改DL关系中一个相应元组的SLOC属性值。2025/6/616:003.第三范式(3NF)在信息系统的设计中,普遍采用的是“基于3NF的系统设计”方法,就是由于3NF是无条件可以达到的,并且基本解决了“异常”的问题,因此这种方法目前在信息系统的设计中仍然被广泛地应用。2025/6/616:003.第三范式(3NF)二、规范化理论
》关系模式规范化的实例EcodeProjCodeDeptHoursE101P27Systems90E305P27Finance10E508P51AdminNULLE101P51Systems101E101P20Systems60E508P27Admin72【例2-15】考查下表,主键是(ecodeprojcode)Dept依赖于Ecode,所以dept不完全依赖于码(Ecodeprojcode)。不属于第二范式。把有部分依赖的放入另一张表,这样就成了第二范式。将表转换成2NF的步骤如下:(1)找出并移去函数依赖于部分关键字而不是整个关键字的属性,将它们放到另一张表中;(2)将剩余的属性分组。EmployeeDeptECodeDeptE101SystemsE305FinanceE508AdminProjectECodeProjCodeHoursE101P2790E101P51101E10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南宁市事业单位考试真题及答案
- 2025年下半年教师资格证《小学教育教学知识与能力》真题及答案
- 2026年湖北省黄冈市民营企业职称评审测试(电气)训练题及答案
- 2026年法考缔约过失责任题库(含答案)
- 2025年天津普法考试题目和答案
- 急症患者入院考核试题及答案解析
- 河南省2026年度一级造价工程师职业资格考试安装工程复习题库及答案
- 国际陆港可行性研究报告
- 费用和利润试题及参考答案
- 山东房产可行性研究报告
- 风险分级管控责任清单(市政道路工程)
- 养老护理服务标准流程
- 护理急性胰腺炎课件
- 汽车标识管理办法
- 136号文深度解读及案例解析培训
- 马文蔚《大学物理学》
- 常用避孕方法及护理PART课件
- 关爱生命-急救与自救技能知到智慧树章节测试课后答案2024年秋上海交通大学医学院
- 全国驾驶员考试(科目一)考试题库下载1500道题(中英文对照版本)
- 刑事案件会见笔录(侦查阶段)
- 建筑工程机电安装系统调试方案
评论
0/150
提交评论