`
piabo2161978
  • 浏览: 23444 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

数据库原理之关系模式的范式

 
阅读更多
1 第一范式

1NF:第一范式—— 即关系模式中的属性的值域中每一个值都是不可再分解的值。
如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。
比如有一个关系 study={学号,课程},若有这样几行记录:

这时的第三条记录就表示本关系模式不是1NF的,因为课程中的值域还是可以分解的,它包括了两门课程。
如果改为下列形式,则是1NF



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

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

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

比如有一个关系 study={学号,学生姓名,课程,成绩}

其中,(学号,课程)为候选键;“成绩”对键的函数依赖为完全函数依赖,而“姓名”只依赖于“学号”, 对键的依赖为部分函数依赖。所以,该关系模式不符合2NF。如果将该 模式分解为以下两个关系:
     student={学号,姓名}
     study={学号,课程,成绩}
则分解后的两个关系模式均为2NF


3 第三范式
如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式模式。
传递依赖的含义: 在关系模式中,如果Y→X,X→A,且XY(X不决定Y)和AX(A不属于X),那么Y→A是传递依赖。 Notice:要求非主属性都不传递依赖于候选键。
上一小节例子中student={学号,姓名},study={学号,课程,成绩}都是3NF


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

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



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

无损联接分解成BCNF模式集的算法:
(1)置初值ρ={R};
(2)如果ρ中所有关系模式都是BCNF,则转(4);
(3)如果ρ中有一个关系模式S不是BCNF,则S中必能找到一个函数依赖集X→A有X不是S的键,且A不属于X,设S1=XA,S2=S-A,用分解S1,S2代替S,转(2);
(4)分解结束。输出ρ。
Notice:重点在于(3)步,判断哪个关系不是BCNF,并找到X和A。
例:关系模式R<U,F>,其中:U={A,B,C,D,E},F={A→C,C→D,B→C,DE→C,CE→A},将其分解成BCNF并保持无损连接。
      解:
      ① 令ρ={R(U,F)}。
      ② ρ中不是所有的模式都是BCNF,转入下一步。
      ③ 分解R:R上的候选关键字为BE(因为所有函数依赖的右边没有BE)。考虑A→C函数依赖不满足BCNF条件(因A不包含候选键BE),将其分解成R1(AC)、R2(ABDE)。
计算R1和R2的最小函数依赖集分别为:F1={A→C},F2={B→D,DE→D,BE→A}。其中B→D是由于R2中没有属性C且B→C,C→D;DE→D是由于R2中没有属性C且DE→C,C→D;BE→A是由于R2中没有属性C且B→C,CE→A。又由于DE→D是蕴含关系,可以去掉,故F2={B→D,BE→A}。

      分解R2:R2上的候选关键字为BE。考虑B→D函数依赖不满足BCNF条件,将其分解成R21(BD)、R22(ABE)。计算R21和R22的最小函数依赖集分别为:F21={B→D},F22={BE→A}。

      由于R22上的候选关键字为BE,而F22中的所有函数依赖满足BCNF条件。故R可以分解为无损连接性的BCNF如:ρ={R1(AC),R21(BD),R22(ABE)}


6 分解成3NF模式集
(1)如果R中的某些属性在F的所有依赖的左边和右边都不出现,那么这些属性可以从R中分出去,单独构成一个关系模式。
(2)如果F中有一个依赖X→A有XA=R,则ρ={R},转(4)
(3)对于F中每一个X→A,构成一个关系模式XA,如果F有有X→A1,X→A2...X→An,则可以用模式XA1A2...An代替n个模式XA1,XA2...XAn;
(4)w分解结束,输入ρ。

例1:关系模式R<U,F>,其中U={C,T,H,R,S,G},
F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成3NF并保持函数依赖。
解:根据算法进行求解     
(一)计算F的最小函数依赖集
      ① 利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖。由于F的所有函数依赖的右边都是单个属性,故不用分解。

      ② 去掉F中多余的函数依赖

      A.设CS→G为冗余的函数依赖,则去掉CS→G,得:

      F1={C→T,TH→R,HR→C,HS→R}

      计算(CS)F1+:

      设X(0)=CS

      计算X(1):扫描F1中各个函数依赖,找到左部为CS或CS子集的函数依赖,找到一个C→T函数依赖。故有X(1)=X(0)∪T=CST。

      计算X(2):扫描F1中的各个函数依赖,找到左部为CST或CST子集的函数依赖,没有找到任何函数依赖。故有X(2)=X(1)。算法终止。

      (CS)F1+= CST不包含G,故CS→G不是冗余的函数依赖,不能从F1中去掉。

      B.设C→T为冗余的函数依赖,则去掉C→T,得:

      F2={CS→G,TH→R,HR→C,HS→R}

      计算(C)F2+:

      设X(0)=C

      计算X(1):扫描F2中的各个函数依赖,没有找到左部为C的函数依赖。故有X(1)=X(0)。算法终止。故C→T不是冗余的函数依赖,不能从F2中去掉。

      C.设TH→R为冗余的函数依赖,则去掉TH→R,得:

      F3={CS→G,C→T,HR→C,HS→R}

      计算(TH)F3+:

      设X(0)=TH

      计算X(1):扫描F3中的各个函数依赖,没有找到左部为TH或TH子集的函数依赖。故有X(1)=X(0)。算法终止。故TH→R不是冗余的函数依赖,不能从F3中去掉。

      D.设HR→C为冗余的函数依赖,则去掉HR→C,得:

      F4={CS→G,C→T,TH→R,HS→R}

      计算(HR)F4+:

      设X(0)=HR

      计算X(1):扫描F4中的各个函数依赖,没有找到左部为HR或HR子集的函数依赖。故有X(1)=X(0)。算法终止。故HR→C不是冗余的函数依赖,不能从F4中去掉。

      E.设HS→R为冗余的函数依赖,则去掉HS→R,得:

      F5={CS→G,C→T,TH→R,HR→C}

      计算(HS)F5+:

      设X(0)=HS

      计算X(1):扫描F5中的各个函数依赖,没有找到左部为HS或HS子集的函数依赖。故有X(1)=X(0)。算法终止。故HS→R不是冗余的函数依赖,不能从F5中去掉。即:F5={CS→G,C→T,TH→R,HR→C,HS→R}

      ③ 去掉F5中各函数依赖左边多余的属性(只检查左部不是单个属性的函数依赖),没有发现左边有多余属性的函数依赖。

故最小函数依赖集为:F={CS→G,C→T,TH→R,HR→C,HS→R}

(二)由于R中的所有属性均在F中都出现,所以转下一步。     

(三)对F按具有相同左部的原则分为:

R1=CSG,R2=CT,R3=THR,R4=HRC,R5=HSR。
所以ρ={R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR)}。


转换成3NF的保持无损连接和函数依赖的分解
例2:关系模式R<U,F>,其中:U={C,T,H,R,S,G},
F={CS→G,C→T,TH→R,HR→C,HS→R},分解成3NF并保持无损连接和函数依赖。

解:(1) 根据上例例1,得到3NF并保持函数依赖的分解如下:
      σ={ R1(CSG),R2(CT),R3(THR),R4(HRC),R5(HSR) }。

(2) 而HS是原模式的关键字,所以τ={CT,CSG,CHR,HSR,HRT,HS}。由于HS是模式HSR的一个子集,所以消去HS后的分解{CT,CSG,CHR,HSR,HRT}就是具有无损联接性和保持函数依赖性的分解,且其中每一个模式均为3NF。





7 模式设计方法的原则
关系模式R相对于函数依赖集F分解成数据库模式ρ={R1,R2...Rk},一般具有下面四项特性:
  (1)ρ中每个关系模式Ri上应具有某种范式性质(3NF或BCNF)
  (2)无损联接性。
  (3)保持函数依赖集。
  (4)最小性,即ρ中模式个数应最少且模式中属性总数应最少。

一个好的模式设计方法应符合下列三条原则:
  (1)表达性
  (2)分离性
  (3)最小冗余性

8 多值依赖
函数依赖有效地表达了属性值之间多对一的联系,是最重要的一种数据依赖;而多值依赖是为了刻划属性值之间一对多的联系.

9 第四范式
设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X→→Y时,X必是R的超键, 那么称R是第四范式(4NF)。
(定理) 一个关系模式若属于4NF,则必然属于BCNF。
  • 大小: 1.8 KB
  • 大小: 2 KB
  • 大小: 3.3 KB
  • 大小: 3.3 KB
分享到:
评论

相关推荐

    数据库系统原理总结.pdf

    数据库系统原理总结 重新拿起数据库原理,感觉明显不⼀样了。重新学习,学到的东西多了很多,出来混总是 要还的,上次不会的,这次都得重新学⼀次。关于数据库系统原理,我来讲讲我⾃⼰的理 解:主要内容有:数据库...

    数据库原理2研讨ppt

    1. 已知R(A,B,C,D,E,F,G,H,I,J),F={AB→E,ABE→FG,B→FI,C→J,CJ→I,G→H},求最小函数依赖集,然后分解成三范式的关系模式集合,并判断该分解是否具有无损连接性。 2. 如下给出的关系R为第几范式?是否存在操作...

    数据库原理及应用考试复习题答案

    数据库考试复习题目及...2、已知关系模式R(TNAME,ADDRESS,C#,CNAME),它满足第几范式,能否分解成更高一级范式? TNAME ADDRESS C# CNAME t1 a1 c1 n1 t1 a1 c2 n2 t1 a1 c3 n3 t2 a2 c4 n4 t2 a2 c5 n2 t3 a3 c6 n4

    数据库原理医院数据库课程设计

    3.1 初始关系模式设计 8 3.1.1 转化原则 8 3.1.2转换结果 9 3.2关系模式规范化 9 3.2.1第三范式的定义 9 3.2.2 BCN范式的定义 9 4. 物理实现 10 4.1 用Access 2000分别创建六个表: 10 5. 研制报告 14

    自考:数据库系统原理-(考点).doc

    什么是范式/第一范式/第二范式/第三范式 范式:关系数据库中的关系需要满足一定的要求,不同程度的要求成为不同的范式( NF) 第一范式:设R为任一给定关系,如果R中的每个列与行的交点处的取值都是不可再分 的基本...

    自考04735数据库系统原理章节重点及习题

    《数据库原理及应用》复习重点 第一章 数据库系统基本知识,第一章 复习题 要求、目标: 了解和掌握数据管理技术的发展阶段,数据描述的术语,数据抽象的四个级别,数据库管理系统的功能,数据库系统的组成。 第二章...

    数据库设计原理实例讲解

    5.1. 关系数据库设计中存在的问题 18 5.2. 规范化理论 19 5.2.1. 函数依赖 19 5.2.2. 依赖实例 21 5.2.3. 多值依赖 22 5.3. 范式理论 22 5.3.1. 规范化步骤 24 5.3.2. 范式之间的关系 24 5.3.3. 小结 25 6. 物理设计...

    4735-数据库系统原理.doc

    能否保持原来的函数依赖关系,用"保持FD"特性表示 3 关系模式的分解标准 "范式 "特点 "分解特征 " " " "无损分解 "保持FD " "1NF "字段是不可再分的原子值 " " " "2NF "非主键字段完全依赖主键 "是 "是 " "3NF "非...

    数据库+研究生复试+求职+面试题

    汇总了计算机研究生复试有关编译原理各章节简答题,使用了易于口头表达的语言进行了总结。包括数据库基本概念及各章节问题回答。可供研究生复试或相关专业岗位面试使用。 1. 基本术语 数据、数据库、数据库管理系统...

    数据库系统原理练习.doc

    设关系模式R(A,B,C),F={AC B,AB C,B C},则R最高属于第几范式?说明理 由。 29.写出Armstrong推理规则中自反律、增广律、传递律的形式化定义。 30.简述对嵌入式SQL进行预处理的作用和过程。 31.简述日志...

    网络数据库课件ppt(web数据库ppt)

    (1)掌握关系、关系模式、关系数据库、关系代数 (2)理解关系的完整性 2.重点、难点 重点:关系代数以及关系代数的基本操作 (三)关系数据库标准语言SQL ( 2学时) 1、SQL概述2、数据定义、查询、更新3、视图、...

    数据库系统原理》.xls

    ΠL(σF(E)) σF(ΠL L1(E)),4,B 1,若关系模式R中的函数依赖的决定因素都是键,则R所属的最高范式是( )。,A.1NF B.2NF C.3NF D.BCNF,4,D 1,"设E是关系代数表达式,F是选取条件表达式,并且只涉及A1,…An属性,则有...

    数据库设计培训.pptx

    数据库设计概述 什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,...

    数据库系统原理A.pdf

    R A B C a b c d a f c b d S A B C b g A d a F 山东海天软件工程专修学院模拟试卷 《数据库系统原理》A试卷 1、 单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目...

    数据库复习资料选择填空简答题.doc

    5. 如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是 3NF 6. 设关系模式R(A,B,C,D),函数依赖集F={AB→C,D→B},则R的候选码为 AD 。 7. 从关系规范化理论的角度讲,一...

    第3章 关系模式设计理论 3.2 函数依赖和3.3范式.flv

    数据库系统原理

    图书馆数据库管理系统.doc

    第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一 范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列 都是不可分割的基本数据项,同一列...

    第3章 关系模式设计理论 3.6 多值依赖和第4范式.flv

    数据库系统原理

Global site tag (gtag.js) - Google Analytics