关系数据库的模式设计

合集下载

数据库课件第6章 关系数据库设计

数据库课件第6章 关系数据库设计

“学生”是该系统的一个核心数据结构,它可以描述如 下: 数据结构: 学生 含义说明: 是教学管理子系统的主体数据结构, 定义了一个学生的相关信息。 组成: 学号,姓名,性别,年龄,所在系,年级
2.分析得到系统的信息需求


例如: ⑴ 教学管理子系统的信息需求
管理学生、班级、教师、课程、专业和系等信息。 ①学生:学号、姓名、性别、年龄等。 ②班级:班级号、班级名、人数等。 ③教师:教师号、姓名、性别、职称、 电话号码和家 庭地址(城市、区、街道、邮政编码)等。 ④课程:课程号、课程名、学分、周学时、课程类型 (周数)等。 ⑤专业:专业号、专业名、选修门数等。 ⑥系:系号、系名等。
课程号 课程名 总课时
课程
请按键 ★


教授联系的合并
教 学 管 理 子 系 统
教师 m
教授 n 课程
教师 m 教授 n 课程
时间 教室号
合 并 后
时间 评教等级
教师 m
教授 n 课程 评教等级 时间 教室号
请按键 ★
工Hale Waihona Puke 资 及 福 利 子 系 统
合并后生成的全局E-R模型
教师 号
姓 名
性 别


⑵ 消除冗余数据和冗余联系 检查合并后的E-R模型中有无冗余数 据和冗余联系,如有则根据实际情况消 除之。

⑶ 例

教学管理与工资及福利管理子系统中,教 师的职工号存在命名冲突;教师实体存在 结构冲突。

教师 号
姓 名 教师 m 时间
性 别
职 称 电话号 码
n
工作
1
系 系号 系名
教授 教室号 n 课程名 n 课程 m n 学分 m

现有图书管理数据库的三个关系模式

现有图书管理数据库的三个关系模式

