关系数据库设计与应用(工作手册式) 课件 第4章 关系数据库设计理论_第1页
关系数据库设计与应用(工作手册式) 课件 第4章 关系数据库设计理论_第2页
关系数据库设计与应用(工作手册式) 课件 第4章 关系数据库设计理论_第3页
关系数据库设计与应用(工作手册式) 课件 第4章 关系数据库设计理论_第4页
关系数据库设计与应用(工作手册式) 课件 第4章 关系数据库设计理论_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章

关系数据库设计理论工业和信息化部“十四五”规划教材

浙江省高职院校“十四五”首批重点教材《关系数据库设计与应用》(工作手册式)

配套课件学习目标LEARNINGTARGET了解数据库冗余和存储异常问题;理解函数依赖的相关概念;掌握三大范式的概念;掌握数据库设计的基本步骤。知识目标能力目标会进行关系范式的判断与分解;会进行关系数据库概念结构及逻辑结构设计。思政目标树立隐私保护、数据安全意识;树立良好的职业道德素养,拥有正确的是非观,遵纪守法;树立正确的择业与就业观;树立团队合作共赢意识,培养团队协作能力。主要内容MAINCONTENTS4.1冗余与存储异常4.2函数依赖

*4.3关系范式

*4.4关系模式的规范化4.5数据库设计综合实例冗余和存储异常的问题4.1冗余和存储异常问题

例:要求设计一个教学管理数据库,希望从该数据库中得到学生学号、学生姓名、年龄、系别、系主任姓名、学生学习的课程和该课程的成绩等信息。若将这些信息设计为一个关系。冗余和存储异常问题教学(学号,姓名,年龄,系名,系主任,课程名,成绩)存在问题学号姓名年龄系名系主任课程名成绩98001李华21计算机王民C语言9098001李华21计算机王民高等数学8098002张平22计算机王民C语言6598002张平22计算机王民高等数学7098003陈兵21数学赵敏高等数学9598003陈兵21数学赵敏离散数学7599001陆莉23物理王珊普通物理85如果数学系的学生全毕业了,则需要删除该系的学生记录,但如果该系的学生全删除了,则该系的系名、系主任信息也从数据库中删除了。冗余和存储异常问题以上关系存在下面几个问题一个学生只有一个姓名,但上面的表中若一个学生选几门课,则该学生的姓名就要重复几次。同样一个系也只有一个系主任,上表中系主任的姓名重复就更多了。假如计算机系的系主任换了,那么上表中的四条记录的系主任都需要修改,假如改得不一样,或少改一处,就会造成数据不一致。假如新成立了一个系:化工系,并且也有了系主任,但还没有招学生,所以不能在上表中插入化工系的记录,也就不能在数据库中保存化工系的系名和系主任的信息。同样如果新增一门课,但还没有学生选修,所以也不能插入该课程。1234数据冗余较大修改异常插入异常删除异常冗余和存储异常问题以上关系存在下面几个问题数据冗余较大修改异常插入异常删除异常冗余和存储异常问题结论一个好的关系模式,除了能满足用户对信息存储和查询的基本要求外,还应具备下列条件:以上关系模式不是一个好的关系模式。尽可能少的数据冗余;没有插入异常;没有删除异常;没有更新异常。冗余和存储异常问题学生(学号,姓名,年龄,系名)系(系名,系主任)选课(学号,课程名,成绩)对于有问题的关系模式,可以通过模式分解的方法使之规范化;上述关系模式如果分解为如下三个关系则可以克服以上出现的问题。如何分解关系模式,分解的依据是什么?函数依赖4.2函数依赖实体集与实体集之间的联系,有4种联系(1:1,1:m,m:1,m:n)。其实,现实世界实体集的属性之间也是互相联系的。属性之间的联系分为三类:1:1联系、1:n联系、m:n联系。属性间的联系思考:学生(学号,姓名,性别,年龄,班级)学号与姓名之间是1:1的联系(假设不重名的情况下)班级与学号之间是1:m的联系年龄与班级之间是m:n的联系函数依赖数据依赖就是指同一关系中属性值的相互依赖和相互制约,即一个关系中属性间值的相等与否体现出来的数据间的相互关系。如学生的学号将决定学生姓名,课程名将决定有哪些参考书等。数据依赖数据依赖分函数依赖、多值依赖和连接依赖等,其中函数依赖是最基本的一种数据依赖。函数依赖对函数Y=f(X)而言,我们讨论的是Y与X在数量上的对应关系,每个X均对应唯一的一个Y,称为:X函数决定Y,或Y函数依赖于X,记作:X

