第3讲关系数据库原理关系的完整性和规范化
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
✓ 关系模式SCD的分解结果如下:
SC(学号,课程号,成绩) SD(学号,姓名,系名,系主任)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 20
第3讲 三、关系的规范化
4.第三范式(3NF) ✓ 定义
如果关系模式R为第二范式,且R中每个非主属
性都不传递函数依赖于R的某个候选码,则称R
办公室 205 207 210
电话 6003 6025 6018
学号 03001 03102 03223
姓名 马力刚 王萍华 王平
性别 男 女 男
年龄 21 20 21
系编号 01
05
✓ 说明
从表的“系编号(外键)”的取值只能为两种情 况:
❖ 若取非空值,则它必须是主表中存在的值。 ❖ 取空值(null)。表明尚未给学生分配专业。Null不等于0或空字
第1章 关系数据库原理—关系的完整性规则、关系的规范化 15
第3讲 三、关系的规范化
1. 概念和范式的类型
ቤተ መጻሕፍቲ ባይዱ
✓类型
第一范式(1NF)
低
第二范式(2NF)
第三范式(3NF)…… 高
✓关系规范化的概念
将低级范式转换为若干个高级范式过程。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 16
✓ 目的
用于保证给定字段中数据的有效性,即保证数 据的取值在有效的范围内。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 8
第3讲 一、关系的完整性规则
3.参照完整性规则(引用完整性规则) ✓ 规则要求:
“不引用不存在的实体”。即:不允许在一 个关系中引用另一个关系中不存在的元组。
是对关系的某种约束条件。
✓ 目的
用于保证关系数据库中数据的正确性和可靠性。
✓ 类型
实体完整性规则
是关系模型必须满足 的完整性约束条件。
参照完整性规则(引用完整性规则 )
域完整性规则(用户自定义完整性规则)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 6
第3讲 一、关系的完整性规则
02
C1
85
王
34
03
C3
57
李
27
03
C2
77
周
45
04
C1
83
王
34
第1章 关系数据库原理—关系的完整性规则、关系的规范化
办公室 2-14 1-01 2-14 3-15 1-01 2-14
18
第3讲 三、关系的规范化
3.第二范式(2NF)
✓ 定义
如果关系模式R为第一范式,且R中每个非主属性完全 函数依赖于R的主码(复合码),则称R为2NF模式。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 2
复习 第3讲
✓ 关系应具备什么性质?
答:(1)关系中每一个属性值都是不可分解的。 (2)关系中不允许出现相同的行。 (3)关系中不允许出现相同的列。 (4)关系中没有行序、没有列序。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 3
✓ 示例
有如下的关系模式
SCD(学号,姓名,课程号,成绩,系名,系主任) ❖主码为复合码:学号+课程号 ❖“姓名、系名、系主任”与主码是部分函数依赖
第1章 关系数据库原理—关系的完整性规则、关系的规范化 13
第3讲 二、函数依赖
4.传递函数依赖 ✓ 定义
在关系模式中,如果X→Y(不能Y→X),Y→Z, 若存在X→Z ,则称“Z传递依赖于X”。
生产(工厂编号,产品编号,计划数量)
“工厂编号+产品编号” →“计划数量”,是完全函 数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 12
第3讲 二、函数依赖
3.部分函数依赖(局部依赖) ✓ 定义
对于一个函数依赖:X→Y,如果存在Z∈X(Z 属于X),且有Z→Y成立,则称“Y部分函数依 赖于X”。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 22
第3讲 三、关系的规范化
5.各范式间的关系 ✓ 各范式之间的关系
第1章 关系数据库原理—关系的完整性规则、关系的规范化 23
第3讲 四、综合应用
实例:假设某商业集团数据库中有1个关系模式R(商 店编号,商品编号,数量,部门编号,负责人)。如 果规定: (1)每个商店的每种商品只在一个部门销售。 (2)每个商店的每个部门只有一个负责人。 (3)每个商店的每种商品只有一个库存数量。
?函数依赖的定义?给定一个关系模式rx和y都是r的属性或属性组对于x的每个确定值在任何时刻y只有一个确定的值与之对应则称xx函数决定函数决定yy或称为yy函数依赖于函数依赖于xxx称为决定因素记为
第3讲
第1章 关系数据库原理
——关系的完整性和关系的规范化
主讲人:栾志军(讲师、软件工程师) QQ:563475641 手机:15063828826
第3讲 三、关系的规范化
2.第一范式(1NF) ✓ 定义
如果关系模式R的所有属性的值域中第一个值都是不可 再分解值,则称R是属于1NF模式。
第一范式是对关系的最低要求。
✓ 示例:判断哪一张表是1NF?
第1章 关系数据库原理—关系的完整性规则、关系的规范化 17
第3讲 三、关系的规范化
2.第一范式(1NF)
✓ 示例
下列关系模式是1NF,是否是2NF?为什么? SCD(学号,姓名,课程号,成绩,系名,系主任)
❖主码为复合码:学号+课程号
不是。因为:“姓名、系名、系主任”与主码是部分函数依 赖(即:只依赖于学号)
✓ 解决方法:消除部分函数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 19
第3讲 三、关系的规范化
3.第二范式(2NF)
✓ 分解为2NF的方法:
把关系模式中对主码完全函数依赖的非主属性与决定 它们的主码放在一个关系模式中。
把对主码部分函数依赖的非主属性和决定它们的主属 性放在一个关系模式中。
检查分解后的新模式,如果仍不是2NF,则继续按照前 面的方法进行分解,直到达到要求。
✓ 目的
用于确保相关联的表间的数据保持一致。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 9
第3讲 一、关系的完整性规则
3.参照完整性规则(引用完整性规则)
请思考:下面两个关系是否违反参照完整性规则?
系表(主表)
学生表(从表)
系编号 01 02 03
系名 计算机 通信 电子
系主任 龚小勇 谭中华 袁勇
2. 由题意,上面的函数依赖可知“商店编号” 是主属性,商品编号也是主属性,由这两 个属性,可以确定关系元组的所有属性, 所以R的候选码是:商店编号+商品编号。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 25
第3讲 四、综合应用
分析与解答: 3. R(商店编号,商品编号,数量,部门编号,负
为3NF模式。
✓ 示例
下列关系模式是2NF,是否为3NF?为什么? SD(学号,姓名,系名,系主任)
不是。因为:学号→系名,系名→系主任,存在传递依赖关系。
✓ 解决方法:消除传递函数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 21
第3讲 三、关系的规范化
4.第三范式(3NF)
✓ 分解为3NF的方法:
——关系的完整性规则、规范化
学习目标
认知目标:
理解关系的完整性规则 了解函数依赖、关系规范化的含义 理解三种范式的定义
能力目标:
能判别关系的范式类别 (重点、难点) 能进行范式的分解(重点、难点)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 5
第3讲 一、关系的完整性规则
✓ 定义
符串。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 10
第3讲 二、函数依赖
1.概念、类型
✓ 函数依赖
是指关系中各属性或属性组之间的相互依赖关系。它是关系 规范化的理论基础。
✓ 函数依赖的定义
给定一个关系模式R,X和Y都是R的属性或属性组,对于X的每 个确定值在任何时刻Y只有一个确定的值与之对应,则称“X 函数决定Y”,或称为“Y函数依赖于X”,X称为决定因素,记为 :X→Y。
SQL Server 2005
复习 第3讲
✓ 什么是关键字/码/键?
答:是能用来惟一标识元组的属性或属性组合。
✓ 什么是主关键字/主码/主键?
答:被指定为关键字的候选关键字,称为~。
✓ ER图转化为关系模式的原则是什么?
答:(1)每个实体转换为一个关系。 (2)每个联系也转换成一个关系。 (3)有相同码的关系可以合并。
1.实体完整性规则
✓ 规则要求:
在任何关系的任何一个元组中,主键的值不能为空 值、也不能取重复的值。
✓ 目的:用于保证数据库表中的每一个元组都是惟 一的。
请思考:下面的关系是否违反实体完整性规则?
学号 03001 03102 03223
03001
姓名 马力刚 王萍华 王平 张华 李萍
性别 男 女 男 男 女
第3讲 课余作业布置
✓ 课外练习
1. 教材P25:9 2. 补充:设关系模式SCT(学号,课程号,成绩,教师
名,教师地址)。如果规定:(1)每个学生每学一门 课程只有一个成绩;(2)每门课只有一个教师任教; (3)每个教师只有一个地址(无同名教师)。 ❖ 写出关系模式SCT的基本函数依赖集。 ❖ 找出关系模式SCT的候选码。 ❖ 试把SCT分解成2NF模式集,并说明理由。 ❖ 试把SCT分解成3NF模式集,并说明理由。
✓ 示例
有如下的关系模式 SD(学号,姓名,系名,系主任)
“学号→系名,系名→系主任”,则系主任传递依赖 于学号。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 14
第3讲 三、关系的规范化
✓引
在关系数据库的设计过程中,对于同一个问题 ,选用不同的关系模式,其性能的优劣是大不 相同的,为了区分关系模式的优劣,人们常常 把关系模式分为各种不同等级的范式。
把直接对主码函数依赖的非主属性与决定它们的主码 放在一个关系模式中。
把造成传递函数依赖的决定因素连同被它们决定的属 性放在一个关系模式中。
检查分解后的新模式,如果不是3NF,则继续按照前面 的方法进行分解,直到达到要求。
✓ 关系模式SD的分解结果如下:
SD(学号,姓名,系名) SD(系名,系主任)
✓ 函数依赖的类型
完全函数依赖 部分函数依赖 传递函数依赖
第1章 关系数据库原理—关系的完整性规则、关系的规范化 11
第3讲 二、函数依赖
2.完全函数依赖 ✓ 定义
如果属性Y函数依赖于复合属性X,且不与X的 任何子集函数相依赖,则称“Y完全函数依赖 于X”。
✓ 示例
有如下的关系模式:
年龄 21 20 21 22 19
系编号 01 02 03 04 05
第1章 关系数据库原理—关系的完整性规则、关系的规范化 7
第3讲 一、关系的完整性规则
2.域完整性规则(用户定义完整性规则) ✓ 规则要求
由用户根据实际情况,定义表中属性的取值 范围
❖ 例如:性别只能是男和女、年龄不能为负值、成 绩在0—100之间等。
1. 写出关系模式R的基本函数依赖集 2. 找出关系模式R的候选码。 3. 关系模式R最高已经达到第几范式?为什么? 4. 如果R不属于3NF,请将R分解成3NF。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 24
第3讲 四、综合应用
分析与解答: 1. 基本的函数依赖有:
(商店编号+商品编号) → 部门编号 (商店编号+部门编号) → 负责人 (商店编号+商品编号) → 数量
责人) 最高已达到2NF。因为负责人是码的 传递依赖。 4. 要达到3NF,必须消除非主属性对码的传递 依赖。对R分解后的两个模式如下:
R1(商店编号,商品编号,数量,部门编号) R2(部门编号,负责人)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 26
第3讲 本课小结
1. 关系的完整性规则
实体完整性/参照完整性/域完整性
2. 范式的类型
1NF、2NF、3NF
3. 各范式间的关系:
1NF中的每个属性值是不可再分的,它是关系模式的 最低要求。
消除1NF中的部分函数依赖,可转换为2NF。 消除2NF中的传递函数依赖,可转换为3NF。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 27
✓ 第一范式可能存在的问题:
数据冗余:如各位老师的信息重复。
插入异常:如果要插入刘老师的个人信息,但刘老师未开 课,会造成缺关键字“学号”、“课程号”。
删除异常:当要删除 课程号=“C3” 的元组,会丢失李老师 的信息。
修改量大。
学号
课程号
成绩
教师
教师年龄
01
C1
90
王
34
01
C2
78
周
45
第3讲 第1章 关系数据库原理
——关系的完整性规则、规范化
教学内容
1. 关系的完整性规则
实体完整性、参照完整性、域完整性
2. 函数依赖
完全函数依赖、部分函数依赖、传递函数 依赖
3. 关系的规范化
第一范式、第二范式、第三范式
第1章 关系数据库原理—关系的完整性规则、关系的规范化 4
第3讲 第1章 关系数据库原理
SC(学号,课程号,成绩) SD(学号,姓名,系名,系主任)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 20
第3讲 三、关系的规范化
4.第三范式(3NF) ✓ 定义
如果关系模式R为第二范式,且R中每个非主属
性都不传递函数依赖于R的某个候选码,则称R
办公室 205 207 210
电话 6003 6025 6018
学号 03001 03102 03223
姓名 马力刚 王萍华 王平
性别 男 女 男
年龄 21 20 21
系编号 01
05
✓ 说明
从表的“系编号(外键)”的取值只能为两种情 况:
❖ 若取非空值,则它必须是主表中存在的值。 ❖ 取空值(null)。表明尚未给学生分配专业。Null不等于0或空字
第1章 关系数据库原理—关系的完整性规则、关系的规范化 15
第3讲 三、关系的规范化
1. 概念和范式的类型
ቤተ መጻሕፍቲ ባይዱ
✓类型
第一范式(1NF)
低
第二范式(2NF)
第三范式(3NF)…… 高
✓关系规范化的概念
将低级范式转换为若干个高级范式过程。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 16
✓ 目的
用于保证给定字段中数据的有效性,即保证数 据的取值在有效的范围内。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 8
第3讲 一、关系的完整性规则
3.参照完整性规则(引用完整性规则) ✓ 规则要求:
“不引用不存在的实体”。即:不允许在一 个关系中引用另一个关系中不存在的元组。
是对关系的某种约束条件。
✓ 目的
用于保证关系数据库中数据的正确性和可靠性。
✓ 类型
实体完整性规则
是关系模型必须满足 的完整性约束条件。
参照完整性规则(引用完整性规则 )
域完整性规则(用户自定义完整性规则)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 6
第3讲 一、关系的完整性规则
02
C1
85
王
34
03
C3
57
李
27
03
C2
77
周
45
04
C1
83
王
34
第1章 关系数据库原理—关系的完整性规则、关系的规范化
办公室 2-14 1-01 2-14 3-15 1-01 2-14
18
第3讲 三、关系的规范化
3.第二范式(2NF)
✓ 定义
如果关系模式R为第一范式,且R中每个非主属性完全 函数依赖于R的主码(复合码),则称R为2NF模式。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 2
复习 第3讲
✓ 关系应具备什么性质?
答:(1)关系中每一个属性值都是不可分解的。 (2)关系中不允许出现相同的行。 (3)关系中不允许出现相同的列。 (4)关系中没有行序、没有列序。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 3
✓ 示例
有如下的关系模式
SCD(学号,姓名,课程号,成绩,系名,系主任) ❖主码为复合码:学号+课程号 ❖“姓名、系名、系主任”与主码是部分函数依赖
第1章 关系数据库原理—关系的完整性规则、关系的规范化 13
第3讲 二、函数依赖
4.传递函数依赖 ✓ 定义
在关系模式中,如果X→Y(不能Y→X),Y→Z, 若存在X→Z ,则称“Z传递依赖于X”。
生产(工厂编号,产品编号,计划数量)
“工厂编号+产品编号” →“计划数量”,是完全函 数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 12
第3讲 二、函数依赖
3.部分函数依赖(局部依赖) ✓ 定义
对于一个函数依赖:X→Y,如果存在Z∈X(Z 属于X),且有Z→Y成立,则称“Y部分函数依 赖于X”。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 22
第3讲 三、关系的规范化
5.各范式间的关系 ✓ 各范式之间的关系
第1章 关系数据库原理—关系的完整性规则、关系的规范化 23
第3讲 四、综合应用
实例:假设某商业集团数据库中有1个关系模式R(商 店编号,商品编号,数量,部门编号,负责人)。如 果规定: (1)每个商店的每种商品只在一个部门销售。 (2)每个商店的每个部门只有一个负责人。 (3)每个商店的每种商品只有一个库存数量。
?函数依赖的定义?给定一个关系模式rx和y都是r的属性或属性组对于x的每个确定值在任何时刻y只有一个确定的值与之对应则称xx函数决定函数决定yy或称为yy函数依赖于函数依赖于xxx称为决定因素记为
第3讲
第1章 关系数据库原理
——关系的完整性和关系的规范化
主讲人:栾志军(讲师、软件工程师) QQ:563475641 手机:15063828826
第3讲 三、关系的规范化
2.第一范式(1NF) ✓ 定义
如果关系模式R的所有属性的值域中第一个值都是不可 再分解值,则称R是属于1NF模式。
第一范式是对关系的最低要求。
✓ 示例:判断哪一张表是1NF?
第1章 关系数据库原理—关系的完整性规则、关系的规范化 17
第3讲 三、关系的规范化
2.第一范式(1NF)
✓ 示例
下列关系模式是1NF,是否是2NF?为什么? SCD(学号,姓名,课程号,成绩,系名,系主任)
❖主码为复合码:学号+课程号
不是。因为:“姓名、系名、系主任”与主码是部分函数依 赖(即:只依赖于学号)
✓ 解决方法:消除部分函数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 19
第3讲 三、关系的规范化
3.第二范式(2NF)
✓ 分解为2NF的方法:
把关系模式中对主码完全函数依赖的非主属性与决定 它们的主码放在一个关系模式中。
把对主码部分函数依赖的非主属性和决定它们的主属 性放在一个关系模式中。
检查分解后的新模式,如果仍不是2NF,则继续按照前 面的方法进行分解,直到达到要求。
✓ 目的
用于确保相关联的表间的数据保持一致。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 9
第3讲 一、关系的完整性规则
3.参照完整性规则(引用完整性规则)
请思考:下面两个关系是否违反参照完整性规则?
系表(主表)
学生表(从表)
系编号 01 02 03
系名 计算机 通信 电子
系主任 龚小勇 谭中华 袁勇
2. 由题意,上面的函数依赖可知“商店编号” 是主属性,商品编号也是主属性,由这两 个属性,可以确定关系元组的所有属性, 所以R的候选码是:商店编号+商品编号。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 25
第3讲 四、综合应用
分析与解答: 3. R(商店编号,商品编号,数量,部门编号,负
为3NF模式。
✓ 示例
下列关系模式是2NF,是否为3NF?为什么? SD(学号,姓名,系名,系主任)
不是。因为:学号→系名,系名→系主任,存在传递依赖关系。
✓ 解决方法:消除传递函数依赖。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 21
第3讲 三、关系的规范化
4.第三范式(3NF)
✓ 分解为3NF的方法:
——关系的完整性规则、规范化
学习目标
认知目标:
理解关系的完整性规则 了解函数依赖、关系规范化的含义 理解三种范式的定义
能力目标:
能判别关系的范式类别 (重点、难点) 能进行范式的分解(重点、难点)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 5
第3讲 一、关系的完整性规则
✓ 定义
符串。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 10
第3讲 二、函数依赖
1.概念、类型
✓ 函数依赖
是指关系中各属性或属性组之间的相互依赖关系。它是关系 规范化的理论基础。
✓ 函数依赖的定义
给定一个关系模式R,X和Y都是R的属性或属性组,对于X的每 个确定值在任何时刻Y只有一个确定的值与之对应,则称“X 函数决定Y”,或称为“Y函数依赖于X”,X称为决定因素,记为 :X→Y。
SQL Server 2005
复习 第3讲
✓ 什么是关键字/码/键?
答:是能用来惟一标识元组的属性或属性组合。
✓ 什么是主关键字/主码/主键?
答:被指定为关键字的候选关键字,称为~。
✓ ER图转化为关系模式的原则是什么?
答:(1)每个实体转换为一个关系。 (2)每个联系也转换成一个关系。 (3)有相同码的关系可以合并。
1.实体完整性规则
✓ 规则要求:
在任何关系的任何一个元组中,主键的值不能为空 值、也不能取重复的值。
✓ 目的:用于保证数据库表中的每一个元组都是惟 一的。
请思考:下面的关系是否违反实体完整性规则?
学号 03001 03102 03223
03001
姓名 马力刚 王萍华 王平 张华 李萍
性别 男 女 男 男 女
第3讲 课余作业布置
✓ 课外练习
1. 教材P25:9 2. 补充:设关系模式SCT(学号,课程号,成绩,教师
名,教师地址)。如果规定:(1)每个学生每学一门 课程只有一个成绩;(2)每门课只有一个教师任教; (3)每个教师只有一个地址(无同名教师)。 ❖ 写出关系模式SCT的基本函数依赖集。 ❖ 找出关系模式SCT的候选码。 ❖ 试把SCT分解成2NF模式集,并说明理由。 ❖ 试把SCT分解成3NF模式集,并说明理由。
✓ 示例
有如下的关系模式 SD(学号,姓名,系名,系主任)
“学号→系名,系名→系主任”,则系主任传递依赖 于学号。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 14
第3讲 三、关系的规范化
✓引
在关系数据库的设计过程中,对于同一个问题 ,选用不同的关系模式,其性能的优劣是大不 相同的,为了区分关系模式的优劣,人们常常 把关系模式分为各种不同等级的范式。
把直接对主码函数依赖的非主属性与决定它们的主码 放在一个关系模式中。
把造成传递函数依赖的决定因素连同被它们决定的属 性放在一个关系模式中。
检查分解后的新模式,如果不是3NF,则继续按照前面 的方法进行分解,直到达到要求。
✓ 关系模式SD的分解结果如下:
SD(学号,姓名,系名) SD(系名,系主任)
✓ 函数依赖的类型
完全函数依赖 部分函数依赖 传递函数依赖
第1章 关系数据库原理—关系的完整性规则、关系的规范化 11
第3讲 二、函数依赖
2.完全函数依赖 ✓ 定义
如果属性Y函数依赖于复合属性X,且不与X的 任何子集函数相依赖,则称“Y完全函数依赖 于X”。
✓ 示例
有如下的关系模式:
年龄 21 20 21 22 19
系编号 01 02 03 04 05
第1章 关系数据库原理—关系的完整性规则、关系的规范化 7
第3讲 一、关系的完整性规则
2.域完整性规则(用户定义完整性规则) ✓ 规则要求
由用户根据实际情况,定义表中属性的取值 范围
❖ 例如:性别只能是男和女、年龄不能为负值、成 绩在0—100之间等。
1. 写出关系模式R的基本函数依赖集 2. 找出关系模式R的候选码。 3. 关系模式R最高已经达到第几范式?为什么? 4. 如果R不属于3NF,请将R分解成3NF。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 24
第3讲 四、综合应用
分析与解答: 1. 基本的函数依赖有:
(商店编号+商品编号) → 部门编号 (商店编号+部门编号) → 负责人 (商店编号+商品编号) → 数量
责人) 最高已达到2NF。因为负责人是码的 传递依赖。 4. 要达到3NF,必须消除非主属性对码的传递 依赖。对R分解后的两个模式如下:
R1(商店编号,商品编号,数量,部门编号) R2(部门编号,负责人)
第1章 关系数据库原理—关系的完整性规则、关系的规范化 26
第3讲 本课小结
1. 关系的完整性规则
实体完整性/参照完整性/域完整性
2. 范式的类型
1NF、2NF、3NF
3. 各范式间的关系:
1NF中的每个属性值是不可再分的,它是关系模式的 最低要求。
消除1NF中的部分函数依赖,可转换为2NF。 消除2NF中的传递函数依赖,可转换为3NF。
第1章 关系数据库原理—关系的完整性规则、关系的规范化 27
✓ 第一范式可能存在的问题:
数据冗余:如各位老师的信息重复。
插入异常:如果要插入刘老师的个人信息,但刘老师未开 课,会造成缺关键字“学号”、“课程号”。
删除异常:当要删除 课程号=“C3” 的元组,会丢失李老师 的信息。
修改量大。
学号
课程号
成绩
教师
教师年龄
01
C1
90
王
34
01
C2
78
周
45
第3讲 第1章 关系数据库原理
——关系的完整性规则、规范化
教学内容
1. 关系的完整性规则
实体完整性、参照完整性、域完整性
2. 函数依赖
完全函数依赖、部分函数依赖、传递函数 依赖
3. 关系的规范化
第一范式、第二范式、第三范式
第1章 关系数据库原理—关系的完整性规则、关系的规范化 4
第3讲 第1章 关系数据库原理