第4章 关系数据库设计理论
DBS第四章

第四章 关系数据库的规范化设计 4.2 函数依赖
例1:设有关系模式R(A,B,C,D,E),其上的 函
数依赖集F={AB→CD, A→B, D→E}. 求证F必蕴涵A→E。
证明:∵A→B (已知) ∴A→AB (扩展律) ∵AB→CD (已知) ∴A→CD (传递律) ∴A→C,A→D (分解规则) ∵D→E (已知) ∴A→E (传递律)
X→Ai(i=1,2,…,n)中Ai的集合为X的属性闭包
记为
X
+ F
,即:
X
+ F
={Ai|AiU,且X→Ai在F+中}
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.4: 函数依赖X→Y能从F推出的充分必要条件是
YX+F ; (能用推理规则从F推出的所有X→Y的Y都在X +F中。
第四章 关系数据库的规范化设计 4.2 函数依赖
3
0003 C107
4
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
分析: (1)出现冗余和各种异常的原因
事物及事物的各个属性之间有一定的联系、约束 关系模式应尽量准确地反映这种内在的语义 不应把关系不密切或具有“排它”性的属性集中 (2)数据之间的联系→数据依赖→函数依赖(多对一)√
S#,
G
F={(S#, , C,#→T#} T#→TD C#
C#)→G
T#
T D
第四章 关系数据库的规范化设计
4.2 函数依赖
例2:设关系模式R(ABCD),在R的关系中,属性 值
间具有联系:
B→A
A值与B值有一对多联系; C值与D值有一对一联系;
数据库原理与应用第四章

说明:
函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
四、关系模式的简化表示
关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系
五、数据依赖对关系模式的影响
例:描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student <U、F> U ={ Sno, Sdept, Mname, Cname, Grade }
汇报时间:12月20日
Annual Work Summary Report
一、概念回顾
关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。
4.2.2 码
定义5.4 设K为关系模式R<U,F>中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 ALL KEY
数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。
A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。
A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。
A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。
A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。
A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。
A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。
(错)2、一个关系模式属于BC范式,它一定属于第三范式。
(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。
(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。
(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。
正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。
数据库系统原理与应用 目录

5.3 完整性
第6章 数据库的事务处理与数据恢复
6.1 事务管理的基本概念 6.2 并发控制
6.3 数据库恢复
第7章 SQL Server 2000
7.1 SQL Server 2000的安装 7.2 SQL Server 2000的管理工具
7.3 SQL Server 2000数据库对象的操作
第9章 数据库应用程序开发
9.1 数据库应用程序设计方法 9.2 数据库应用程序的体系结构
9.3 数据库与应用程序的接口
9.4 数据库应用程序开发
3.1 SQL概述 3.2 数据定义 3.3 数据查询 3.4 数据更新
3.5 视图
3.6 数据控制
第4章 关系数据库设计理论
4.1 数据依赖 4.2 范式 4.3 关系模式的分解
第5章 数据库安全性和完整性
5.1 数据库的安全性 5.2 SQL Server数据库的安全性
7.4 SQL Server 2000数据库管理 7.5 SQL Server 2000程序设计 7.6 SQL Server 2000安全性管理 7.7 链接服务器
第8章 数据库设计
8.1 数据库设计概述 8.2 需求分析
8.3 概念结构设计
8.4 逻辑结构设计 8.5 数据库的物理设计 8.6 数据库实施 8.7 数据库运行与维护
21世纪高职高专新概念教材
数据库系统原理与应用
目录
第1章 数据库基本知识 第2章 关系数据库
数据库课件第4章关系数据库(RDB)规范化设计理论

3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X
例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6
⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则
RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。
关系数据库设计理论(关系模式、函数依赖、范式)

函数依赖关系是属性间的一种多对一的关系。 函数依赖关系是属性间的一种多对一的关系。 如果X →Y, X←Y, 是一对一关系。 如果X →Y,且X←Y,则X和Y是一对一关系。
如学号与身份证号。 如学号与身份证号。
7.2
函数依赖
SQL Server 2000
三、函数依赖的几种特例
1、平凡函数依赖与非平凡函数依赖 、 如果X→Y, 如果X→Y,且Y X→Y 若Y 由于Y 由于Y 称为非平凡函数依赖。 X,则X→Y 称为非平凡函数依赖。
7.1
关系模式的评价
SQL Server 2000
教学(学号,姓名,年龄,系名,系主任,课程名,成绩) 教学(学号,姓名,年龄,系名,系主任,课程名,成绩)
学号 98001 98001 98002 98002 98003 98003 99001 姓名 李华 李华 张平 张平 陈兵 陈兵 陆莉 年龄 21 21 22 22 21 21 23 系名 计算机 计算机 计算机 计算机 数学 数学 物理 系主任 王民 王民 王民 王民 赵敏 赵敏 王珊 课程名 C语言 高等数学 C语言 高等数学 高等数学 离散数学 普通物理 成绩 90 80 65 70 95 75 85
7.1
关系模式的评价
SQL Server 2000
对于有问题的关系模式, 对于有问题的关系模式,可以通过模式分解的方法使之 规范化, 规范化,上述关系模式如果分解为如下三个关系则可以克服 以上出现的问题。 以上出现的问题。 学生(学号,姓名,年龄,系名) 学生(学号,姓名,年龄,系名) 系(系名,系主任) 系名,系主任) 选课(学号,课程名,成绩) 选课(学号,课程名,成绩) 如何分解关系模式,分解的依据是什么? 如何分解关系模式,分解的依据是什么?下二节将讨论 这些问题。 这些问题。
关系数据库规范化理论

第4章关系数据库规范化理论数据库设计的一个最基本的问题是怎样建立一个合理的数据库模式,使数据库系统无论是在数据存储方面,还是在数据操作方面都具有较好的性能。
什么样的模型是合理的模型,什么样的模型是不合理的模型,应该通过什么标准去鉴别和采取什么方法来改进,这是在进行数据库设计之前必须明确的问题。
为使数据库设计合理可靠、简单实用,长期以来,形成了关系数据库设计理论,即规范化理论。
它是根据现实世界存在的数据依赖而进行的关系模式的规范化处理,从而得到一个合理的数据库设计效果。
本章首先说明关系规范化的作用,接着引入函数依赖和范式等基本概念,然后介绍关系模式等价性判定和模式分解的方法,最后简要介绍两种数据依赖的概念。
4.1 关系规范化的作用4.1.1问题的提出从前面的有关章节可知,关系是一张二维表,它是涉及属性的笛卡尔积的一个子集。
从笛卡尔积中选取哪些元组构成该关系,通常是由现实世界赋予该关系的元组语义来确定的。
元组语义实质上是一个n目谓词(n是属性集中属性的个数)。
使该n目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的元素)的全体就构成了该关系。
但由上述关系所组成的数据库还存在某些问题。
为了说明的方便,我们先看一个实例。
【例4.1】设有一个关于教学管理的关系模式R(U),其中U由属性Sno、Sname、Ssex、Dname、Cname、Tname、Grade组成的属性集合,其中Sno的含义为学生学号,Sname为学生姓名,Ssex为学生性别,Dname为学生所在系别,Cname为学生所选的课程名称,Tname 为任课教师姓名,Grade为学生选修该门课程的成绩。
若将这些信息设计成一个关系,则关系模式为:教学(Sno,Sname,Ssex,Dname,Cname,Tname,Grade)选定此关系的主键为(Sno,Cname)。
由该关系的部分数据(如表4-1所示),我们不难看出,该关系存在着如下问题:1. 数据冗余(Data Redundancy)●每一个系名对该系的学生人数乘以每个学生选修的课程门数重复存储。
第4章 关系数据库理论1

成员;
若X(X∈R)是L类属性,且X+包含了R的全部属性,
则X必为R的唯一候选键;
若X(X∈R)是R类属性,则X不在任何候选键中; 若X(X∈R)是N类属性,则X包含在R的任一候选键
中;
若X(X∈R)是R的N类和L类属性组成的属性集,且
} while (result有所改变) ;
4.2.7 候选键的求解理论和算法
关键码的定义
定义4.7 设关系模式R的属性集是U,X是U的一
个子集,F是在R上成立的一个函数依赖集。
如果
X→U 在R上成立(即X→U在F+中),那么称X 是R的一个超键。 如果 X→U 在R上成立,但对X的任一真子集X'都有 f X'→U不成立(即X'→U不在F+中,或者X→U),那么 称X是R上的一个候选键。
SNo 决定函数(SN,Age,Dept) (SN,Age,Dept)函数依赖于 SNo
定义4.1 设关系模式R(U,F),U是属性全集,F是 U上的函数依赖集,X和Y是U的子集,如果对于R(U) 的仸意一个可能的关系r,对于X的每一个具体值, Y都有唯一的具体值与之对应,则称X决定函数Y, 或Y函数依赖于X,记作X→Y。我们称X为决定因素, Y为依赖因素。当Y不函数依赖于X时,记作:X→Y。 当X→Y且Y→X时,则记作:X Y。
SN Age Dept MN
SNO
Score
f
CNO
P
P
图4.4 SCD中的函数依赖关系
由此可见,在SCD中,既存在完全函数依赖,又存在部 分函数依赖和传递函数依赖。
4.4.2 第二范式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何构造一个好的关系模式?
• 消除关系模式中的数据冗余,更新异常,插入异常和删
除异常
如何改造关系模式? • 如何把一个不好的关系模式分解改造为一个好的关系模 式,应分析一个关系模式有哪些数据依赖,消除那些不 合适的数据依赖,这就是关系数据库设计过程中要讨论 的规范化理论问题。
说明:扩张性实现了两函数依赖决定因素与被决定因素的分别合并后
扔保持决定关系。
数据库原理与应用--第4章 关系数据库设计理论
第21页
2、函数依赖的基本性质
(3) 合并性
若X→Y且X→Z则必有X→(Y,Z)。例如,在关系SDC中,SNO→(SN, AGE),SNO→DEPT,则有SNO →(SN,AGE,DEPT)。 说明:决定因素相同的两函数依赖,他们的被决定因素合并后,函数依 赖关系依然保持。
SDC(SNO,SN,AGE,DEPT,MN,CNO,SCORE)
现实世界已知事实的语义:
• 一个系有若干学生,一个学生只属于一个系; • 一个系只有一名系主任; • 一个学生可以选修多门课程,每门课程有多名学生选修; • 每个学生所学的每门课程都有一个成绩。
数据库原理与应用--第4章 关系数据库设计理论
数据库原理与应用--第4章 关系数据库设计理论
第9页
S
SNO S1 S2 S3 SN 赵红 王小明 吴小林 AGE 20 17 19 DEPT 计算机 外语 信息
SC
SNO S1 CNO C1 SCORE 90
S1
S2
C2
C5
85
57
S4
张涛
22
自动化
ห้องสมุดไป่ตู้S2
S2 S2
C6
C7 C4 C1 C2 C4 C1
设计者可以对现实世界做强制规定;关系模式的所有关系实
例都要满足约束条件。
数据库原理与应用--第4章 关系数据库设计理论 第19页
1、函数依赖说明
3)函数依赖关系的存在与时间无关 必须根据语义来确定属性之间的函数依赖,而不能单凭 某一时刻关系中的实际数据值来判断。 4)函数依赖可以保证关系分解的无损连接性 设R(X,Y,Z),X、Y、Z为不相交的属性集合,如果 X→Y或X→Z则有R(X,Y,Z)=R[X,Y]∞R[X,Z],其中R[X ,Y]表示关系R在属性(X,Y)上的投影,即R等于两个分别 含决定因素X的投影关系(分别是R[X,Y]与R[X,Z])在X上 的自然连接,这样便保证了关系R分解后不会丢失原有的信 息,称作关系分解的无损连接性。
(4) 分解性
若X→(Y,Z),则X→Y且X→Z。很显然,分解性为合并性的逆过程。
说明:决定因素能决定全部,当然也能决定全部中的一部分。
由合并性和分解性,很容易得到以下事实: X→A1,A2,…,An成立的充分必要条件是X→Ai(i=1,2,…,n)成立。
数据库原理与应用--第4章 关系数据库设计理论
张文斌 张文斌 刘伟华 刘伟华 刘伟华 刘伟华 刘伟华 刘伟华 刘伟华 钟志强
CNO SCORE
C1 C2 C5 C6 C7 C4 C1 C2 C4 C1 70 75 70 85 93 90 85 57 80
存在的问题
在进行数据库的操作时,会出现以下几方面的问题。 数据冗余
• 如果一个系有多名学生或该学生选修了多门课程,则系名称和系主 任姓名就要存储多次,学生的姓名、年龄等信息也要存储多次;
第7页
操作异常 • 插入异常:如果一个系刚成立,无学生,或者虽然有学 生但尚未安排课程,那么就无法把这个系及其负责人的 信息加入数据库。
--应该插入而未被插入
• 删除异常:如果某个系的学生全部毕业了, 我们在删除
该系学生信息的同时,把这个系及其系主任的信息也丢
掉了。 --不该删除的数据被删掉
数据库原理与应用--第4章 关系数据库设计理论 第8页
结论:
• SDC关系模式不是一个好的关系模式。 • “好”的关系模式:不会发生插入异常、删除异常、更 新异常,数据冗余应尽可能少。 如果将关系模式SDC划分为三个关系模式S(Sno, SN,AGE, DEPT)、SC(Sno,Cno,Score )和D(dept, MN ),可基本解决
以上问题,但分解后是否是最佳的模式,也不是绝对的。
数据库原理与应用--第4章 关系数据库设计理论 第20页
2、函数依赖的基本性质
(1) 投影性
根据平凡的函数依赖的定义可知,一组属性函数决定它的所有子集。
例如,在关系SDC中,(SNO,CNO)→SNO和(SNO,CNO)→CNO。
说明:投影性产生的是平凡的函数依赖。
(2) 扩张性
若X→Y且W→Z,则(X,W)→(Y,Z)。例如,SNO→(SN,AGE), DEPT→MN,则有(SNO,DEPT)→(SN,AGE,MN)。
第23页
1)平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y: 如果X→Y,但Y X,则称X→Y是平凡的函数依赖;
如果X→Y,但Y X, 则称X→Y是非平凡的函数依赖;
若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素。
注:对于任一关系模式,平凡函数依赖都是必然成立的,它不 反映新的语义,若不特别声明,我们总是讨论非平凡的函数依赖。
数据库原理与应用
第4章 关系数据库设计理论
本章主要内容
4.1 问题的提出
4.2 关系模式的规范化(重点)
4.3 数据依赖的公理系统*
4.4 关系分解保持性*
4.5 小结
数据库原理与应用--第4章 关系数据库设计理论
第2页
4.1 问题的提出
设计任何一个数据库应用系统,现实世界→E-R模型→关系 模型,都会遇到如何构造合适的数据模式,即逻辑结构的问 题; 对于初步的关系模式,可能存在这样或那样的问题(如插入 异常、删除异常等),需要利用关系数据库设计理论进行规 范化,以逐步消除存在的问题,从而得到一定规范程度的关 系模式,这就是本章的主要内容; 本章将阐述关系数据库中最深的一些特性——函数依赖、多 值依赖和连接依赖,以及由此引出的诸多异常,如插入异常 、更新异常、删除异常及数据冗余等,对于出现的问题,通 过理论引入,对关系模式的规范化进行系统阐述。
数据库原理与应用--第4章 关系数据库设计理论
第17页
以关系模式SDC为例 系与系主任是1:1,故有dept→mn和mn→dept; 系与学生是1:n,故有sno → dept 学生与课程是m:n,故sno和cno之间不存在函数依赖 由于函数依赖与属性之间的联系类型有关,所以在确定属 性间的函数依赖时,可以从分析属性间的联系入手,便可确定
但是SCORE可以被(SNO,CNO)唯一地确定。所以可 表示为:(SNO,CNO)→SCORE。
数据库原理与应用--第4章 关系数据库设计理论 第16页
1、函数依赖说明
1)函数依赖与属性间的联系有关
对于关系模式R ,U为属性集合,X、Y为其属性子集, 根据函数依赖定义和实体间联系的定义,可得出如下结论: 1)若X和Y是1:1的联系,则存在函数依赖X→Y 和Y→X; 2)若X和Y是1:n的联系,则存在函数依赖Y→X; 3)若X和Y是m:n的联系,则X和Y之间不存在函数依赖关系。
数据库原理与应用--第4章 关系数据库设计理论
第13页
4.2 关系模式的规范化
关系规范化理论正是用来改造关系模式,通过分解关系模式 来消除其中不合适的数据依赖,以解决插入异常、删除异常、
更新异常和数据冗余问题。
• 4.2.1 函数依赖
• 4.2.2 码
• 4.2.3 范式(1NF,2NF,3NF,BCNF,4NF)
第22页
3、函数依赖分类
函数依赖分类及其定义 • 1)平凡函数依赖(Trivial FD)和 非平凡函数依赖 (Nontrivial FD)
• 2)完全函数依赖(Full FD)和部分函数依赖(Partial FD)
• 3)传递函数依赖(Transitive FD)
数据库原理与应用--第4章 关系数据库设计理论
第5页
关 系 SDC
SNO
S1 S1 S2 S2 S2 S2 S3 S3 S3 S4
SN
赵红 赵红 王小明 王小明 王小明 王小明 吴小林 吴小林 吴小林 张涛
AGE
20 20 17 17 17 17 19 19 19 22
DEPT
计算机 计算机 外语 外语 外语 外语 信息 信息 信息 自动化
MN
数据库原理与应用--第4章 关系数据库设计理论
第14页
4.2.1 函数依赖
函数依赖定义
定义4.1 设关系模式R(U,F),U是属性全集,F是U上 的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个 可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值 与之对应,则称X函数决定Y,或Y函数依赖于X,记X→Y。我们 称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作: X→Y。当X→Y且Y→X时,则记作:X Y。 理解:所谓函数依赖是指一个或一组属性的值可以决定其它 属性的值。函数依赖正如一个函数 y = f(x) ,x的值给定 后,y的值也就唯一地确定了。
数据库原理与应用--第4章 关系数据库设计理论 第4页
4.1.2 关系模式中可能存在的异常
例1:要求设计学生-课程数据库,其中:SNO:学生学号,SN : 学生姓名,AGE:学生年龄,DEPT :学生所在的系别,MN: 系主任名,CNO :课程号,SCORE :成绩。
假设用单一的关系模式 SDC来表示,则关系模式SDC如下:
80
70 75 70 85 93
D
DEPT 计算机 外语 信息 MN 张文斌 刘伟华 刘伟华