Y如:省=f(城市),在这里,只要给出一个具体的城市,都会有一个唯一的省与之相对应,即城市→省。思考:以上函数省=f(城市)中,自变量是?因变量是?函数依赖函数依赖的定义:设一个关系为R(U),X和Y为属性集U上的子集,若对于X上的每个值都有Y上的一个唯一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X。记为X

Y,其中X叫决定因素,Y叫依赖因素。函数依赖函数依赖例如:设一个职工关系为(职工号,姓名,性别,年龄,职务)

职工号用来标识每个职工,选作为该关系的主码。职工号一确定,该职工的姓名就确定了,或者说一个职工的姓名由其职工号唯一确定,所以称职工号函数决定姓名,或称姓名函数依赖于职工号,记作“职工号→姓名”,职工号为该函数依赖的决定因素。同理,当一名职工的职工号被确定之后,它所对应的性别、年龄、职务等属性值就被唯一确定下来了,所以职工号函数决定性别、年龄、职务等描述职工特征的每个属性,可以分别记作为“职工号→性别”、“职工号→年龄”、“职工号→职务”。某个属性集决定另一个属性集时,称另一属性集函数依赖于该属性集。函数依赖函数依赖提问:请说出下列关系模式中的一些函数依赖。学生(学号,姓名,年龄,性别)选课(学号,课程号,成绩)学号

性别学号

姓名学号

年龄(学号,课程号)

成绩函数依赖动一动函数依赖根据函数依赖的定义,可以找出如下规律:在一个关系模式中,如果属性X、Y间是1:1的联系,则存在着函数依赖

X→Y、Y→X,这时可称X、Y相互函数依赖。如果属性X、Y间是1:N的联系,则存在函数依赖Y→X,但X→Y。如果属性X、Y间是M:N的联系,则X与Y之间不存在任何函数依赖。函数依赖例:学生(学号,姓名,性别,年龄,班级)学号与姓名之间是1:1的联系(假设不重名的情况下)班级与学号之间是1:m的联系年龄与班级之间是m:n的联系函数依赖巩固思考职工(职工号,姓名,性别,年龄,职务)职工号与姓名之间是1:1的联系(假设不重名的情况下)职务与职工号之间是1:m的联系性别与年龄之间是m:n的联系函数依赖职工号

姓名,姓名

职工号想一想职工号

职务不存在函数依赖函数依赖结论:如果属性组A⊇属性组B,则A→B注:函数依赖是指关系R中的所有元组均应满足的约束条件,而不是R中某个或某些元组满足的约束条件。当关系中的元组增加或者更新后,都不能破坏函数依赖。函数依赖如:(职工号,性别)

职工号

函数依赖1、平凡函数依赖与非平凡函数依赖函数依赖的几种特例设一个关系为R(U),X和Y为属性集U上的子集。若X→Y,且X不包含Y,则X→Y

称为非平凡函数依赖。若Y⊆X,则必有X→Y,则称X→Y为平凡函数依赖。由于Y⊆X时,一定有X→Y,平凡函数依赖必然成立,没有意义,所以一般所说的函数依赖总是指非平凡函数依赖。如:(职工号,性别)

职工号

如:(职工号)

姓名

函数依赖2、完全函数依赖与部分函数依赖在关系模式R(U)中,如果X→Y,但Y不函数依赖于X的任一真子集,则称Y对X完全函数依赖,记作X

Y。

否则,称为部分函数依赖,记作X

