第3课+规范化理论和表创建课件

上传人:91274****mpsvz 文档编号:243129779 上传时间:2024-09-16 格式:PPT 页数:39 大小:265.50KB
返回 下载 相关 举报
第3课+规范化理论和表创建课件_第1页
第1页 / 共39页
第3课+规范化理论和表创建课件_第2页
第2页 / 共39页
第3课+规范化理论和表创建课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库技术及应用,Access,梁 玉 强,第,3,课,关系模型,关系规范化,Access,表创建,第,1,节 关系模型,数据库的逻辑模型类型,l,层次模型,l,网状模型,l,关系模型,l,面向对象模型,按照三类数据模型设计和实现:,(关系、层次、网状),DBMS,(关系、层次、网状) 数据库系统,1.1,关系模型,在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:,1,、每一列中的分量是类型相同的数据;,2,、列的顺序可以是任意的;,3,、行的顺序可以是任意的;,4,、表中的分量是不可再分割的最小数据项,即表中不允许有子表:,5,、表中的任意两行不能完全相同。,1.2,关系数据库的基本概念,关系数据库采用了关系模型作为数据的组织方式,这就涉及到关系模型中的一些基本概念。另外,对关系数据库进行查询时,若要找到用户关心的数据,就需要对关系进行一定的关系运算。,关系,:一个关系就是一张二维表,每个关系有一个关系名。在,Access,中,一个关系就是一个表对象。,属性,:二维表中垂直方向的列称为属性。在,Access,中,被称为字段。,域,:,一个属性的取值范围叫做一个域。,元组,:,二维表中水平方向的行称为元组。在,Access,中,被称为记录。,码(又称为关键字),:二维表中的某个属性,若它的值唯一地标识了一个元组,则称该属性为侯选码。若一个关系有多个侯选码,则选定其中一个为主码,这个属性称为主属性。,关系模式,:,是对关系的描述,它包括关系名、组成该关系的属性名、属性到域的映像。通常简记为:,关系名(属性名,1,,属性名,2,,,,属性名,n,),学生基本情况表的关系模式可记为:,Student,(,StudentID,,,Name,,,Sex,,,Birthday,,,Entrancescore,),主码,整数,字符串,1,2,3,4,5,域,属性名,元组,(,行,),关系,属性列,关系名:学生登记表,关系模式:学生(学号,姓名,年龄,.,),第,2,节 关系模式设计理论,1,、“不好”的数据库设计,2,、数据的函数依赖,3,、关系数据库的规范化理论,2.1 “,不好”的数据库设计,示例:,考虑为管理职工的工资信息而设计一个关系模式。,把单位所具有的工资级别信息和职工工资信息进行保存。,关系数据库设计中存在的问题,问题:麻烦,!,麻烦,!,好,麻烦,!,插入异常,:如果没有职工具有,8,级工资,则,8,级工资的工资数额就难以插入。,删除异常,:如果仅有职工赵明具有,4,级工资,如果将赵明删除,则有关,4,级工资的工资数额信息也随之删除了。,数据冗余,:职工很多,工资级别有限,每一级别的工资数额反复存储多次。,更新异常,:如果将,5,级工资的工资数额调为,620,,则需要找到每个具有,5,级工资的职工,逐一修改。,关系数据库设计中存在的问题,解决之道:分解,!,分解,!,再分解,!,示例,2,:,为学校设计一个关系数据库。,对数据库操作时,会出现以下问题,1.,数据冗余,(,系主任名的存储次数,),数据重复存储,:,浪费存储空间,数据库维护困难,(,更新异常,),2.,插入异常,(,一个系刚成立,),主码为空的记录不能存在与数据库,导致不能进行插入操作,3.,删除异常,(,一个系的学生全部毕业,),删除操作后,一些相关信息无法保存在数据库中,4.,更新异常,(修改系主任的名称),需要逐一修改多次。,要消除以上的“弊病”,把上面的关系数据库模式,分解,为三个关系模式,:,学生系别,(,学号,系别,),学生成绩,(,学号,课程,成绩,),系部信息,(,系别,系主任,),用以上三个结构简单的关系代替了原来的结构复杂的关系,从而得到的了“好的”关系数据库模式,“好的”关系数据库模式并不是在任何情况下都是最优的,要从实际的设计目标出发,学生成绩,学号,课程,成绩,学生系别,系别,学号,系部信息,系别,主任,定义属性,值,间的相互关连,这就是,数据依赖,,它是数据库模式设计的关键。,是通过一个关系中属性间值的,相等与否,体现出来的数据间的相互关系,类似于变量之间的单值函数关系。,Y=F(X),其中自变量,X,的值,决定一个唯一的函数值,Y,在一个关系模式里的属性,由于它在不同元组里属性值可能不同,由此可以把关系中的属性看作变量,一个属性与另一属性在取值上可能存在制约关系,,这种逻辑依赖关系就是属性间的,函数依赖,。,2.2,数据的函数依赖,函数依赖,定义:,对于()任意可能的关系,r,r,中不能存在两个元组在上的属性相等,而在属性上的属性不等,则称,函数确定,或,依赖于函数,记作,:,X Y,当,Y,不函数依赖与,X,则记作,:,X Y,当,X Y,且,Y X,则记作,:,X Y,举例,:,职工号,(A),基本工资,(B),奖金,(,C),051 390 50,052 420 50,053 390,80,A B A C B A C A,几点说明:,1,:函数依赖是指关系模型中,所有的元组,都要满足的约束条件,而不仅仅是某个或某些元组的特例,2,: 函数依赖与属性间的联系类型有关,若属性,X,和,Y,之间有“一对一”的联系,则,X Y,Y X,X Y.,若属性,X,和,Y,之间有“多对一”的联系,则,X Y,但,Y X.,若属性,X,和,Y,之间有“多对多”的联系,则,X,与,Y,之间不存在任何函数依赖,.,当确定函数依赖关系时,可,从属性间的联系,入手,2,传递函数依赖,定义:设,X,Y,Z,为关系模式,R,的互不相同的属性集合,如果,X Y,而,Y X,但,Y Z,则称,Z,传递函数依赖,与,X,记作,X,t,Z.,例,:,学生信息,(,学号,课程,成绩,系别,系主任,),学号 系别,系别 学号,系别 系主任,则有学号,t,系主任,3,完全函数依赖与部分函数依赖,定义:设,X Y,是关系模式,R(U),的一个函数依赖,当对,X,的每一个真子集,X,都有,X Y,则,Y,对,X,的函数依赖是完全的,记作,X,f,Y;,如果对,X,某个真子集,X,有,X Y,则称,Y,对,X,的函数依赖是部分的,记作,X,p,Y.,例,:,学生信息,(,学号,课程,成绩,系别,系主任,),(,学号,课程,),f,成绩,(,学号,课程,),p,系别,2.3,关系数据库模式的规范化理论,用几个简单的关系去取代原来结构复杂的关系的过程叫做,关系规范化,。研究如何把一个不好的关系模式转化为好的关系模式的理论,规范化理论是数据库设计过程中的一个非常有用的辅助工具,关系模式规范化设计,规范化理论是围绕着范式建立的,.,满足不同程度要求的,约束集,则称为不同的,范式,.,如果一个关系满足某个指定的约束集,则称它属于某个特定的范式,.,一个低一级范式的关系模式,通过投影运算可以转化为若干个高一级范式的关系模式的集合,这个过程,叫做规范化,.,如果一个关系满足某个范式要求,则它也会满足较其级别低的所有范式的要求,范式层次,2,第一范式,定义,如果一个关系模型,R,的每个属性的域都只包含单一的值,则称,R,满足第一范式,.,第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。,但是满足第一范式的关系模式并不一定是一个好的关系模式。,例,:,关系模式,学生信息,(,学号,系别,住址,课程,成绩,),,假设每个系的学生住在同一个地方。,函数依赖包括:,(,学号,课程,),f,成绩,学号,系别,(,学号,课程,),P,系别,学号,住址,(,学号,课程,),P,住址,系别,住址,3,第二范式,“,学生信息”的码为,(,学号,课程,),“,学生信息”满足第一范式。,非主属性系别和住址部分函数依赖于码,(,学号,课程,),学号,课程,成绩,系别,住址,学生信息,(1),插入异常,假设学号,95102,,系别信息,住址,N,的学生还未选课,因课程号是主属性,因此该学生的信息无法插入表中。,(2),删除异常,假定某个学生本来只选修了,3,号课程这一门课。现在因身体不适,他连,3,号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。,(3),数据冗余度大,如果一个学生选修,10,门课程,那么他的”系别”和”住址”值就要重复存储了,10,次。,(4),修改复杂,例如学生转系,在修改此学生元组的”系别”值的同时,还可能需要修改“住处”。如果这个学生选修了,K,门课,则必须无遗漏地修改,K,个元组中全部“系别”、”住址”信息。,原因,”系别”和”住址”部分函数依赖于码。,解决方法,表分解为两个关系模式,以消除这些部分函数依赖,学生课程(学号, 课程, 成绩),学生住址(学号, 系别, 住址),函数依赖图,:,学号,课程,成绩,学生课程,学生住址,学号,系别,住址,定义: 如果关系范式,R,满足第一范式,而且它的所有非主关键字属性完全依赖于整个关键字,(,也就是说,不存在部分依赖,),则,R,满足第二范式,即,R2NF,例:,学生信息,(,学号,系别,住址,课程,成绩,) 1,NF,学生信息,(,学号,系别,住址,课程,成绩,),2NF,学生课程,(学号,课程,成绩,), 2NF,学生住址,(学号,系别,住址,), 2NF,4 3NF,例:,2NF,关系模式:,学生住址,(学号,系别,住址)中,函数依赖,:,学号,系别,系别,住址,学号,住址,“住址”传递函数依赖于“学号,”,即,学生住址,中存在非主属性对码的传递函数依赖。,函数依赖图:,SL,Sno,Sdept,Sloc,解决方法,采用投影分解法,把,SL,分解为两个关系模式,以消除传递函数依赖,:,学生系别(学号, 系别),系别住址(系别, 住址),“学生系别”的码为”学号”, “系别住址”的码为”系别,”。,“,学生系别”的码为”学号”, “系别住址”的码为”系别,”,。,学号,系别,学生系别,系别,住址,系别住址,定义: 如果某关系模式满足第二范式,而且它的任何一个非主属性都不传递依赖于任何关键字,则,R,满足第三范式。,例,学生住址,(学号,系别,住址,), 2NF,学生住址,(学号,系别,住址,), 3NF,学生系别,(学号, 系别), 3NF,系别住址,(系别, 住址), 3NF,若,R3NF,,则,R,的每一个,非主属性,既不部分函数依赖于候选码也不传递函数依赖于候选码。,如果,R3NF,,则,R,也是,2,NF,。,采用投影分解法将一个,2NF,的关系分解为多个,3NF,的关系,可以在一定程度上解决原,2NF,关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。,将一个,2NF,关系分解为多个,3NF,的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。,5,规范化,关系数据库的规范化理论是数据库逻辑设计的工具。,规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题,一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫,关系模式的规范化,规范化,关系模式规范化的基本步骤,1NF,消除非主属性对码的部分函数依赖,消除决定属性,2,NF,集非码的非平,消除非主属性对码的传递函数依赖,凡函数依赖,3,NF,第,3,节 创建,Access,表,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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