版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章关系数据库的标准化设计,提出了4.1问题4.2标准化4.3数据依赖公理系统4.4模式分解4.5摘要,序言,关系数据库的标准化设计指明了面对现实问题如何选择一组更好的关系模式。标准化设计理论主要包括数据依赖、范式和模式设计方法三个方面。数据在这里起着关键作用。数据依赖于研究数据之间的联系,这是关系模式的标准,模式设计方法是自动化设计的基础。规范化设计理论在关系数据库结构的设计中起着重要作用。4.1问题建议,关系数据库逻辑设计描述了特定问题的工具关系数据库的规范化理论,数据模式数据库逻辑设计的适当配置方法,第一,概念审查,关系:实体、属性和实体之间的连接。以形式来看,是与属性相关的笛卡尔乘积
2、的子集的二维表。关系模式:用于定义关系。关系数据库:基于关系模型的数据库,使用关系描述真实世界。从形式上看,是由一系列关系组成的。关系数据库的方案:定义此关系集关系模式的完整方案。二是关系模式的公式定义,关系模式由五个部分组成。也就是说,5元组:R(U,D,DOM,F) R:关系名称U:构成关系的属性名称集合D:属性组U的属性派生自的域DOM:属性是域的图像集合F:属性之间数据的相关性集合,3,数据相关性是什么?1.完整性约束条件限制属性值的范围。例如,学生成绩应定义0到100之间的属性值之间的互连:(主要反映在值的等价性中)。2.数据相关性数据相关性是一个关系中通过属性之间的值是否相等而表示
3、的数据之间的相互关系。它是现实世界属性之间相互联系的抽象,数据的内在特性,是语义学的表现。是数据库模式设计的核心。3.数据相关类型函数从属关系(Functional Dependency,FD)多值从属关系(Multivalued Dependency,简化MVD)其他,4,关系模式的简化表示,关系模式R(U,D,)R(U,F)仅当U的关系R满足F时,才称R为关系模型R(U,F)的关系,5,数据相关性对关系模型的影响(例如,学校的数据库说明:学生的学号(Sno)、系主任姓名(Mname)一个部门只有一个董事。一个学生可以选修多门课,每门课都有多个学生选修。每个学生学习的每个科目都有一个成绩。数
4、据相关性对关系模型的影响(续),属性组u中的函数集为f: f snosdept,sdeptlmname,(SnO,cname) grade,关系模式Student中的问题,数据冗馀过多的存储空间浪费示例例如:系主任更换后,系统无法将该系主任和系主任的信息存储在数据库中,包括与该系学生相关的各个元组、关系模式Student中存在的问题、异常插入的数据插入示例、一个系主任刚成立,还没有学生。不能删除例外的资料必须删除。如果某一系的学生全部毕业,我们在删除该系学生信息的同时,也丢失了该系系主任的信息。数据依赖性对关系模型的影响(续),结论:Student关系模型不是一个好模型。良好模式:不会发生例外
5、插入、例外移除、例外更新,资料重复必须尽可能少。原因:方案中存在的某些数据相关性导致的解决方法:分解关系模式以删除不适当的数据相关性。4.2规范化理论用于重建关系模式,分解关系模式以消除不适当的数据相关性,从而解决插入异常、异常删除、异常更新和重复数据问题。4.2.1函数相关性,一,函数相关性2,一般函数相关性和非一般函数相关性3,完整函数相关性和部分函数相关性4,传递函数相关性,一,函数相关性(FD),4.1定义(函数相关性的可视定义)关系模式r (a1,a2,)x称为此函数依赖的决策属性集。函数相关性(示例),例如仓库关系仓库(仓库编号、城市、区域)的函数相关性:仓库编号城市(城市函数取决
6、于仓库编号)仓库编号区域(面积函数取决于仓库编号),函数相关性定义(准确定义)函数依存关系表示r的所有关系实例必须满足的约束,而不是关系模式r的关系实例之一或部分满足的约束。函数依赖是语义范畴的概念。函数依赖只能根据数据的含义来确定。例如,“名称年龄”此函数仅在不能具有相同名称的情况下为3。依赖数据库设计者适用于真实世界的规则。例如,不允许同名的人,函数是根据“姓名年龄”设置的。插入的元组必须满足指定的函数相关性,如果存在同名人员,则会拒绝加载该元组。函数依赖关系(示例),示例: student (SnO、sname、ssex、sage、sdept)假定不允许重复名称3360 F=Sno Ss
7、ex、Sno Sage、snept如果y函数不依赖于x,则写为XY。第二,一般函数依赖项和非一般函数依赖项的示例,在关系模式R(U)中,U的子集X和Y具有XY,而在Y X中,XY称为非一般函数依赖项的示例。关系SC(Sno,Cno,Grade)中的非一般函数相依性如下:(Sno,Cno) Grade一般函数相依性:(Sno,Cno) Sno (Sno,Cno) Cno,一般函数相依性和非一般函数相依性(说明);在任何关系模式下,一般函数相依性都是必要的,不会反映新的意义,因此没有特殊宣告第三,完全函数依赖关系和部分函数依赖关系,在定义4.2关系模式R(U)下定义XY,并且X的实际子集X存在X
8、Y,则Y完整函数依赖X,并记录为X Y。如果从属于XY,但Y不从属于X,则Y部分函数从属于X,并记录为X P Y。完整函数相关性和部分函数相关性(示例),示例:是关系SC(Sno,Cno,Grade)中的:Sno Grade,Cno Grade导致的:(Sno,Cno注意: YX,也就是说,如果是XY,则z直接从属于x。示例:在关系Std(Sno,Sdept,Mname)中如下:Sno Sdept,sdept mname传递函数依赖于Sno,代码SnO,4.2.2定义了4.4设置为关系模式r的属性或属性组合。如果是K U,则k是r的候选代码。如果关系模式r具有多个候选代码,请选择其中一个作为主
9、要代码。主属性和非主属性ALL KEY在4.5关系模式r中不是属性或属性组x的代码,但是如果x是另一个关系模式中的代码,则x也称为r的外部代码。主代码还与外部代码一起提供了表示关系之间联系的手段。4.2.3关系模型的范式(NF),范式是符合某种级别的关系模型的集合。关系数据库中的关系必须满足特定要求。满足不同层次的要求是不同的范式。范例类型:第一范例(1NF)第二范例(2nd)第三范例(3NF) BC范例(BCNF)第四范例(4NF)第五范例(5NF),范例,各种范例之间的连接:某种关系模型,4.2.4的1范式,如果1NF定义的关系模式r的所有属性都是不可分割的基本数据项,则R1NF。第一种范
10、式是对关系模型的最低要求。不满足第一个范例的数据库模式不能称为关系数据库。但是满足第一个范式的关系模式不一定是好的关系模式。示例:关系模式SLC (SnO,sdept,sloc,cno,grade) sloc假定学生居住,各个学科的学生居住在同一地点。函数依赖项包括:(SnO,cno) f grade SnO sdept (SnO,cno) p sdept SnO sloc (SnO,cno) p sloc sdept sloc,示例:sll非主属性Sdept和Sloc某些函数依赖于代码(SnO,cno),SLC不是良好的关系模式,(1)插入异常假设Sno95102,SdeptIS,SlocN
11、的学生尚未选择。由于学科课程编号是主属性,因此该学生的信息未插入到SLC中。(2)排除例外假设一个学生选择了只上3节课。因为现在身体不舒服,他连第三节课都不选修。此操作将删除学生信息的整个元组,因为学科课程编号是默认属性。SLC不是一个好的关系模型。(3)如果一个学生选择了10门学科课程,Sdept和Sloc值将重复存储10次。(4)修改复杂程度(如学生转换)和修改此学生元组的Sdept值时,可能还需要修改疏割(Sloc)。如果该学生选择了k科目,则必须在k元组中完整地修改所有Sdept,Sloc信息。示例:原因Sdept,Sloc部分函数依赖于代码。解决方法SLC显示了其中一些函数Sno,C
12、no,Grade(SC)Sno,Sdept,Sloc(Sno,Sdept,Sloc),示例:函数依赖关系图:2范式,2nd的定义4.6关系模式R1NF例如SLC (SnO,sdept,sloc,cno,grade) 1nfslc (SnO,sdept,sloc,cno,grade) 2nbsc (SnO,Sdept,sloc,Cno,grade)将1NF关系分解为多个2nd关系并不能完全消除关系模式中的各种异常和数据冗馀。4.2.5的第三范式,示例:2nb关系模式SL(Sno,Sdept,Sloc)中的函数依赖性:SnoSdept SdeptSloc SnoSloc Sloc传递函数依赖于Sn
13、o。也就是说,SL具有对非主属性对代码的传递函数依赖性。3NF,函数依赖图:3NF,解决方法使用投影分解方法,该方法将sl分解为两种关系模式:SD(Sno,Sdept) DL(Sdept,SLoc) SD代码Sno,DL代码Sdept。3NF,SD的代码为Sno,DL的代码为Sdept。3NF,3NF的定义4.8关系模式R为2nb,每个非主属性在不传递函数是否依赖候选关键字的情况下称为R 3NF。是,sl (SnO,sdept,sloc) 2nbsl (SnO,sdept,sloc) 3nfsd (SnO,Sdept) 3NF DL(Sdept,sloc)如果是R3NF,则r也是2nb。使用投
14、影分解将2nb关系分解为多个3NF关系,可以在一定程度上解决最初位于2nb关系中的插入异常、异常消除、数据冗余度大、复杂修复等问题。将一个2nb关系分解为多个3NF的关系并不能完全消除关系模式中的各种异常和数据重复。4.2.6 BC范式(BCNF),4.9设置关系模式定义R1NF,对于r中的每个函数,如果y不属于x,则x必须包含候选代码,RBCNF。RBCNF如果每个决策属性集(因子)的(候选)代码r的所有属性(主、非主)完全依赖函数,则R3NF不一定是BCNF。例如:在关系模式ST(S,t,j)中,S代表学生,t代表教师,j代表课程。每个老师只教一门课。每节课由几名教师教,一名学生选择特定科目,就定了一名固定教师。学生选择教师的课,选修课的名字就定了。(S,J)T,(S,T) J,T J,例如,BCNF,STJ 3NF (S,J)和(S,T)都是候选代码S,T,TSJ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 助老员工作制度
- 体艺科工作制度
- 上模工工作制度
- 体制内工作制度
- 冷链室工作制度
- 办税工作制度
- 书画工作制度
- 入职工作制度
- 七天工作制度
- 保交房工作制度
- 四川省党校在职研究生招生考试真题(附答案)
- 自贡市沿滩区邓太片区污水处理厂及配套管网工程项目环评报告
- DB44T 848-2010 工业锅炉水处理剂 腐植酸盐的测定
- 基于人工智能的止痛设备智能优化研究-洞察阐释
- 肿瘤相关性肾病
- 短期雇佣合同协议书
- GB 14930.2-2025食品安全国家标准消毒剂
- 基础医学概论-抗感染药物教学课件
- 湖北省技能高考(护理)专业知识考试题(附答案)
- 2025年陕西榆能化学材料有限公司招聘笔试参考题库含答案解析
- 电力系统基础知识培训课件
评论
0/150
提交评论