Y。fp(学号,课程号)课程名如:选课(学号,课程号,课程名,成绩)p(学号,课程号)成绩

f推论:如果X→Y,且X是单个属性,则XYf因为课程号→课程名因为学号和课程号中的任何一个属性都不能单独决定成绩

函数依赖的几种特例函数依赖2、完全函数依赖与部分函数依赖在关系模式R(U)中,如果X→Y,但Y不函数依赖于X的任一真子集,则称Y对X完全函数依赖,记作X

Y。

否则,称为部分函数依赖,记作X

Y。fp(教工号,课程号)姓名思考:任课(教工号,姓名,职称,课程号,课程名,课时数,课时费)p(职称,课程号)课时费

f因为教工号→姓名因为职称和课程号中的任何一个属性都不能单独决定课时费

(教工号,课程号)课程名p(教工号,课程号)职称p函数依赖的几种特例想一想函数依赖3、传递函数依赖在同一个关系模式R中,若Y函数依赖于X(X→Y)并且Z函数依赖Y(Y→Z),而YX,则有Z函数依赖X(X→Z),并称这种函数依赖为传递函数依赖。记作X传递→Z。如:学生(学号,姓名,系名,系主任)∵学号→系名,系名→系主任,而系名学号∴系主任传递函数依赖于学号,即学号传递→系主任实际上,部分函数依赖必然是传递函数依赖函数依赖的几种特例函数依赖思考题:已知关系模式R(学号,课程名,专业号,专业名,成绩),请说出下面是什么关系?(学号,课程名,专业号)成绩学号专业号专业名(学号,专业名)成绩(学号,课程名)成绩(课程名,专业名,成绩)(课程名,成绩)

(函数依赖,部分函数依赖)(函数依赖,传递函数依赖)(不是函数依赖)(函数依赖,完全函数依赖)(平凡函数依赖,部分函数依赖)动一动函数依赖的几种特例关系范式4.3关系范式范式(NormalForm):规范化的关系模式,关系模式满足不同程度的规范化要求的标准。根据满足规范化的程度不同,范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF。一般来说,数据库设计到符合第三范式就可以了。第一范式第二范式第三范式关系范式第一范式如果关系模式R中的每一个属性都是不可分解的,则称R属于第一范式,记R∈1NF。姓名工资基本工资奖金补发张三1000300500李四1200300600王五1100400600姓名基本工资奖金补发张三1000300500李四1200300600王五1100400600结论1:第一范式是作为一个关系模式的最起码要求,是一定要满足的。关系范式第一范式教学(学号,姓名,年龄,系名,系主任,课程号,成绩)学号姓名年龄系名系主任课程号成绩98001李华21计算机王民19098001李华21计算机王民28098002张平22计算机王民26598003张名22计算机王民27098003陈兵21数学赵敏29598004王五21数学赵敏37599001陆莉23物理王珊485结论2:第一范式仅是关系模式的最低要求,仅仅满足第一范式是不够的。虽然满足第一范式,但仍然存在较大数据冗余、插入、删除和修改异常等问题。思考:该关系模式是否满足第一范式?关系范式第二范式如关系模式R∈1NF,且R中的每一个非主属性完全函数依赖于主码,则称R属于第二范式,记R∈2NF。例1:请判断学生关系是否属于第二范式?

学生(学号,姓名,出生年月,籍贯)答:①因为此关系中所有属性均不可分解,所以∈1NF;

②因为此关系中所有非主属性均完全函数依赖于主码,所以∈2NF。经验1:若主码是单属性,则此关系模式肯定符合2NF。思考:该关系是否满足第二范式?关系范式第二范式例2:选课(学号,课程号,姓名,成绩)分析过程:①因为此关系中所有属性均不可分解,所以∈1NF;②主码:(学号,课程号)

非主属性:姓名,成绩

