




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、An Introduction to Database System,数据库原理 第六章 关系数据理论(习题课),An Introduction to Database System,模式分解中常用概念,对于关系模式R(U,F)及其上的一个分解 R1(U1,F1), R2(U2,F2), , Rn(Un,Fn) 属性保持 若R中的每一个属性都应该至少出现在分解中的一个关系模式Ri中,即 Ui U,则这种分解我们称为属性保持。,An Introduction to Database System,模式分解中常用概念,分解的无损连接性 保持函数依赖 令F=F1F2Fn,若F+=F+,则我们称这种分
2、解为保持函数依赖的分解。,An Introduction to Database System,范式举例,R(X,Y,Z) F=XYZ R(X,Y,Z) F=YZ ,XZY R(X,Y,Z) F=YZ,Y X,X YZ R(X,Y,Z) F=XY ,XZ R(W,X,Y,Z) F=XZ, WXY,参考答案:BCNF、3NF、BCNF、BCNF、1NF,An Introduction to Database System,范式举例(续),考虑已出版书的关系: BOOK(Book_title,Authorname,Book_type,Listprice,Author_affil,Publisher
3、) Author_affil是指作者的联盟。假设存在以下依赖: Book_title Publisher,Booke_type Book_typeListprice AuthornameAthor_affil 关系属于第几范式?解释你的回答。 运用规范化直到不能再进一步分解关系为止。说明分解原因。,An Introduction to Database System,函数依赖集等价,考虑以下两个函数依赖集: F=A C, ACD, EAD, EH 和G=ACD, EAH。检查它们是否等价。,An Introduction to Database System,求取候选码,设有关系模式R(A,B
4、,C,D,E),其上的函数依赖集F=A BC, CDE, BD, EA 计算A+和B+ 求R的所有候选码,参考答案:ABCDE,BD 候选码是A,BC,CD,E,An Introduction to Database System,设有关系模式R(A,B,C,D,E),其上的函数依赖集F=AB C, CDE, DEB 问AB是该关系的候选码吗?如果不是,那候选码是什么?请解释你的回答。,求取候选码(续),An Introduction to Database System,设有关系模式R(A,B,C,D,E ,F,G,H,I,J),其上的函数依赖集F=AB C, ADE, B F, FGH,
5、DIJ 问R的候选码是什么?将R先分解成2NF关系,然后再分解成3NF关系。,求取候选码(续),An Introduction to Database System,设有关系模式R(A,B,C,D),其上的函数依赖集F=A C, CA, BAC, DAC 计算(AD)+ 求F的最小函数依赖集Fm 求R的码 将R分解为满足3NF且保持函数依赖 将R分解为满足3NF并具有无损连接性和保持函数依赖 将R分解为满足BCNF且具有无损连接性,An Introduction to Database System,基本知识点,需要了解的:什么是一个“不好”的数据库模式;什么是模式的更新异常;规范化理论的重要
6、意义。 需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、码、候选码、外码、多值依赖);范式的概念;从1NF到4NF的定义;规范化的含义和作用。,An Introduction to Database System,基本知识点(续),需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。 难点:各个级别范式的关系及其证明。,An Introduction to
7、 Database System,1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码、1NF、2NF、3NF、BCNF、多值依赖、4NF。 答:函数依赖 :设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY。,An Introduction to Database System,解析: 函数依赖是最基本的、也是最重要的一种数据依赖。 函数依赖是属性之间的一种联系,体现在属性值是
8、否相等。由定义可知,若XY,则 r中任意两个元组,如果它们在X上的属性值相等, 那么在Y上的属性值也一定相等。 要从属性间实际存在的语义来确定它们之间的函数依赖。 函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R在任何时刻的一切关系均要满足的约束条件。,An Introduction to Database System,完全函数依赖、部分函数依赖:在关系模式R(U)中,若XY,且对于X的任何一个真子集X,都有X Y, 则称Y完全函数依赖于X,记作X Y。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。 传递函数依赖:在关系模式R(U)中,若XY,
9、YZ,且Y X,Y X,则称Z传递函数依赖于X ,记作X t Z 。,An Introduction to Database System,候选码、主码:设K为关系模式R中的属性或属性组合,若K U,则K称为R的一个侯选码。若候选码多于一个,则选定其中的一个为主码。 外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码。 全码:整个属性组是码,称为全码。,An Introduction to Database System,1NF:若关系模式R的所有属性都是不可分的基本数据项,则R1NF。1NF是对关系模式的最起码要求,不满足1NF的数据库模式不能称为关系数据
10、库。1NF2NF3NFBCNF4NF。 2NF:若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。 3NF:关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得XY,YX,YZ成立,则称R3NF。,An Introduction to Database System,BCNF:设关系模式R1NF,如果对于R的每个函数依赖XY,若Y不属于X,则X必含有候选码,那么RBCNF。 多值依赖:设关系模式R(U)中, X、Y和ZU,且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y值,这组值仅决定于X值而与Z值无关。 4N
11、F:关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。,An Introduction to Database System,2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、生日、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系号、系名、系办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每学会有若干学生。学生参加某学会
12、有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选码、外部码,有没有全码存在?,An Introduction to Database System,答:关系模式有:学生S(S#,SN,SB,DN,C#,SA) 班级C(C#,CS,DN,CNUM,CDATE) 系D(D#,DN,DA,DNUM) 学会P(PN,DATE1,PA,PNUM) 学生学会SP(S#,PN,DATE2) 其中:S#为学号,SN为姓名,SB为生日,DN为系名,C#为班号,SA为宿舍区,C
13、S为专业名,CNUM为班级为数,CDATE为入校年份,D#为系号,DA为系办公室地点,DNUM为系人数,PN为学会名,DATE1为学会成立年月,PA为地点,PNUM为人数,DATE2为入会年份。 各关系模式的极小函数依赖集为: S:S#SN,S#SB,S#C#,C#DN,DNSA C:C#CS,C#CNUM,C#CDATE,CSDN,(CS,CDATE)C# D:D#DN,DND#,D#DA,D#DNUM P:PNDATE1,PNPA,PNPNUM SP:(S#,PN)DATE2 S中存在传递函数依赖:S#DN,S#SA,C#SA C中存在传递函数依赖:C#DN (CS,CDATE)C# 和(
14、S#,PN)DATE2都是完全函数依赖。,An Introduction to Database System,学生S(S#,SN,SB,DN,C#,SA) 班级C(C#,CS,DN,CNUM,CDATE) 系D(D#,DN,DA,DNUM) 学会P(PN,DATE1,PA,PNUM) 学生学会SP(S#,PN,DATE2) S:S#SN,S#SB,S#C#,C#DN,DNSA C:C#CS,C#CNUM,C#CDATE,CSDN,(CS,CDATE)C# D:D#DN,DND#,D#DA,D#DNUM P:PNDATE1,PNPA,PNPNUM SP:(S#,PN)DATE2 关系 候选码
15、外部码 全码 S S# C#,DN 无 C C#和(CS,CDATE) DN 无 D D#和DN 无 无 P PN 无 无 SP (S#,PN) S#,DN 无,An Introduction to Database System,3.试由Armostrong公理系统推导出下面三条推理规则: 合并规则:若XZ,XY,则有XYZ 伪传递规则:由XY,WYZ,则有XWZ 分解规则:若XY,ZY,则有XZ 证明: 已知XZ,由增广律知XYYZ,又因XY,可得 XXXYYZ,根据传递律有XYZ 已知XY,由增广律知XWWY,又因WYZ,可得 XWWYZ,根据传递律有XWZ 已知ZY ,由自反律知YZ,
16、又因XY,所以由传递律可得 XZ,An Introduction to Database System,4.关于多值依赖的另一种定义是:给定一个关系模式R(X,Y,Z),其中,X,Y,Z可以是属性或属性组。设xX,yY,zZ,xz在R中的像集为:Yxz=r.Y|r.X=xr.Z=zrR。定义:R(X,Y,Z)当且仅当Yxz= Yxz对于每一组(x,z,z)都成立,则Y对X多值依赖,记作XY。这里,允许Z为空集,在Z为空集时,称为平凡的多值依赖。 证明:设Yxz= Yxz对于每一组(x,z,z)都成立,并设s,t是关系r中的两个元组,sX=tX,由上述定义的条件可知对于每一个z值,都对应相同的一
17、组y值。即对相同的x值,交换y值后所得的元组仍然属于关系r,即定义5.9的条件成立。 若定义5.9的条件成立,则对相同的x值,交换y值后所得的元组仍然属于关系r,由于任意性及其对称性,可知每个z值对应相同的一组y值,所以Yxz= Yxz对于每一组(x,z,z)都成立。 综上,本定义和定义5.9的条件是等价的,所以两定义等价。,An Introduction to Database System,5.试举出3个多值依赖的实例。 答:关系模式MSC(M,S,C)中,M为专业,S为学生,C为该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同。按照语义,对于M的每
18、一个值Mi,S有一个完整的集合与之对应而不管C取何值,所以MS。由于C与S的完全对称性,必然有MC。 关系模式ISA(I,S,A)中,I为学生兴趣小组,S为学生,A为某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生参加所在兴趣小组的所有兴趣活动项目,每个活动项目要求该兴趣小组的所有学生参加。按照语义有IS,IA。 关系模式RDP(R,D,P)中,R为医院病房,D为责任医务人员,P为病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。按照语义有RD,RP。,An Introduction to Database System,6. 第五章图
19、5.12表示一个公司各部门的层次结构。 对每个部门,数据库中包含部门号(唯一的)D#、预算费(BUDGET)以及此部门领导人员的职工号E#(唯一的)信息。 职工信息包括:职工号、他所参加的生产与科研项目号(J#)、他所在办公室的电话号码(PHONE#)。 生产与科研项目包含:项目号(唯一的)、预算费。 办公室信息包含办公室房间号(唯一的)、面积。 对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。 对每个办公室包含此办公室中全部电话号码的信息。 请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。提示:此题可分步完成,第一步先转换成一组1NF的关系,然后逐步转换
20、为2NF,3NF,BCNF。,An Introduction to Database System,答:根据题中的语义假设给出一组函数依赖。语义假设为:一个职工不能同时成为多个部门的领导人;一个职工不能同时在多个部门就职;一个职工不能同时参加多个生产与科研项目;一个职工不能同时在两个不同的办公室办公;一个职工不能同时拥有两部或两部以上的电话;一个生产与科研项目不能同时分配给多个部门;一个办公室不能同时分配给多个部门;部门号、职工号、项目号、办公室号码及电话号码是全局唯一的。 设计一组关系模式,它们都是属于1NF的。 部门DEPT(DEPT#,DBUDGET,MGR_EMP#),其中DEPT#和
21、MGR_EMP#都是候选码 职工EMP1(EMP#,DEPT#,PROJ#,OFF#,PHONE#),候选码为EMP# ,但有PHONE#OFF#, OFF#DEPT#,PROJ#DEPT# 职务JOB(EMP#,JOBN),工资史SALHIST(EMP#,DATE,JOBN,SALARY) 生产与科研项目PROJ(PROJ#,DEPT#,PBUDGET) 办公室OFFICE(OFF#,DEPT#,AREA), 电话PHONE(PHONE#,OFF#) 分析可知,JOB的属性全包含在SALHIST中,所以JOB可消去。 EMP1中OFF#,DEPT#都传递函数依赖于主码EMP#,故将EMP#分解。,An Introduction to Database System,分解为4个3NF的关系模式: EMP(EMP#,PROJ#,PHONE#)、X(PHONE#,OFF#)、 Y (PROJ#,DEPT#) 和Z(OFF#,DEPT#) 然而X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考信息技术真题与模拟题资源
- 初中语文古诗文教学设计及课堂实践
- 小学五年级数学单元复习与测评设计
- 泌尿系统疾病说课稿-2025-2026学年中职专业课-临床疾病概要-医学技术-医药卫生大类
- 6.3.1 角的概念(说课稿)- 2024-2025学年人教版数学七年级上册
- 高中历史 第1课 走向民主政治说课稿2 岳麓版选修1
- 幼儿园班级常规管理细则
- 零基础职场英语口语快速提升
- 灭火器检查与使用维护规范
- 质变与量变科学实验教学案例故事
- 机械故障诊断培训课件
- 2025年行政执法人员考试题库(附答案)
- 2025年辅警招聘考试简答题题库及答案
- 2025至2030渐进多焦点镜片行业项目调研及市场前景预测评估报告
- 运动表现生物力学优化模型-洞察阐释
- 中央空调系统改造项目可行性研究报告
- 中国血管性认知障碍诊治指南2024版解读
- 4输变电工程施工质量验收统一表式(电缆工程电气专业)-2024年版
- 医疗器械设计开发控制
- 消防中控考试题及答案
- 蕴涵数学知识的成语故事
评论
0/150
提交评论