现有图书管理数据库的三个关系模式现有图书管理数据库的三个关系模式:图书(总编号,分类号,书名,作者,出版单位,单价) 读者(借书证号,单位,姓名,性别,职称,地址) 借阅(借书证号,总编号,借书日期)1、创建“图书管理”数据库;Create database图书管理2、创建“图书”、“读者”和“借阅”三个基本表(保证三个表的实体完整性、参照完整性及用户定义的完整性,各完整性根据实际情况自行定义,越全面越好,要求至少实现一个CHECK约束的定义);Create table图书(总编号 char(10) primary key not null;分类号 char(10);书名 char(20);作者 char(10);出版单位 char(20);单价 char(10))Create table读者(借书证号 char(10) primary key not null;单位 char(10);姓名 char(10);性别 char(10);职称 char(10);地址 char(20))Create table借阅(借书证号char(10) not null; 总编号char(10) not null;借书日期 datetimePrimary key(借书证号,总编号)Foreign key(借书证号) peferences 读者(借书证号)Foreign key(总编号) peferences 图书(总编号)3、使用SQL语句完成如下查询:(1)求出各个出版社图书的最高价格、最低价格和册数。

SELECT出版单位,MAX(单价),MIN(单价),COUNT(*) FROM 图书GROUP BY 出版单位(2)找出姓李的读者所借图书的所有图书的书名及借书日期。

select 书名,姓名,借书日期from 借阅,图书,读者where 借阅.借书证号=读者.借书证号 and 图书.总编号=借阅.总编号 and 读者.姓名 like '李%'(3)找出与赵正义在同一天借书的读者姓名、所在单位及借书日期。

第3章 关系模式设计理论

第3章 关系模式设计理论

• 4.模式分解的缺点
• (1)分解后,检索操作需要做笛卡尔积或连接操作,将付出时间 代价。 • (2)有泛关系假设时,连接可能产生寄生元组,即损失了信息; 在无泛关系假设时,可能存在悬挂元组,有可能不存在泛关系。
3.3 关系模式的分解特性
• 4.无损分解的测试方法
• 算法3:有关系模式R=A1…An,F是R上成立的函数依赖集,ρ ={R1,…,Rk}是R的一个分解。判断其是否为无损分解。
数据库系统原理
第3章 关系模式设计理论
第3章 关系模式设计理论
• 3.1 关系模式的设计准则
• 3.2 函数依赖 • 3.3 关系模式的分解特性
• 3.4 范式
•Байду номын сангаас3.5 多值依赖和第四范式
3.1 关系模式的设计准则
• 关系数据库的规范化理论最早是由关系数据库的创始人 E.F.Codd提出的,后经许多专家学者进一步深入的研究 和发现,形成了一整套有关关系数据库设计的理论。 • 在该理论出现以前,层次和网状数据库设计知识遵循其模 型本身固有的原则,而无具体的理论依据,带有一定盲目 性,可能在以后的运行和使用中发生许多与想不到的问题。
3.1 关系模式的设计准则
• 2.关系模式的非形式化设计准则
• 1.关系模式的设计应尽可能只包含有直接联系的属性,不要包含有 间接联系的属性。 • 2.关系模式的设计应尽可能使得相应关系不出现插入、删除和修改 等操作异常现象。 • 3.关系模式的设计应尽可能使得相应关系中避免放置经常为空值的 属性。 • 4.关系模式的设计应尽可能使得关系的等值连接在主键和外键的属 性上进行,并且保证连接以后不会生成额外的元组。
• (1)G中每个FD的右边都是单属性; • (2)G中没有冗余的FD,即G中不存在这样的函数依赖XY,使得G{XY}与G等价; • (3)G中每个FD的左边没有冗余的属性,即G中不存在这样的函数依 赖XY,X有真子集W使得G-{XY}∪{WY}与G等价。

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计
记作: Sname Sdept
.
13
几个术语和符号
如果 X→Y,则 X 叫做决定因素(Determinant) 如果 X→Y , Y → X ,则记作: X ←→ Y
如果Y不函数依赖于X,则记作: X→Y
.
14
二、平凡函数依赖与非平凡函数依赖 如果 X→Y,但 Y X,则称 X→Y 是非平凡的函数 依赖
关系模式的规范化:解决插入、删除和更 新异常,尽量消除数据冗余,消除不合适 的数据依赖
这就要求关系模式应该满足一定的条件
关系模式满足不同的条件,称为不同的范 式
.
30
1NF范式
如果关系模式R的所有属性都是不可再分解 的,则称R属于第一范式,简称1NF,记做 R∈1NF。
满足1NF的关系为规范化的关系,否则为非规 范化的关系
U,则【1】为F所逻辑蕴含
XZ->ZY 2008.09 3、下列关于部分函数依赖的叙述中,哪条是正确的? A、若X->Y,且存在Y的真子集Y’,X->Y’,则Y对X部分函数依赖 B、若X->Y,且存在Y的真子集Y’,X->Y’,则Y对X部分函数依赖 C、若X->Y,且存在X的真子集X’,X’->Y,则Y对X部分函数依赖 D、若X->Y,且存在X的真子集X’,X’->Y,则Y对X部分函数依赖
CNAME 机械设计 高等数学 管道工程 数据结构
.
6
该关系模式可能出现如下 问题:
异常(多个记录更新,刘宏
容易产生数据不一致) 王明
插入异常:TNAME,CNO码, 李红
某个教师没上课,CNO为
空,不能插入)
ADDRESS CNO 18栋302 043
21栋503 056 18栋302 041 17栋503 002

数据库——数据库设计E-R图向关系模型的转换

数据库——数据库设计E-R图向关系模型的转换

数据库——数据库设计E-R图向关系模型的转换1、将下列物资管理E-R图转换为关系模式:转换原则⒈ ⼀个实体型转换为⼀个关系模式。

关系的属性:实体型的属性关系的码:实体型的码⒉ ⼀个m:n联系转换为⼀个关系模式(初步,以后可能调整)。

关系的属性:与该联系相连的各实体的码以及联系本⾝的属性关系的码:各实体型码的组合⒊ 1:n联系---与n端对应的关系模式合并在n端关系中加⼊1端关系的码和联系本⾝的属性⒋ ⼀个1:1联系,可以与任意⼀端对应的关系模式合并。

⒌ 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。

关系的属性:与该多元联系相连的各实体的码以及联系本⾝的属性关系的码:各实体码的组合供应(供应商号,项⽬号,零件号,供应量)⒍ 同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。

⒎ 具有相同码的关系模式可合并。

⽬的:减少系统中的关系个数1.⼀个实体型转换为⼀个关系模式:供应商(供应商号,姓名,地址,电话号,账号)2.⼀个实体型转换为⼀个关系模式:项⽬(项⽬号,预算,开⼯⽇期)3.⼀个实体型转换为⼀个关系模式:零件(零件号,名称,规格,单价,描述)4. 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。

供应(供应商号,项⽬号,零件号,供应量)5.⼀个实体型转换为⼀个关系模式:仓库(仓库号,⾯积,电话号)6. ⼀个实体型转换为⼀个关系模式。

1:n联系---与n端对应的关系模式合并。

(1:n⼯作联系)同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。