∵(学号,课程号)→姓名③此关系中存在非主属性部分函数依赖于主码,所以不属于2NF。P第一步:分析判断第二步:模式分解思考:该关系是否满足第二范式?消除部分函数依赖,将其分解为:学生(学号,姓名)选课(学号,课程号,成绩)分解后的关系模式∈2NF。关系范式第二范式例2:请判断选课关系是否符合第二范式?若不符合,请分解。

选课(学号,课程号,姓名,成绩)

答:

①因为此关系中所有属性均不可分解,所以∈1NF;

②因为此关系中存在非主属性部分函数依赖于主码,所以不属于2NF。

③将其分解为:学生(学号,姓名)选课(学号,课程号,成绩)

分解后的两个关系模式中所有非主属性均完全函数依赖于主码,故∈2NF。完整写法:关系范式第二范式课堂练习1:请判断“教学”模式是否符合第二范式,如不符合,请分解。教学(学号,姓名,年龄,系名,系主任,课程号,成绩)学号姓名年龄系名系主任课程号成绩98001李华21计算机王民19098001李华21计算机王民28098002张平22计算机王民26598003张名22计算机王民2708分钟练一练小组形式,拍照上传超星平台关系范式课堂练习1:请判断“教学”模式是否符合第二范式。教学(学号,姓名,年龄,系名,系主任,课程号,成绩)练习分析答:①因为“教学”中所有属性均不可分解,所以∈1NF;第二范式分析关系范式教学(学号,姓名,年龄,系名,系主任,课程号,成绩)因“教学”关系中存在非主属性部分函数依赖于主码的情况,故不属于2NF;主码:(学号,课程号)非主属性:姓名,年龄,系名,系主任,成绩练习分析学生(学号,姓名,年龄,系名,系主任),主码为(学号)选课(学号,课程号,成绩),主码为(学号,课程号)(学号,课程号)→姓名(学号,课程号)→年龄(学号,课程号)→系名(学号,课程号)→系主任PPPP关系范式课堂练习1:请判断“教学”模式是否符合第二范式。教学(学号,姓名,年龄,系名,系主任,课程号,成绩)练习答案答:①因为“教学”中所有属性均不可分解,所以∈1NF;②因为该关系中存在非主属性部分函数依赖于主码,所以不属于2NF。③将其分解为以下两个关系模式:学生(学号,姓名,年龄,系名,系主任)选课(学号,课程号,成绩)分解后的“学生”和“选课”关系中,所有非主属性均完全函数依赖于主码,故均∈2NF。认真严瑾的工作态度关系范式第二范式如关系模式R∈1NF,且R中的每一个非主属性完全函数依赖于主码,则称R属于第二范式,记R∈2NF。经验1:若主码是单属性,则此关系模式肯定符合2NF。经验3:第2范式分解时,完全函数依赖于主码的非主属性分解在同一个关系模式中,原主码即是主码。经验2:第2范式分解时,由同一个主属性推导出的非主属性分解在同一个关系模式中,源头作为主码。学生(学号,姓名,年龄,系名,系主任)选课(学号,课程号,成绩)总结学号姓名年龄系名系主任课程号成绩98001李华21计算机王民19098001李华21计算机王民28098002张平22计算机王民26598003张名22计算机王民270学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民关系范式学号课程号成绩98001190980012809800226598003270选课(学号,课程号,成绩)学生(学号,姓名,年龄,系名,系主任)关系范式不满足第二范式的关系模式必然存在各种存储异常。思考:满足了2NF是不是就不存在存储异常呢?第二范式如:学生(学号,姓名,年龄,系名,系主任)学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民关系范式不满足第二范式的关系模式必然存在各种存储异常。思考:满足了2NF是不是就不存在存储异常呢?第二范式如:学生(学号,姓名,年龄,系名,系主任)它满足2NF,但还存在如下问题:存在数据冗余:大量的系信息冗余;它存在插入异常:系刚成立,没有学生时不能添加系;它存在删除异常:某系学生全部毕业,系的信息丢失;它存在修改异常:系主任变动,需要改动多处。因此,满足了2NF还不够。关系范式如果关系模式R∈2NF,且R中每一个非主属性对主码都不存在传递函数依赖,或者说R中每一个非主属性之间不存在函数依赖关系,则称R属于第三范式,记R∈3NF。第三范式经验4:若非主属性只有一个,则此关系肯定符合3NF。选课(学号,课程号,成绩)关系范式例3:学生(学号,姓名,年龄,系名,系主任)第三范式因为“学生”关系中存在非主属性传递函数依赖于主码,或非主属性之间存在函数依赖关系,故不属于3NF。①学号系主任②系名→系主任学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民思考:该关系是否满足第三范式?

