首页 > 编程知识 正文

怎样数据库关系模式优化,数据库模式规范化处理

时间:2023-05-04 19:32:26 阅读:143639 作者:927

关系数据库规范化理论是数据库逻辑设计的工具

一种关系,如果是分量不可分离的数据项,是规范化的关系,但这只是最基本的规范化

规范化程度有六个不同的层面,即六种范式

正规化程度过低的关系不一定能很好地表现现实世界,可能存在插入的差异

典型地,诸如异常删除、复杂修改、数据冗馀等的问题,解决方案是对其进行规范

转换为高级范式。

通过模式分解可以转换为几个高层范式的低层范式的关系模式

关系模型的集合。 这个过程称为关系模型的规范化。

1 .关系模型规范化的步骤

消除确定属性集非代码的非平凡函数依赖

1NF-消除部分非主属性对代码的函数依赖

2NF-消除非主属性对代码的传递函数依赖

3NF-消除主属性对代码部分和传递函数的依赖

BCNF-消除非平凡且非函数依赖的多值依赖

4NF-消除未包含在候选代码中的连接依赖

5NF

规范化的基本思想是,逐步消除数据依存中的不恰当部分,将模式中的各关系

模式达到一定程度的“分离”

也就是说,采用“一事一地”的模式设计原则,使一个关系描述一个概念、一个实体

或实体间的联系

如果有多个概念,则将其“分离”。 因此,规范实质上是概念的单一

不能说规范化程度越高的关系模式越好

在设计数据库模式结构时,必须适应现实世界的实际情况和用户APP的需要

进一步分析,确定能够反映现实世界的合适模型

上述归一化步骤可以通过任意一个步骤结束

关系模型的规范化过程是通过关系模型的分解来实现的

-将低级别关系模式分解为几个高级别关系模式的方法不是唯一的

-在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的人

法才有意义

将一个关系模型r(u,f )分解为多个关系模型R1(U1,F1 )、R2 (U2,F2 )、rn (un,Fn )

-其中U=U1U2. Un,并且不存在UiUj,其中Fi是f在Ui上的投影

意味着相应地把存储在一个二维表t中的数据分布在几个二维表t1、t2、tn中

-其中ti是t在属性集Ui上的投影

判断关系模型分解是否等效于原始关系模型的标准

1 .分解不破坏连通性

2分解保持函数依赖

不破坏连通性的模分解

假设关系模型r(u,f )被分解为几个关系模型r1(u1,F1 ),R2 ) u2,F2 ),rn ) UN,Fn ) )

-其中U=U1U2.Un,并且不存在UiUj,其中Fi是f在Ui上的投影

-R和R1,R2,Rn的自然连接结果相等时,关系模型r的这种分解具有无损连接性(Lossless join )

保证只有不破坏连接性的分解才不会丢失信息

不破坏连接性并不一定能解决插入异常、删除异常、修正复杂性、数据冗馀性等问题

保持函数依赖的模式分解

假设关系模型r(u,f )被分解为几个关系模型r1(u1,F1 ),R2 ) u2,F2 ),rn ) UN,Fn ) )

-其中U=U1U2.Un,并且不存在UiUj,Fi在逻辑上包含在向f的Ui的投影f中的函数依赖也一定可以通过分解得到

如果某个关系模型中的函数依存Fi在逻辑上被包含,则关系模型r的该分解被称为维持函数依存关系。

关系模型的分解

如果分解不破坏连接性,则可以避免信息丢失

如果分解保持函数依赖关系,则可以减少或解决各种异常

分解具有无损连接性和分解保持函数依赖性是相互独立的两个标准

-不破坏连接性的分解,不一定能维持函数依赖性

-同样,维持函数依赖的分解也不一定会破坏连接性

-如果要求分解不破坏连接性,模式分解必须达到4NF

-当需要依赖于分解保持函数时,模式分解一定达到3NF,但不一定达到BCNF

-在要求不损害结合性、维持函数依赖性的分解的情况下,图案分解一定会达到3NF,但不一定能达到BCNF

规范化理论为数据库的逻辑设计提供了理论指导和工具

只有指南和工具

归一化程度越高,图案并不是越好

应根据APP应用环境和现实世界的情况合理选择数据库模式

总结:

判断关系模型分解与原始关系模型等价性的标准:

不破坏连接性:自然连接后的数据与原始数据一致吗

保持数据相关性:自然连接后,是否失去了原始函数相关性

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。