(职⼯与领导职⼯的⾃联系)职⼯(职⼯号,姓名,年龄,职称,仓库号,领导职⼯号)7. ⼀个m:n联系转换为⼀个关系模式。

库存(仓库号,零件号,库存量)2019/6/19更新后天考试,这⾥再给出两道课本样题1.学校中有若⼲系,每个系有若⼲班级和教研室,每个教研室有若⼲教员,其中有的教授和副教授每⼈各带若⼲研究⽣; 每个班有若⼲学⽣, 每个学⽣选修若⼲课程, 每门课可由若⼲学⽣选修。

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

第四章 关系数据库设计理论
4.2.1 第一范式
如果一个关系模式R 如果一个关系模式R的所有属性都是不可分的基本数据项, 则R∈1NF。 1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式 的数据库模式不能称为关系数据库。但是满足第一范式的关系 模式并不一定是一个好的关系模式。 一个低一级范式的关系模式,通过模式分解可以转换为 若干个高一级范式的关系模式的集合,这种过程就叫规范化 若干个高一级范式的关系模式的集合,这种过程就叫规范化。 规范化。
第4章 关系数据库设计理 论
4.1 数据依赖 4.2 关系的规范化 4.3 模式分解
20112011-2-25
主讲:王颂华
1
4.1 数 据 依 赖
4.1.1 函数依赖
1.函数依赖的定义 设有一关系模式R 设有一关系模式R ( A1, A2,… ,An) ,X 和Y 均为R 的 An) 均为R 子集,对于R的任意一个可能的关系r来说, 子集,对于R的任意一个可能的关系r来说,当其中任意两个元 组u,v中对应于X的那些属性分量的值均相等时,则有u、v中 中对应于X的那些属性分量的值均相等时,则有u 对应于Y的那些属性分量的值也相等, 对应于Y的那些属性分量的值也相等,称X函数确定Y,或Y函数 函数确定Y 依赖于X 记为X 依赖于X,记为X→Y。
4.3 模 式 分 解
把泛关系模式R用一组关系模式的集合ρ={R 把泛关系模式R用一组关系模式的集合ρ={R1,R2,…, Rk} 来表示 (R1,R2,...,Rk) 都是 R 的子集 , ρ 就是数据库模式 。 来表示( ..., 都是R 的子集, 就是数据库模式。 以ρ代替R的过程称为关系模式的分解。实际上,关系模式的分 代替R的过程称为关系模式的分解。实际上, 解不仅仅是属性集合的分解, 它是对关系模式上的函数依赖集、 解不仅仅是属性集合的分解, 它是对关系模式上的函数依赖集、 以及关系模式的当前值分解的具体表现。 以及关系模式的当前值分解的具体表现。

自考04735数据库原理及应用关系模式设计理论

自考04735数据库原理及应用关系模式设计理论

自考04735数据库原理及应用关系模式设计理论要求、目标:了解关系数据库规范化理论及其在数据库设计中的作用,重点是函数依赖和范式,要求掌握这些概念并能运用它们来进行模式分解。

一、关系模式的设计准则1.数据冗余:同一个数据在系统中多次重复出现。

2.关系模式设计不当引起的异常问题:数据冗余、操作异常(包括修改异常、插入异常和删除异常)3.关系模式的非形式化设计准则1)关系模式的设计应尽可能只包含有直接联系的属性,不要包含有间接联系的属性。

也就是,每个关系模式应只对应于一个实体类型或一个联系类型。

2)关系模式的设计应尽可能使得相应关系中不出现插入异常、删除和修改等操作异常现象。

3)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。

4)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证以后不会生成额外的元组。

4.习惯使用的一些符号:1)英文字母表首部的大写字母“A,B,C,…”表示单个的属性。

2)英文字母表尾部的大写字母“…,U,V,W,X,Y,Z”表示属性集。

3)大写字母R表示关系模式,小写字母r表示其关系。

4)关系模式的简化表示方法:R(A,B,C,…)或R(ABC…)5)属性集X和Y的并集简写为XY。

二、函数依赖1.函数依赖(FD)的定义:设有关系模式R(U),X和Y是属性集U的子集,函数依赖是形成X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD X→Y在关系模式R(U)中成立。

说明:1)t[X]表示元组t在属性集X上的值,其余类同。

2)X→Y读作“X函数决定Y”或“Y函数依赖于X”。

3)FD是对关系模式R的一切可能的关系r定义的。

对于当前关系r的任意两个元组,如果X值相同,则要求Y值也相同,即有一个X值就有一个Y值与之对应,或者说Y值由X值决定。

例:设关系模式R(ABCD),在R的关系中,属性值间有这样的联系:A值与B值有一对多联系;C值与D值之间有一对一联系。