传递关系范式例3:学生(学号,姓名,年龄,系名,系主任)第三范式学生(学号,姓名,年龄,系名)系(系名,系主任)学号姓名系名98001李华计算机98002张平计算机98003张名计算机系名系主任计算机王民主码分解后的“学生”和“系”均∈3NF学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民判断:分解后的俩关系是否满足第三范式?消除非主属性之间函数依赖关系范式第三范式经验5:第3范式分解时,将存在函数依赖关系的非主属性独立成单独的关系模式(源头为主码),并将主码复制在原关系模式中。如果关系模式R∈2NF,且R中每一个非主属性对主码都不存在传递函数依赖,或者说R中每一个非主属性之间不存在函数依赖关系,则称R属于第三范式,记R∈3NF。系(系名,系主任)学生(学号,姓名,年龄,系名)关系范式第三范式学生(学号,姓名,年龄,系名)系(系名,系主任)选课(学号,课程号,成绩)思考:上述教学(学号,姓名,年龄,系名,系主任,课程号,成绩)关系模式该如何分解才合理,又可以分为几个关系模式呢?最终分解的结果是:分解后均属于第三范式关系范式例2:判断关系模式:选课(学号,课程号,姓名,成绩)∈3NF?分析步骤:它是否满足2NF?不是。既然不满足2NF,当然不满足3NF。不满足3NF的关系模式存在各种存储异常。那么满足3NF的关系模式是不是就不存在存储异常呢?一般情况下是可以了,但有些特殊情况下依然还存在存储异常。第三范式课后思考关系范式1NF↓消除非主属性对主码的部分函数依赖2NF↓消除非主属性对主码的传递函数依赖3NF↓消除主属性对主码的部分依赖和传递依赖BCNF↓消除非平凡且非函数依赖的多值依赖4NF↓消除不是由主码蕴含的连接依赖5NF范式小结①

明白做人、做事的道理。②树立正确的择业与就业观。在实际开发过程中,不一定最顶层是最好的,合适才是最好的。人手人才人物伟人关系模式规范化4.4关系模式规范化关系模式的规范化:把一个低一级的关系模式分解为高一级关系模式的过程。1NF↓消除非主属性对主码的部分函数依赖2NF↓消除非主属性对主码的传递函数依赖3NF关系模式规范化模式分解具有无损连接指分解后的关系通过自然连接可以恢复成原来的关系模式分解能够保持函数依赖即模式分解不能破坏原来的语义关系模式的分解准则学号姓名年龄系名系主任课程号成绩98001李华21计算机王民19098001李华21计算机王民28098002张平22计算机王民26598003张名22计算机王民270学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民关系模式规范化学号课程号成绩98001190980012809800226598003270第一范式到第二范式SA(学号,姓名,系名,系主任,课程号,成绩)SC(学号,课程号,成绩)SD(学号,姓名,系名,系主任)无损分解关系模式规范化系(系名,系主任)学生(学号,姓名,年龄,系名)第二范式到第三范式学号姓名系名98001李华计算机98002张平计算机98003张名计算机系名系主任计算机王民学号姓名年龄系名系主任98001李华21计算机王民98002张平22计算机王民98003张名22计算机王民无损分解①

模式分解具有无损连接②

