当前位置:文档之家› 五、规范化理论

五、规范化理论

第五章关系数据库的规范化理论 1 数据依赖1.1 函数依赖 1.1 函数依赖1.1 函数依赖 1.1 函数依赖1.2 完全函数依赖 1.2 完全函数依赖1.4 传递函数依赖1.4 传递函数依赖定义:在关系R中,当且仅当X →Y,(Y ⊆X,1.5 关键字(码) 1.5 关键字(码)1.5 关键字(码) 1.5 关键字(码)确定型联系:连接联系系/1教师/32 规范化理论不合法的关系2 规范化理论例如某书店的订购图书登记表如下:将上表中重复组进行分解,得到下表,满足1NF。

2.1 第一范式2.1 第一范式订单订户号姓名地址书号书名BN出版单位单订购数2.1 第一范式出现以上问题的原因是什么呢?2.2 第二范式 2.2 第二范式满足了2NF,但是还存在以下三个问题:2.2 第二范式NOBO2.3 第三范式定义:若关系R∈2NF ,且每个非键属性都不传递函数2.4 BCNF*SNC(SO,PO,CO,G) )2.4 BCNF*2.4 BCNF *2.4 BCNF小结小结在关系数据库里,对关系的基本要求是满足第一范小结2.5 多值依赖与第四范式例如,在教学管理中有关系模式CTX (C,T,X),具有下列约束:数学分析原理李军数学数学分析教程李军数学微积分学李军数学微积分学张华数学数学分析原理张华数学2.5 多值依赖与第四范式2.5 多值依赖与第四范式存在问题:2.5 多值依赖与第四范式 2.5 多值依赖与第四范式多值依赖与函数依赖的区别与联系:2.5 多值依赖与第四范式 2.5 多值依赖与第四范式2.5 多值依赖与第四范式2.5 多值依赖与第四范式4NF 定义:设关系模式R<U,F>∈1NF,如果对于R 的每个非2.5 多值依赖与第四范式可以将CTX 分解成CT 和CX 来解决上面的问题,CT 和CX 都满足4NF 。

2.6 连接依赖与第五范式2.6 连接依赖与第五范式2.6 连接依赖与第五范式AFP JEEP TRUCK CAR PRODUCT TOYOTA SMITHFORD SMITH FORD SMITHFACTORY AGENT TRUCK FORD JONES TRUCKFORDSMITH假设关系AFP有三个元组:1、2、3;现在AFP中加入元组4:(JONES,FORD,TRUCK) ↵2.6 连接依赖与第五范式连接依赖:设关系模式R,其属性集为U,X 1, X 2, …X k 为2.6 连接依赖与第五范式AFPTRUCK TOYOTA SMITH JEEPFORDSMITHCAR FORD SMITHPRODUCT FACTORY AGENTTOYOTAFORD SMITH FACTORY AGENT AFTRUCK JEEPCAR SMITH PRODUCT AGENT APTRUCK TOYOTA JEEPFORDCAR FORD PRODUCT FACTORY FP关系AFP (AGENT,FACTORY,PRODUCT)存在三个属性子集:2.6 连接依赖与第五范式AFP TOYOTA SMITH FORD SMITH FACTORY AGENT AFJEEP SMITH TRUCK TRUCKJONESCAR SMITH PRODUCT AGENT APTRUCK TOYOTA JEEP FORD TRUCKFORDCAR FORD PRODUCT FACTORYFPFORDJONESJEEP TRUCK CAR PRODUCT TOYOTA SMITHFORD SMITH FORD SMITHFACTORY AGENT TRUCK FORD JONES TRUCKFORDSMITH2.6 连接依赖与第五范式5NF:在关系模式R中,如果存在连接依赖,则每个连接依赖2.6 连接依赖与第五范式2.7 关系模式的分解2.7 关系模式的分解 2.7 关系模式的分解关系模式的规范化过程就是用一组子关系等价地2.7.1 无损失连接性的分解2.7 关系模式的分解关系模式R(U)的分解是将它用其子关系模式2.7.2 保持函数依赖的分解 2.7.2 保持函数依赖的分解2.7.2 保持函数依赖的分解612.7关系模式的分解 :实例62保持函数依赖性分解的定义: 设关系模式R <U,F>,F是其满足的函数依赖的集合, ρ ={R1<U1,F1>,R2<U2,F2>,…,RK<Uk,Fk>} 是 R 的一个分解, 若所有 Fi(i-=1,2,..k) 的并集逻辑蕴含 F 中的全部函数依赖, 则该分解ρ具有保持函数依赖性。

例如,关系SCM(SO,CLS,MON)‹属性集:SO(学号),CLS (班级), MON (班主任)。

‹语义:一个学生只属于一个班; 一个班有多个学生; 一个班只有一个班主任;1具有无损连接性:一定能达到BCNF.。

2保持函数依赖:一定能达到3NF.,而不一定能达到BCNF.。

3既保持函数依赖,又具有无损连接性:一定能达到 3NF.,而不一定能达到BCNF. 。

一个老师可以做多个班的班主任。

‹函数依赖集: SO→CLS, CLS →MON, SO →MON(传) ‹该关系满足2NF。