关系数据库设计理论

关系数据库设计理论

五、FD的推理规则
从已知的FD集推导未知的FD,可以使用的推导规则 (Armstrong) 设有关系模式R(U),X、Y、Z是U的子集: A1(自反性):如果 Y X ,则有 XY 在R上成立。 A2(增广性):如果 XY 在R上成立,那么有 XZYZ A3(传递性):如果 XY和 YZ在R上成立,则有 XZ
S# -> SNAME C# -> TNAME (S#,C#) ->GRADE
三、属性间的联系和函数依赖 属性间的联系有三种,但并不是每一种关系中都存在函数 依赖,设有属性集X、Y属于关系模式R,
如果X和Y之间是‘1-1’关系,则存在函数依赖:
X YY, X
如果X和Y之间是‘1-M’关系,则存在函数依赖:
第五章 关系数据库设计理论
5.1 问题的提出-什么是不好的数据库设计
实际问题,假定在设计数据库时出现如下的关系模式: Student(Sno, Sname, Dept,Cno, Grade) 学生(学号,姓名,院系,课程号,成绩)
Sno Sname Dept Cno Grade
1000 李平 计算机 001
FD的分类: 1、对于FD:XY ,如果 Y X ,则称为“平凡的FD” 2、对于FD:XY ,如果 YX ,则称为“非平凡的FD” 3、对于FD:XY ,如果 YXφ则为“完全非平凡的FD”
Armstrong的推论: 1、合并规则: 由 XYX,Z可以 得 YZ 到X 2、分解规则: 由 XYZ可以 得 YX, 到 ZX 3、伪传递规则:由 XYY,WZ则得 到 Z XW
86
1000 李平 计算机 002
97
1000 李平 计算机 003
83
1001 王莉 计算机 001
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 关系数据库的模式设计 本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考,从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解,但对于理论的证明等内容则不必深究,本章重点是函数依赖,无损联接、保持依赖和范式的概念。

一、关系模式的设计问题( 识记 ) 关系数据库 是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性 ,也可以用来描述实体间的联系。关系实质上就是一张二维表 ,表的 行称为元组 ,列称为属性 .

关系模式是用来定义关系的,这里的关系模式我们可以简单地理解为一个表的结构,一个关系数据库包含一组关系,也就是包含一组二维表,这些二维表结构体的集合就构成数据库的模式(也可以理解为数据库的结构)。

关系数据库 设计理论包括三个方面内容: 数据依赖 、范式 、模式设计方法。核心内容是数据依赖。

泛关系模式 :把现实问题的所有属性组成一个关系模式R(U),这个关系模式就称为泛关系模式。

数据库模式 :把泛关系模式用一组关系模式的集合ρ来表示时,这个ρ就是数据库模式。

下面我们总结一下关系模式的相关内容从“大”到“小”的排列 泛关系模式→数据库模式→关系数据库→表结构→关系模式实例(表)→记录(行、列。) 关系模式的存储异常: 数据冗余 、更 新异常 、 插入异常和删除异常 二、函数依赖(FD) 1、函数依赖的定义 ( 领会 ):设有关系模式R(A1,A2,„„An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y.X→Y为模式R的一个函数依赖。

这个定义可以这样理解 :有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X.

2、函数依赖的逻辑蕴涵 ( 识记 ) 设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y. 2

而函数依赖的闭包F + 是指被F逻辑蕴涵的函数依赖的全体构成的集合。 3、键和FD的关系 ( 领会 ) 键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2„„An),F是R上的函数依赖集,X是R的一个子集,

(1)X→A1A2„„An∈F + (它的意思是X能够决定唯一的一个元组) (2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集)

包含在任何一个候选键中的属性称为主属性 ,不包含在任何键中的属性为非主属性(非键属性),注意主属性应当包含在候选键中。

4、函数依赖(FD)的推理规则 ( 简单应用 ) 前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定F或F+的所有函数依赖。

设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:

自反律 :如果Y X U,则X→Y在R上成立。 增广律 :如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。(XZ表示X∪Z,下同) 传递律 :如果X→Y和Y→Z在R上成立,则X→Z在R上成立。 合并律 :如果X→Y和X→Z成立,那么X→YZ成立。 伪传递律 :如果X→Y和WY→Z成立,那么WX→Z成立。 分解律 :如果X→Y和Z Y成立,那么X→Z成立。 5、函数依赖推理规则的完备性 ( 识记 ) 函数依赖推理规则系统(自反律、增广律和传递律)是完备的。由推理规则的完备性可得到两个重要结论:

属性集X + 中的每个属性A,都有X→A被F逻辑蕴涵,即X + 是所有由F逻辑蕴含X→A的属性A的集合。