模式分解能够保持函数依赖关系模式的分解准则关系模式规范化例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。要求:(1)分析该关系模式存在什么问题;(2)写出R的主码与基本函数依赖;(3)确定R属于第几范式,并说明理由;(4)若R不属于2NF,则将R分解为2NF,并说明理由;(5)若R不属于3NF,则将R分解为3NF,并说明理由。综合实例解析关系模式规范化分析:(1)该关系存在什么问题;综合实例解析数据冗余数据更新异常数据插入异常数据删除异常例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。树立隐私保护与数据安全意识。关系模式规范化分析:(2)写出R的主码与基本函数依赖;综合实例解析R的主码:(学号,课程号)非主属性:成绩,教师姓名,教师地址例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。R基本函数依赖:(学号,课程号)→成绩课程号→教师姓名教师姓名→教师地址课程号

教师地址

传递关系模式规范化分析:(3)确定R属于第几范式,并说明理由;综合实例解析①因为R中所有属性均不可再分,所以∈1NF;例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。②∵课程号→教师姓名课程号

教师地址∴(学号,课程号)教师姓名

该关系中存在非主属性部分函数依赖于主码,所以不属于2NF。

传递关系模式规范化综合实例解析根据第(3)题的判断,R不属于2NF,故将其分解成如下两个关系模式:R1(学号,课程号,成绩)R2(课程号,教师姓名,教师地址)分解后两关系模式的非主属性均完全函数依赖于主码,故R1、R2均∈2NF;分析:(4)若R不属于2NF,则将R分解为2NF,并说明理由;例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。关系模式规范化综合实例解析根据第(4)题分析,R1(学号,课程号,成绩)∵R1只有一个非主属性,不存在函数依赖∴R1∈3NF。根据第(4)题分析,R2(课程号,教师姓名,教师地址),非主属性之间存在函数依赖,故R2不属于3NF。R2分解为如下两个关系模式:R3(课程号,教师姓名)R4(教师姓名,教师地址)∵R3,R4都只有一个非主属性,不存在函数依赖∴R3,R4∈3NF。

分析:(5)若R不属于3NF,则将R分解为3NF,并说明理由。例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。关系模式规范化综合实例解析R1(学号,课程号,成绩)R3(课程号,教师姓名)R4(教师姓名,教师地址)最终分解结果:例4:设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)请回答下列问题:(1)指出该关系模式的主码。(2)关系模式TDC符合第几范式?说明理由。(3)将TDC分解符合第三范式,并说明理由。课堂练习215分钟小组形式,拍照上传超星平台关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析(1)指出该关系模式的主码。主码:(教师编号,课程号码)(2)关系模式R符合第几范式?说明理由。该关系模式每一个属性值均不可分解的,故∈1NF关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析第二范式分析:主码:(教师编号,课程号码)非主属性:教师姓名职称教师地址所在系编号系名称系地址课程名称教学水平学分该关系模式存在非主属性对主码的部分函数依赖关系,故不属于2NF。模式分解关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析TD(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址)C(课程号码,课程名称,学分)TC(教师编号,课程号码,教学水平)TD、C、TC三个关系模式都不存在非主属性对主码的部分依赖关系,故∈2NF。关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析(3)将TDC分解符合第三范式,并说明理由。TD(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址)C(课程号码,课程名称,学分)TC(教师编号,课程号码,教学水平)TD关系模式的非主属性之间存在函数依赖关系,故其不符合3NF;C、TC两个关系模式都不存在非主属性之间的函数依赖关系,故∈3NF。关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析(3)将TDC分解符合第三范式,并说明理由。TD(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址)D(所在系编号,系名称,系地址)D、T两个关系模式都不存在非主属性之间的函数依赖关系,故∈3NF。T(教师编号,教师姓名,职称,教师地址,所在系编号)TD(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址)关系模式规范化1.有关系模式TDC(教师编号,教师姓名,职称,教师地址,所在系编号,系名称,系地址,课程号码,课程名称,教学水平,学分)练习分析分解的最终结果是:T(教师编号,教师姓名,职称,教师地址,所在系编号)D(系编号,系名称,系地址)C(课程号码,课程名称,学分)TC(教师编号,课程号码,教学水平)分解后的结果符合三大范式。关系模式规范化中场小结将关系模式转化为较高级的范式称为关系模式的规范化。关系模式属于范式的级别越高,出现异常的概率越小,所以我们应该让关系模式尽可能属于较高级的范式。关系模式的规范化通常是采用分解的办法,也就是将关系模式分解为几个关系模式,使每个关系模式都达到更高的范式级别。但这种分解要求信息不能有损失。关系数据库设计实例4.5关系数据库设计实例数据库设计的目标是:对于一个给定的应用领域,建立一个性能良好的、能满足不同用户在数据存储和应用系统开发时需求的、又能被选定的DBMS所接受的数据库模式。数据库设计概述反映特定领域中信息及信息之间的联系;能进行有效的信息存储;方便信息检索和处理操作;有利于数据库的维护和管理。关系数据库设计实例关系数据库设计的基本步骤需求分析概念分析逻辑设计物理设计需求说明概念结构逻辑结构物理结构图数据库设计的全过程需求分析阶段概念设计阶段逻辑设计阶段物理设计与实施阶段关系数据库设计实例阶段任务1.需求分析收集信息并对信息进行分析和整理2.概念设计形成概念结构,即概念模型(用E-R图描述)3.逻辑设计①将E-R图转换为基本的关系模式②关系规范化处理4.物理设计与实施为逻辑模型选取一个最适合运行环境的物理结构关系数据库设计的基本步骤关系数据库设计实例关系数据库设计简单示例学校食堂用餐卡系统作一个简单的数据库设计。要求:对简化的学校食堂用餐卡系统建模。步骤1:建立E-R模型。需求分析实体集设计联系集设计综合E-R图步骤2:从E-R模型转换到关系模型步骤3:对设计出的关系模型进行规范化检查,要求达到三范式关系数据库设计实例需求分析(1)系统目的:方便管理学生用餐卡的发放、挂失、补办、管理人员信息,学生信息,存储金额及相关数据信息等。(2)数据需求:A.

