《关系数据库设计理论课件.ppt》由会员分享,可在线阅读,更多相关《关系数据库设计理论课件.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学时数:8学时课程类型:理论 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系2教学目的教学目的 掌握函数依赖的概念 掌握关键字的概念 掌握第1、2、3和BCNF范式 掌握模式分解的方法第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系3教学要求教学要求 牢记有关概念,掌握关系模式规范化的方法教学重点教学重点 规范化问题的存在的原因 函数依赖、完全函数依赖、传递依赖、关键 字的定义 规范化过程第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系4课程章节课程章节 4
2、.1规范化问题4.2函数依赖4.3关系范式第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系54.1 规范化问题规范化问题 4.1.1 讨论范围讨论范围 关系数据库设计理论主要包括3方面的内容:数据依赖,范式(normal forom),模式设计方法。数据依赖在此起着核心作用。我们重点讨论函数依赖的概念,然后再介绍模式分解的标准,即范式,为数据库的设计准备一定的基本理论基础。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系64.1.2 存储异常问题存储异常问题首先通过例子看一看某些不恰当的关系模式
3、可能导致的问题。例如,有教师任课模式TDC:TDC(T#,TNAME,TUITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT)其中各属性分别表示教师号、教师姓名、职称、教师地址、系、系名称、系地址、课程号码、课程名、教学水平、学分。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系7该关系在使用过程中存在下面几个问题:该关系在使用过程中存在下面几个问题:1.数据冗余每当教师开设一门课程时,该教师的职称、地址等信息就重复存储一次。一般每位教师都开设几门课,数据冗余不可避免。一个系有很多教师,使关系中的数据冗余度
4、很大。2.更新异常由于数据的重复存储,会给更新带来麻烦。如果一位任3门课的教师改变了地址,3个元组的地址都要更新,一旦一个元组的地址未修改就会导致数据不一致。如果某个系改变办公地址,所要修改的数据量会更大。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系83.插入异常如果学校新掉入一个教师,暂时未主讲任何课程。由于缺少关键字的一部分,而关键字不允许出现空值,新教师就不能插入到此关系中去。只有当他开设了课程之后才能插入,这是不合理的。4.删除异常与插入异常相反,如果某些教师致力于科研不担任教学任务了,就要从当前数据库中删除有关记录。那么关于这些教
5、师的其它信息将无法记载,这也是极不合理的。上述在插入、删除或修改元组时产生的不希望发生的异常情况是由于关系模式设计的不好造成的。如果用下面4个关系模式代替原来的一个关系模式,上述4个方面的问题就基本解决了。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系94.2 函数依赖函数依赖 4.2.1 4.2.1 属性间的联系属性间的联系1.一对一联系在读者关系中,借书证号是唯一的,如果读者没有重名的,姓名与借书证号两个属性之间是1:1联系。姓名可以确定借书证号,借书证号也可以确定姓名。设X、Y为关系中的属性或属性组,它们的所有可能取值组成两个集合。为简
6、便起见,也叫X、Y,如果对于X中的任一具体值,中至多有一个Y值与之相对应,并且对于Y中的任一具体值,中至多有一个X值与之对应,称X、Y两个属性之间是一对一的关系。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系102.一对多联系 在读者关系中,一本书有若干副本,它们有相同的书名、作者、分类号等,但每本书有唯一的编号。如果属性值集合X中的任一具体值,至多与Y中的一个值相对应,而Y中的任一具体值却可以和X中的多个值相对应,则称两个属性间从X到Y为m:1的联系。或从Y到X是1:m的联系。应当注意,这里指的是属性值个数的多少,而不是具有相同属性值的有多
7、少个元组,二者正好相反。书名与总编号之间是1:m,即使一个书名与多个总编号与之对应。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系113.多对多联系在借阅关系中,一个读者可以借多本书,即同一个借书证号有若干个图书总编号与之对应。由总编号标识的一本书在不同日期可以被不同的读者借阅。在选修关系中一个学生可以选修几门课,同一门课有多个学生同时选修。在X、Y两个属性值集中,如果任一值都可以至多和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系。显然,3类联系之间存在着包含关系,1:1是1:m的特例;1:m又m:n是的特例。关系中属性值
8、之间这种互相依赖又互相制约的联系为数据依赖。数据依赖主要有两种:函数依赖和多值依赖。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系124.2.2 函数依赖函数依赖 1.函数依赖的概念 定定义义4.14.1 用U表示属性集的全集A1,A2,An,设R(U)是属性集U上的关系模式。X、Y是U的子集。若对于R(U)的所有具体关系r都满足如下约束:对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作XY,X称作决定因素。如果XY,并且Y不是X的子集,则称是非平凡的函数依赖。全体总是能够决定部分的,若Y是X的子集,则
9、称是平凡的函数依赖。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系13 例1:有关系(职工号,基本功子,奖金),一个职工号唯一确定一个基本工资数额或一个奖金额,即一个人不能拿两种工资或奖金,但几个人的工资可能相同。设属性A是职工号,属性B是基本工资,属性C是奖金,可以看出,每个A的值对应一个B的值和一个C的值。因此属性B和C都函数依赖于属性A。但反过来则不存在这种联系,如基本工资390.00对应两个职工号051和054。用符号表示为:AB,AC,CA,BC。定义中所谓“对应唯一的具体值是什么,而不是说该值不能与其他值相等。FD的确切语义表示了
10、关系模式中属性集的X值与Y的值之间的多对一联系。从数值上看,“多方”函数决定“一方”。例如,在图书关系中,总编号(分类号,书名,作者,出版社)第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系14根据函数依赖的定义,可以找出下面规律:(1)在一个关系模式中,如果属性XY是有1:1联系,则存在函数依赖YX、YX。可记作XY。(2)如果属性XY是1:m的联系,则存在函数依赖YX,但XY。(3)如果属性XY是 n:m的联系,则X与Y之间不存在任何函数依赖。必须注意,函数依赖是指关系R模式的所有关系元组均应满足的约束条件,而不是指关系模式R的某个或某些元
11、组的约束条件。当关系中的元组增加或者更新后都不能破坏函数依赖。因此,必须根据语义来数据之间的函数依赖,而不能单凭某一时刻关系中的实际数据来判段。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系152.完全函数依赖 定定义义4.24.2 设XY是关系模式R(U)的一个函数依赖,如果不存在X的真子集X,使得XY成立,则称Y完全函数依赖于X,记作XY(f)。部分函数依赖:设XY是关系模式R(U)的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,记作XY(p)。由定义可知,当X是单个属性时,由于X不存在任何真子集,如果XY,则XY
12、(f)。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系16例2:设有关系模式选课SCI(S#,C#,GRADE,CREDIT)其中S#表示学号,C#表示课程号,GRADE表示成绩,CREDIT表示学分。在这个选课关系模式中,由于一个学生可以选修多们课程,一门课程可有多个学生选修,因此S#或C#都不能单独确定GRADE。成绩只能由属性组合(S#,C#)来确定。课程学分CREDIT是C#决定的,C#CREDIT。由此可知:(S#,C#)GRADE(S#,C#)CREDIT第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职
13、业技术学院 信息工程系173.传递依赖 定定义义4.34.3 在同一关系模式R(U)中,如果存在非平凡函数依赖XY,YZ,而YX,则称Z传递依赖X。定义的条件XY,并强调YX十分必要。如果XY互相依赖,并非传递依赖。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系18例 3:设 关 系 模 式 S1(S#,SNAME,D#,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系地址。存在函数依赖:S#D#,但D#S#,D#,LOCTION根据传递依赖的定义,可知S#,LOCATION是传递依赖。实际上,部分依赖必然是传递依赖。在例2
14、SCI(S#,C#,GRADE,CREDIT)中,(S#,C#)C#,C#(S#,C#),C#CREDIT,形成传递依赖(S#,C#)CREDIT。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系19相关英文讲解:相关英文讲解:Normalization:A technique for producing a set of relations with desirable properties,given the data requirements of an enterprise.Normalization is a formal metho
15、d that can be used to identify relations based on their keys and the functional dependencies among their attributes.Data Redundancy and Update Anomalies(Insertion Anomalies,Deletion Anomalies and Modification Anomalies)第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系20Functional dependency:Describe
16、s the relationship between attributes in a relation.For example,if A and B are attributes of relation R,B is functionally dependent on A(denoted A-B),if each value of A is associated with exactly one value of B.(A and B may each consist of one or more attributes.)Full Functional DependencyIndicates
17、that if A and B are attributes of a relation,B is fully functionally dependent on A if B is functionally dependent on A,but not on any proper subset of A.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系21Partially Dependent:if there is some attribute that can be removed from A and the dependency st
18、ill holds.Transitive DependencyA condition where A,B,and C are attributes of a relation such that if A-B and B-C,then C is transitively dependent on A via B(provided that A is not functional dependent on B or C).第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系224.2.3 4.2.3 关键字关键字1.候选关键字 定定义义4.44.4在
19、关系模式R(U)中,K是U中的属性或属性组。如果KU(f),则称K为关系R(U)的一个候选关键字。主主关关键键字字:R(U)中若有一个以上的候选关键字,则选定其中一个作为主关键字。主属性主属性:包含在任意一个候选关键字中的属性。非主属性非主属性:不包含在任意一个候选关键字中的属性。全全关关键键字字:在极端的情况下,关系模式的整个属性组U作为关键字,称为全关键字。此时,关系中没有非主属性。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系23候选关键字具有两个性质:(1)标示的唯一性:对于R(U)中的每一个元组,K的值确定后,该元组就相应确定了。(
20、2)无冗余性:当K是属性组的情况下,K的任何一部分都不能唯一标示该元组。这是定义中的完全函数依赖的意义。例如例如,SC(S#,C#,GRADE,CREDIT)中,属性组(S#,C#)是主关键字,也是主关键字。S#,C#是主属性。GRADE,CREDIT是非属性。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系242.外关键字 定定义义4.54.5在关系模式R(U)中,若属性或属性组X不是关系R的关键字,但X是其它关系模式的关键字,则称X为关系R(U)的外关键字。主关键字和外关键字是表示关系之间联系的手段。例如,在借书数据中,借书证号和总编号是读
21、者关系,图书关系的主关键字,够成借阅关系的外关键字。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系25又如,在选课关系数据库中,3个关系模式:S(S#,SNAME,SEX,ADDRESS)C(C#,CNAME,CREDIT)SC(S#,C#,GRADE)学生和课程存在的多对多的联系由选修关系反映出来,3个关系间的关联是通过关系SC的外关键字S#、C#实现的。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系26相关英文讲解:相关英文讲解:Candidate key:The minimal set
22、 of attributes that uniquely identifies each occurrence of an entity type.Primary key:The candidate key that is selected to uniquely identify each occurrence of an entity type.Composite key:A candidate key that consists of two or more attributes.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系27The
23、 candidate key(s)for a relation,we must identify the attribute(or group of attributes)that uniquely identifies each tuple in this relation.If a relation has more than one candidate key,we identify the candidate key that is to act as the primary key for the relation.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天
24、津中德职业技术学院 信息工程系284.2.4 4.2.4 函数依赖公理函数依赖公理 数据依赖的公理系统是模式分解算法的理论基础,下面首先讨论函数依赖的一个有效而完备的公理系统Armstrong公理系统。设U为属性总体,F是U上的一组函数依赖,有关系模式R(U,F)。定定义义4.64.6 对于满足一组函数依赖F的关系模式R(U,F),其中任何一个关系r,如果函数依赖XY都成立,则称为F逻辑蕴含XY。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系29 为了求得给定关系模式的关键字,为了从一组函数依赖求得蕴含的函数依赖,例如已知函数依赖集F,要问X
25、Y是否为F所蕴含,就需要一套推理规则,这组推理规则是l974年首先由Armstrong提出来的。Armstrong公理系统:设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R(U,F)。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系30 对R(U,F)来说有以下的推理规则:(1)自反律(Reflexivity):若Y X U,则XY为F所蕴含。(2)增广律(Augmentation):若XY为F所蕴含,且Z U,则XZYZ为F所蕴含。(3)传递律(Transitivity):若XY及YZ为F所蕴含,则XZ为F所蕴含。注意:由自反律所得
26、到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系31 根据上述3条Armstrong公理,可以得到下列规则:(4)合并规则(Union):如果XY,XZ,则有XYZ。(5)伪传递规则:如果XY,WYZ,则有WXZ。(6)分解规则(Decomposition):如果XY,ZY,则有XZ。根据合并规则和分解规则,很容易得到以下事实:XA 1,A2,A n 成 立 的 充 分 必 要 条 件 是 成 立XAi(i=1,2,n)成立。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6
27、/2天津中德职业技术学院 信息工程系32相关英文讲解:相关英文讲解:Inference Rules for Functional Dependencies(1)Reflexivity:If B is a subset of A,then AB(2)Augmentation:If AB,then A,CB,C(3)Transitivity:If AB and BC then AC(4)Self-determination:AA(5)Decomposition:If AB,C,then AB and AC(6)Union:If AB and AC,then AB,C(7)Composition:I
28、f AB and CD then A,CB,D 第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系334.3 4.3 关系范式关系范式4.3.1 4.3.1 第一范式第一范式(1NF)(1NF)定定义义4.7 4.7 在关系模式R中的每一个具体关系r中,如果每一个属性值都是不可再分的最小数据单位,则称R是第一范式1NF的关系。记为R1NF。元组中每一分量必须是不可分割的数据项,即在同一表中没有重复项存在。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系344.3.2 4.3.2 第二范式第二范式(
29、2NF)(2NF)定定义义4.84.8 如果关系模式R(U,F)中的所有非主属性都完全函数依赖于任一候选关键字,则称关系R是第二范式(2NF)的。记为R2NF。第二范式(2NF)满足1NF且所有非主属性都依赖于主关键字。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系354.3.3 4.3.3 第三范式第三范式 定定义义4.9 4.9 如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是第三范式(3NF)的。记为R3NF。第三范式(3NF)满足2NF且任何一个非主属性都不传递依赖于任何主关键字。如表4-8张宏开
30、设了3门课程,上面出现了3个元组,教师地址重复了3次。传递依赖关系存在着冗余和异常更新问题。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系364.3.4 BCNF4.3.4 BCNF部分函数依赖和传递函数依赖是产生存储异常的两个重要原因,3NF消除了大部分存储异常,具有较好的性能。但3NF并没有要求消除主属性对后选关键字的传递依赖,如果存在这种情况,3NF模式仍然可能发生存储异常现象。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系37 例例如如,每门课有几个教师讲,但每个教师只教一门课;每个
31、学生可选几门课。可得出的函数依赖:(S#,CNAME)TNAME (S#,TNAME)CNAME TNAMECNAME 关键字:(S#,CNAME)或(S#,TNAME)在EN中所有属性都是主属性 EN3NF第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系38 存在异常:如果设置了课程,并确定了教师,但还没有学生选修,则教师与课程信息就不能加入。若一个学生毕业或中止学业,删除学生时,连教师和课程也删了。定定义义4.104.10 如果关系模式R(U,F)的所有属性都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。记为RBCNF。关系
32、模式R,如果每个决定因素都包含关键字(而不是被关键字所包含),则R是BCNF的关系模式。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系39 那么,上例的分解方法是对于不是BCNF的关系模式R,若在R中有YR,且YA,AY,Y不是R的关键字,则可分解为R1=R-A和R2=YA。EN分解为:CLASS(S#,TNAME)BCNF TEACH(TNAME,CNAME)BCNF规范化过程 关系模式分解的无损联接性:分解后的两个关系可以通过自然联接恢复原来的关系。这种分解具有无损联接性。判断无损分解的法则,即无损分解的充分必要条件是:R1R2R1-R2
33、或R1R2R2-R1 第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系40相关英文讲解:相关英文讲解:Unnormalized form(UNF)A table that contains one or more repeating groups.From UNF to 1NF,there are two common approaches to removing repeating groups from unnormalized tables:1.remove the repeating groups by entering appropr
34、iate data in the empty columns of rows containing the repeating data.In other word,we fill in the blanks by duplicating the nonrepeating data,where required.This approach is commonly referred to as flattening the table.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系412.remove the repeating group b
35、y placing the repeating data,along with a copy of the original key attribute(s),in a separate relation.A primary key is identified for the new relation.Sometimes the unnormalized table may contain more than one repeating group,or repeating groups within repeating groups.In such cases,this approach i
36、s applied repeatedly until no repeating groups remain.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系42A set of relations is in 1NF if they contain no repeating groups.First Normal Form(1NF)A relation in which the intersection of each row and column contains one and only one value.The normalizatio
37、n of 1NF relations to 2NF involves the removal of partial dependencies.If a partial dependency exists,we remove the functionally dependent attributes from the relation by placing them in a new relation along with a copy of their determinant.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系43Second N
38、ormal Form(2NF)A relation that is in first normal form and every non-primary-key attribute is fully functionally dependent on the primary key.OrA relation that is in first normal form and every non-primary-key attribute is fully functional dependent on any candidate key.A relation with a single attr
39、ibute primary key is automatically in at least 2NF.第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系44The normalization of 2NF relations to 3NF involves the removal of transitive dependencies.If a transitive dependency exists,we remove the transitively dependent attributes from the relation by placi
40、ng them in a new relation along with a copy of their determinant.Third Normal Form(3NF)A relation that is in first and second normal form,and in which no non-primary-key attribute is transitively dependent on the primary key.Or第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系45The normalization of 2
41、NF relations to 3NF involves the removal of transitive dependencies.If a transitive dependency exists,we remove the transitively dependent attributes from the relation by placing them in a new relation along with a copy of their determinant.Third Normal Form(3NF)A relation that is in first and secon
42、d normal form,and in which no non-primary-key attribute is transitively dependent on the primary key.Or第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系46The difference between 3NF and BCNF is that for a functional dependency A-B,3NF allows this dependency in a relation if B is a primary-key attribu
43、te and A is not a candidate key,whereas BCNF insists that for this dependency to remain in a relation,A must be a candidate key.The potential to violate BCNF may occur in a relation that:Contains two(or more)composite candidate keysThe candidate keys overlap,that is have at least one attribute in co
44、mmon第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系474.3.5 4.3.5 规范化小结规范化小结 在关系数据库中,对关系模式的基本要求是满足第一范式。这样的关系模式就是合法的、允许的。但是,人们发现有些关系模式存在插入、删除异常、修改复杂,数据冗余等毛病。人们寻求解决这些问题的方法,这就是规范化的目的。规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去。因此所谓规范化实质上是概念
45、的单一化。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系48例例 教师任课关系模式TDC(T#,TNAME,TITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT)第一步:确定函数依赖T#(TNAME,TITLE,ADDR,D#,DNAME,LOC)D#(DNAME,LOC)C#(CNAME,CREDIT)(T#,C#)LEVEL第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系49第二步:确定候选关键字(T#,C#)U (T#,C#)为候选关键字第三步:确定
46、主属性和非主属性主属性:T#,C#非主属性:TNAME,TITLE,ADDR,D#,DNAME,LOC,CNAME,CREDIT,LEVEL第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系50第四步:判定是否为第二范式,若不是则分解为第二范式T#(TNAME,TITLE,ADDR,D#,DNAME,LOC)C#(CNAME,CREDIT)TDC2NF分解为:TD(T#,TNAME,ADDR,D#,DNAME,LOC)C(C#,CNAME,CREDIT)TC(T#,C#,LEVEL)第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/
47、2天津中德职业技术学院 信息工程系51第五步:判定是否为第三范式,若不是则分解为第三范式经判断C3NF,TC3NFT#D#,D#(DNAME,LOC),且D#T#TD3NF分解为:D(D#,DNAME,LOC)T(T#,TNAME,ADDR,D#)第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系52第六步:判定是否为BCNF,若不是则分解为BCNF经判断:T(T#,TNAME,ADDR,D#)BCNFD(D#,DNAME,LOC)BCNFC(C#,CNAME,CREDIT)BCNF TC(T#,C#,LEVEL)BCNFTDC分解为以上四个关系
48、模式第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系53在这4个关系模式组成的关系模式中消除了传递依赖,达到了解3NF。在任一个模式中,每个决定因素都是关键字,由此也同时满足了BNCF的要求。各范式级别是在分析函数依赖条件下对关系模式分离程度的一种测度。范式级别可以逐级升高,直至BCNF。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系54消除决定因素非关键字非平凡的函数依赖消除非主属性对关键字的部分函数依赖消除非主属性对关键字的传递函数依赖消除主属性对关键字的部分和传递函数依赖1NF2NF3N
49、FBCNF图图4-1规范化过程规范化过程 第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系55一个关系模式达到BCNF,说明在函数依赖的范畴内,已实现了彻底分离,可以消除插入,删除和关系的异常。图4-2描述出各级范式的层次关系。BCNF1NF2NF3NF图图4-2 各级范式的关系各级范式的关系 第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系56对关系模式的规范化可以小结如下:(1)目的:规范化 目的是使结构合理,清除储存异常使 数据冗余尽量小,便于插入删除和更新。(2)原则:遵从概念单一化“一
50、事一地”原则,即一个关系模式描述一个 实体或实体间的一种联系。规范的实质就是概念单一化。(3)方法:将关系模式投影分解成两个或两个以上关系模式。(4)要求:分解后的关系模式集合应当与原关系模式“等价“,即经过自然联接可以恢复原关系而不是丢失信息,保持属性间合理的联系。第四章第四章 关系数据库设计理论关系数据库设计理论2023/6/2天津中德职业技术学院 信息工程系57必须注意,一个关系模式经过投影分解可以得到不同的关系模式计划,也就是说,分解方法 不是唯一的。最小冗余要求必须在分解后的数据库能够表达原来数据所有信息的前提下实现。其根本目标是节省储存空间,避免数据不一致,提高对关系的操作效率,同