2.7关系模式的分解 :实例632.7SCMSO 01 02 03 04 05 CLS 51 51 62 61 61 MON 王明 王明 张芳 张芳 张芳关系模式的分解 :实例SMSO 01 02 03 04 05 MON 王明 王明 张芳 张芳 张芳 SO 01 02 03 03 04 04 05 0564为了提高范式等级将关系SCM(SO,CLS,MON)进 行分解,有三种分解方案:SM |×| CMCLS MON 51 51 62 61 62 61 62 61 王明 王明 张芳 张芳 张芳 张芳 张芳 张芳ρ1={ SM(SO,MON), CM(CLS,MON) } ρ2={ SC(SO,CLS), SM(SO,MON) } ρ3={ SC(SO,CLS), CM(CLS,MON) }三种分解所得到的新关系,都满足3NF。

CMρ1不具有无损失连接性。

CLS MON 51 62 61 王明 张芳 张芳2.7关系模式的分解 :实例652.7S-C-MSO 01 02 03 04 05 CLS 51 51 62 61 61 MON 王明 王明 张芳 张芳 张芳关系模式的分解 :实例S-M S-MSO 01 02 03 04 05 SO 01 02 03 04 05 MON 张芳 王明 张芳 张芳 张芳 SO 01 02 03 04 05 MON 王明 王明 张芳 张芳 张芳66由于61班和62班的班主任都是张芳,因此从分解后 的新关系中无法判别03,04,05号学生的班级,分解后 的新关系SM |×| CM与原关系SCM的内容不同,说明丢 失了信息。

产生这种现象的原因是,在ρ1分解得到的新关系 中,SO→CLS未被保持。

S-CSO CLS 01 02 03 04 05 51 51 62 61 61S-C 01学生 从51班 转到 62班CLS 62 51 62 61 61ρ2:新关系S-M和S-C 不相互独立112.7关系模式的分解 :实例672.7SCMSO 01 02 03 04 05 CLS 51 51 62 61 61 MON 王明 王明 张芳 张芳 张芳关系模式的分解 :实例SCSO 01 02 03 04 05 CLS 51 51 62 61 61 SO 01 02 03 04 0568ρ2分解将原关系模式分解成S-C(SO,CLS)和SM(SO,MON)两个关系没有在分解中丢失了信息。

但是 当01学生从51班转到62班时,不仅要修改关系S-C中学号 是01的那个元组的CLS属性,还要修改关系S-M中相应元 组的MON的属性值。

在关系SM中本没有属性CLS,却 在修改CLS值时要作相应修改。

这样的分解显然不好, 分解后的新关系彼此不能相互独立。

产生这种现象的原因同样是,在ρ2分解得到的新关系 中,CLS →MON未被保持。

SM |×| CMCLS MON 51 51 62 61 61 王明 王明 张芳 张芳 张芳ρ3既具有无损失连接性, 新关系相互独立, 又保持函数依赖。

CMCLS MON 51 62 61 王明 张芳 张芳2.7关系模式的分解 :实例692.7关系模式的分解 :实例70ρ3={SC(SO,CLS), C-M(CLS,MON)}分解 得到的两个 新关系 {SC(SO,CLS)和 CM(CLS,MON分别使用了原关 系的两个完全函数依赖,蕴含了原来的传递函数依赖, 既未丢失信息,新关系之间又相互独立。

总之,分解是用原来关系的若干投影来构造新的关 系模式。

在实际应用中,要对问题作深入的分析,分解 时要注意使用原关系模式中函数依赖的合适部分,这样 才能保证分解既不损失连接性,又不丢失信息,而且·分解 后的关系又能相互独立。

3. 规范化总结™在关系数据库里,对关系的基本要求是满足第一范 式,满足第一范式的关系就是合法的、允许的,但是 人们发现有些关系存在插入、删除异常、数据冗余等 毛病。

人们寻找解决这些问题的办法,这就是规范化 的目的。

™范式级别越高,关系越规范。

713. 规范化总结不合法关系 消去重复组 1NF 消去非键属性对码的部分函数依赖 2NF72消除决定因 素不是码的 函数依l赖消去非键属性对码的传递函数依赖 3NF 消除键属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF 消除连接依赖 5NF123. 规范化总结™规范化的基本思想是逐步消除数据依赖中不合适的部分,使关 系模式达到某种程度的“分离”,让一个关系描述一个概念、一个 实体或者一种联系,若多于一个概念就把它“分离”出去。

因此所 谓规范化实质上是让关系的概念单一化。

733. 规范化总结™规范化的好处n使用方便,关系中的每一个数据项都是简单数据项,不是一组 数或一个重复组。

所有元组包含的数据项的个数是相等的,这样 可以很方便的存储单个数据项或一组数据项。

o可消除对数据进行插入、删除和修改时的相互牵扯,保持了数 据的一致性。

p对数据库引入新型数据时,可减少对原有关系结构的修改。

q提高了存储空间的利用率,避免重复存储,降低了数据的冗余 度。

r具有可联性。

将不规范的关系分解成多个规范化的关系后,可 通过外来关键字来实现关系之间的各种联系。

74关系模式的规范化过程就是用一组子关系等价地代替原 有关系的过程,所谓等价是既不增加也不丢失信息,分解的四个层次: 1.不增加,也不丢失属性 2.不损失连接性 3.关系模式互相独立 4.保持函数依赖性3. 规范化总结™关系模式的规范化原则 :n从存储空间考虑,范式级别越高越好。

相关主题