F + 是所有利用Amstrong推理规则从F导出的函数依赖的集合 6、函数依赖集的等价和覆盖 ( 识记) 3

在关系模式R(U)上的两个函数依赖集F和G,如果 满足F + =G + ,则称F和G是 等价 的,称F和G等价也称F 覆盖 G或G覆盖F.

每个函数依赖集F都可以被一个 右部只有单属性的函数依赖集 G所覆盖。 如果函数依赖集合F满足: (1)F中每一个函数依赖的右部都是单属性; (2)F中的任一函数依赖X→A,其F-{X→A}是不等价的; (3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A})∪{Z→A}与F不等价。 则称F为最小函数依赖集合。 如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个 最小覆盖 . 这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念 . 三、关系模式的分解特性 1、 模式分解中存在的问题 :( 识记 ) 模式分解 就是将一个泛关系模式 R分解成 数据库模式ρ ,以ρ代替R的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。

分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等情况,而有的分解则不出现相关问题。

衡量一个分解的标准有三种: 分解具有无损联接 ; 分解要保持函数依赖 ;分解 既要保持依赖,又要具有无损联接 .

那么什么是无损联接呢?什么又是保持依赖? 2、 无损联接的定义和性质 ( 识记 ) 设R是一关系模式,分解成ρ={R1,R2,„„,Rk},F是R上的一个函数依赖集。无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r=π R1 (r)|X|π R2 (r)„„|X|π R3 (r),即r为它在Ri上的投影的自然联接。

最简单的理解, 也就是说,分解后的关系 自然连接后 完全等于 分解前的 关系,则这个分解相对于F是无损联接分解。

设R的分解为ρ={R1,R2},F为R所满足的函数依赖集,则分解ρ具有无损联接性的 充分必要条件 是: 4

R1∩R2→(R1-R2) R1∩R2→(R2-R1) 也就是说,分解后的两个模式的交能决定这两个模式的差集,即R1、R2的公共属性能够函数决定R1或R2中的其他属性 ,这样的分解就必定是无损联接分解 .

3、 保持函数依赖的分解 ( 识记 ) 在分解过程中,要求模式分解的无损联接是必要的,只有无损联接分解才能保证任何一个关系能由它的那些投影进行自然联接得到恢复。

同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,这就是保持函数依赖的问题。也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完整性不受破坏。

四、关系模式的范式( 领会 ) 1、1NF、2NF、3NF、BCNF的定义: 1NF:第一范式 . 即关系模式中的属性的 值域 中 每一个值 都是 不可再分解 的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。

2NF:第二范式 . 如果关系模式R为 第一范式 ,并且R中每一个 非主属性 完全函数依赖于 R的某个候选键,则称为 第二范式模式 .

在这里要先了解“非主属性”、“完全函数依赖”、“候选键”这三个名词的含义。 候选键 就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。 非主属性 也就是非键属性,指关系模式R中不包含在任何建中的属性。 设有函数依赖W→A,若存在X W,有X→A成立,那么称W→A是局部依赖,否则就称W→A是 完全函数依赖 .

在分析是否为第2范式时,应 首先确定 候选键 ,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF.如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。

3NF:第三范式 . 5

如果关系模式R是 第二范式 ,且 每 个 非主属性 都 不 传递依赖 于R的 候选键 ,则称R为第三范式的模式。

这里首先要了解 传递依赖 的含义: 在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。

注意的是,这里要求非主属性都不传递依赖于候选键。 BCNF :这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是 第一范式 ,且 每个属性 都 不 传递依赖于R的候选键。这种关系模式就是BCNF模式。

纵观四种范式,可以发现它们之间存在如下关系:

5、 分解成BCNF模式集的算法( 识记 ) 对于任一关系模式,可找到一个分解达到3NF,且具有无损联接和保持函数依赖性。而对于BCNF分解,则可以保证无损联接但不一定能保证保持函数依赖集。

无损联接分解成BCNF模式集的算法: (1)置初值ρ={R}; (2)如果ρ中所有关系模式都是BCNF,则转(4); (3)如果ρ中有一个关系模式S不是BCNF,则S中必能找到一个函数依赖集X→A有X不是S的键,且A不属于X,设S 1 =XA,S 2 =S-A,用分解S 1 ,S 2 代替S,转(2);

(4)分解结束。输出ρ。 在这个过程中, 重点在于(3)步 ,判断哪个关系不是BCNF,并找到X和A.这里,S的判断用BCNF的定义,而X不是S的键则依靠分析。

6、 分解成3NF模式集( 识记 )

相关文档
最新文档