关系模式规范化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
银河学院
第15课 关系模式规范化
数据库系统概论
总结
规范化目的是使结构更合理,消除存储异常, 使数据冗余尽量小,便于插入、删除和更新 原则:遵从概念单一化 “一事一地”原则,即 一个关系模式描述一个实体或实体间的一种联系。 方法:将关系模式投影分解成两个或两个以上 的关系模式。 要求:分解后的关系模式集合应当与原关系模 式“等价”,即经过自然联接可以恢复原关系而不 丢失信息,并保持属性间合理的联系。
所谓范式(Normal Form,NF)是指规范化的关系模 式。由规范化程度不同,就产生了不同的范式。根据满足 条件的不同,经常称某一关系模式R为“第几范式”。 从1971年起,E.F.Codd相继提出了第一范式、第 二范式、第三范式,Codd与Boyce合作提出了Boyce-Codd 范式。在1976-1978年间,Fagin、Delobe以及Zaniolo又 定义了第四范式。到目前为止,已经提出了第五范式。每 种范式都规定了一些限制约束条件。
银河学院
第15课 关系模式规范化
数据库系统概论
第一范式(1NF)
在任何一个关系数据库中,第一范式(1NF)是 对关系模式的基本要求,不满足第一范式( 1NF)的 数据库就不是关系数据库 定义:在关系模型中的每一个具体关系R中, 如果每个属性都是不可再分的,则称R属于第 一范式(1NF),记作R∈1NF。
银河学院
第15课 关系模式规范化
数据库系统概论
回顾关系模式
关系模式:关系模式相当于一张二维表 的框架,在这个框架下填入数据,称为关 系模式的一个实例,或者叫关系(R)。 R(A1,A2,A3...Ai):R是关系名,Ai是 关系的属性名。 一个关系名对应一张表, 关系名对应表名,属性对应表中的列名。 关系模式的简化表示法: R<U,F>
86
69 84 81
98003
98003 98003 98004
王五
王五 王五 赵六
21
21 21 21
网二
网二 网二 网二
孙小红
孙小红 孙小红 孙小红
C语言
数据库 C#语言 数据库
79
85 87 98
98004
赵六
21
网二
孙小红
数据结构
84
银河学院
第15课 关系模式规范化
数据库系统概论
问题如下
1.数据冗余大(肉眼可见) 2. 插入异常(先找出主码为:学号和课名;当 学校还没开始招生时,系的信息插不进去,因为 缺少学号) 3. 删除异常(当学生都毕业了,删除学生信息 时连系的信息也删除了) 4. 修改异常(某系换主任,则改系学生记录应 全部修改,若有不慎,某些记录漏改了,则造成 数据不一致,即出现更新异常)
银河学院
第15课 关系模式规范化
数据库系统概论
第二范式习题
假定选课关系表为SelectCourse(学号, 姓 名, 年龄, 课程名称, 成绩)
学生(学号,姓名,年龄) 选课(学号,课程名,成绩)
银河学院
第15课 关系模式规范化
数据库系统概论
第三范式(3NF)
第三范式(3NF):如果关系模式R∈2NF,并且R 中的每个非主属性不传递依赖于R的某个候选关键字, 则称关系R是属于第3范式的。
数据库系统概论
第一范式(1NF)
而这样的数据库表是不符合第一范式的:
字段 1
字段 2
字段 3.1
字段3
字段 4
字段 3.2
银河学院
第15课 关系模式规范化
数据库系统概论
第一范式(1NF)
例:如职工号,姓名,电话号码组成一个表(一 个人可能有一个办公室电话 和一个家里电话号码) 规范成为1NF 总结:不能有重复的列,列不可再分. 不满足第一范式条件的关系为非范式关系,在关 系数据库中,凡非范式关系必须要化成范式关系.
银河学院
第15课 关系模式规范化
数据库系统概论
第三范式题目
假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院电话),关键字为单一关键字“学 号”,因为存在如下决定关系: (学号) → (姓名, 年龄, 所在学院, 学院电话 ) 学生:(学号, 姓名, 年龄, 所在学院); 学院:(学院, 电话)
银河学院
第15课 关系模式规范化
wk.baidu.com数据库系统概论
第二范式(2NF)
第二范式(2NF)是在第一范式(1NF)的基础上建 立起来的,即满足第二范式(2NF)必须先满足第一范式 (1NF) 。
定义:如果关系模式R∈1NF,且每一个非主属性都完全 依赖于主码,则称关系R 是属于第二范式的,记作 R∈2NF
第二范式(2NF)说明: 要求实体的属性完 全依赖于主关键字。所谓完全依赖是指不能 存在仅依赖主关键字一部分的属性,如果存 在,那么这个属性和主关键字的这一部分应 该分离出来形成一个新的实体,新实体与原 实体之间是一对多的关系
它也会存在数据冗余(系相同系主任就一样)、插入异常(新系 成立,还未招人,其他系的信息插不进去)、删除异常(学生毕业, 删学生信息把系的信息也删除)、更新复杂(换系主任)的情况,
银河学院
第15课 关系模式规范化
数据库系统概论
第三范式举例结果
解决方法: 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系) 系(所在系,系主任) 这样的数据库表是符合第三范式的,消除了 数据冗余、更新异常、插入异常和删除异常。
银河学院
第15课 关系模式规范化
数据库系统概论
课程总结
不规范关系引发的问题 第一范式 第二范式 第三范式
银河学院
李四
李四 张三 李四
20
20 23 20
网一
网一 网二 网一
章飞
章飞 孙小红 章飞
数据库
C#语言 办公自动化 网站编程
69
84 86 81
由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据 冗余 (2)插入异常(新学生还未选课) (3) 删除异常(不选课了要删 除课名这个主键) (4) 更新异常(换系或换系主任,修改容易漏)
银河学院
第15课 关系模式规范化
数据库系统概论
分析
学号 98001 98002 98003 98004 98005 98006 98007 姓名 张三 李四 王五 赵六 洪七 东八 肖锋 年龄 23 24 28 23 45 22 35 所在系 网二 网二 网二 网二 网一 网一 网一 系主任 孙小红 孙小红 孙小红 孙小红 章飞 章飞 章飞
所谓传递依赖,指的是如果存在“A → B → C"的决定关系,则C传递依赖于A。 因此,满足第三范式的数据库表应该不存 在如下依赖关系: 关键字段 → 非关键字段x → 非关键字段y
银河学院
第15课 关系模式规范化
数据库系统概论
第三范式举例
假定关系表2NF为: 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系,系主任) 即存在非关键字段对关键字段“学号”的传 递函数依赖。学号→所在系,所在系→系主任
银河学院
第15课 关系模式规范化
数据库系统概论
第二范式举例
学号 98001 98001 98001 姓名 张三 张三 张三 年龄 23 23 23 所在系 网二 网二 网二 系主任 孙小红 孙小红 孙小红 课名 C语言 数据库 数据结构 成绩 84 95 79
98002
98002 98001 98002
银河学院
第15课 关系模式规范化
数据库系统概论
分析产生上述问题的原因
用关系模式描述如下: 学生(学号,姓名,年龄,所在系,系主任,课名,成绩) 学号→姓名,学号→年龄,学号→所在系,所在系 →系主任,(学号,课名) →成绩 部分依赖: (学号,课名) →姓名 完全依赖: (学号,课名) →成绩 传递依赖:学号→所在系,所在系→系主任
第15课 关系模式规范化
数据库系统概论
关系模式的规范化
银河学院
第15课 关系模式规范化
数据库系统概论
教学目标
1.了解关系模式规范化的作用 2.掌握第一范式—重点 掌握第二范式—重点 3.掌握第三范式—重点
银河学院
第15课 关系模式规范化
数据库系统概论
一起分析下表存在的问题
学号
98001 98001 98001
姓名
张三 张三 张三
年龄
23 23 23
所在系
网二 网二 网二
系主任
孙小红 孙小红 孙小红
课名
C语言 数据库 数据结构
成绩
84 95 79
98001
98002 98002 98002
张三
李四 李四 李四
23
20 20 20
网二
网一 网一 网一
孙小红
章飞 章飞 章飞
办公自动化
数据库 C#语言 网站编程
银河学院
第15课 关系模式规范化
数据库系统概论
为什么要设计规范化的数据库?
未经规范化的数据库一般都有下述缺点: 较大的数据冗余,数据一致性差,数据修改 复杂,对表进行插入、删除、更新时会产生插入、 更新、删除异常。 规范化的作用就在于尽量去除冗余,使数据 保持一致,使数据修改简单,除去在表中进行插 入、删除时产生的异常,规范化后的表一般都较 小。 课本:P187
银河学院
第15课 关系模式规范化
数据库系统概论
第二范式举例
假定选课关系表为 (学号, 姓名,年龄,所在 系,系主任,课名,成绩),关键字为组合关键字 (学号,课名) 其中(学号,课名)→(学号,姓名,年龄,所在 系,系主任,成绩) 这个数据库表不满足第二范式,因为存在如下决 定关系: (学号,课名)→(成绩) (学号)→(学号,姓名,年龄,所在系,系 主任) 即存在组合关键字中的字段决定非关键字的 情况。
银河学院
第15课 关系模式规范化
数据库系统概论
关系模式规范化的作用
关系数据库的设计主要是关系模式设计。关 系模式设计的好坏直接影响到数据库设计的成败。 将关系模式规范化,是设计较好的关系模式的惟 一途径。 关系模式的规范化主要是由关系范式来完成的。
银河学院
第15课 关系模式规范化
数据库系统概论
关系范式
第一范式(1NF)说明:数据库表中的 字段都是单一属性的,不可再分。这个单 一属性由基本类型构成,包括整型、实数、 字符型、逻辑型、日期型等。
银河学院
第15课 关系模式规范化
数据库系统概论
第一范式(1NF)
例如,如下的数据库表是符合第一范式的:
字段1
字段2
字段3
字段4
银河学院
第15课 关系模式规范化
银河学院
第15课 关系模式规范化
数据库系统概论
第二范式举例
解决办法:消除非主属性对键码的部分依赖 (学号,课名) → (成绩) (学号) → (姓名,年龄,所在系,系主任) 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系,系主任) 这样的数据库表是符合第二范式的,消除了 数据冗余、更新异常、插入异常和删除异常。