用餐卡信息:用餐卡编号,持卡人编号,办卡日期,余额;B.

持卡人信息:姓名,性别,照片,编号,身份证号,部门,人员类别;C.

操作员信息:职工编号,姓名,性别,照片,身份证号码,参加工作时间,密码等;D.

账户操作详细信息:流水号,用餐卡编号,存/取,操作员编号,操作时间,发生金额等。(3)事务需求:A.

办新卡,修改卡信息;B.

存取卡中金额;C.

维护人员信息;D.

列出数据库中的每餐使用金额的清单及余额信息;E.

列出所有持卡人的信息;F.

列出每个月的累计消费信息;G.列出用餐卡是否为挂失卡信息。关系数据库设计实例②实体集设计(1)实体集“用餐卡”,属性包括:用餐卡号、持卡人编号、办卡日期及余额,其中,“用餐卡号”为主码;(2)实体集“持卡人”,属性包括:姓名、性别、照片、编号、身份证号、部门及人员类别,其中“编号”为主码;(3)实体集“操作员”,属性包括:操作员编号、姓名、性别、照片、身份证号、工作时间及密码,其中“操作员编号”为主码;持卡人姓名编号照片性别人员类别部门身份证号操作员性别操作员编号照片密码工作时间姓名身份证号用餐卡持卡人编号余额用餐卡号办卡日期关系数据库设计实例③联系集设计有两个联系:1)“拥有”联系:标识持卡人拥有用餐卡(“用餐卡”与“持卡人”之间的一对多联系);2)“操作”联系:标识操作员处理用餐卡的账户信息(“操作员”与“用餐卡”之间的多对多联系),其本身还具有属性:存/取、操作发生的时间、发生金额和挂失信息。持卡人用餐卡拥有操作操作员1nmn关系数据库设计实例④综合E-R图关系数据库设计实例持卡人用餐卡拥有操作操作员1nmn姓名编号照片性别人员类别部门身份证号持卡人编号余额用餐卡号办卡日期性别操作员编号照片密码工作时间姓名身份证号时间金额存/取挂失步骤2:从E-R模型转换到关系模型持

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论