数据库的前世今生10

数据库的前世今生10

[键入文档标题]

[键入文档副标题]

[在此处键入文档摘要。摘要通常为文档内容的简短概括。在此处键入文档摘要。摘要通常为文档内容的简短概括。]


 


数据库的前世今生

关系数据库的规范化设计

[键入提要栏标题]

 [键入提要栏内容。提要栏独立于主文档,是对主文档的补充。提要栏通常放置在页面的左侧或右侧,也可以放置在页面的顶端或底端。请使用绘图工具选项卡更改提要栏文本的格式。]

² 关系模式的设计问题

1.       关系模式的外延和内涵

一个关系模式包含外延【Extension

和内涵【Intersion

1.1  外延关系,表,当前值,外延与时间有关,在时间的推移之下,不断发生变化。

1.2  内涵是与时间独立的,是对数据定义及数据完整性约束的定义,

对数据的定义:

包括关系,属性,域的定义和说明

对数据约束性定义主要包括一下俩个方面:

1.2.1         静态约束

涉及数据之间的联系,主键和值域的设计

1.2.2         动态约束

定义各种操作(插入,删除,修改)对关系值的影响。

 

 

 

2.       关系模式的冗余和异常问题

数据多余是一个问题。简单来说就是一个数据在一个文件系统中多次储存,由于文件之中没有联系,引起一个数据在多个文件中出现。

但是,数据库系统克服了这个问题,

但是,对于数据多余这个问题,我们依然要注意,如果一个数据库设计的不好,那么,会有多个问题出现。

一般遇到的问题有:

1.      数据多余

关系模式有数据多余,就分解它。

2.      操作异常

2.1  修改异常

2.2  插入异常

2.3  删除异常

 

 

 

3.       关系模式的非形式化设计准则

考虑关系模式的质量:有四个非形式化的衡量标准。

标准1.

    关系模式的设计尽可能:每一个关系模式对应一个实体类或者联系类型

标准2.

    关系模式的设计尽可能: 使得相应的关系中不会下出现过插入,删除,修改的操作的异常,如果有,则要有明确的操作提示。确保数据库的操作正常的执行。

标准3.

    关系模式的设计尽可能:对应的关系中有经常放置为NULL的属性。

标准4.

    关系模式的设计尽可能:是对应的关系进行等值连接在主键和外键上进行操作,并且确保操作之后不会生成额外的元组。

4.       符号规定

单个的属性 :                   A,B,C……

属性集:                   ……U,V,W,X,Y,Z

关系模式:                       R

     其关系:              r

关系模式:                     ABC [属性名组合写法]

属性集:                          {A1,A2,……,An}

简写A1,A2,……,An

属性集的并集:             XY,简写XY

                              X{A},简写 XAAX

            

 

 

² 函数依赖

在数据依赖中,函数依赖最为最要

1.       函数依赖的定义

.

.如果X――>Y,与Y<――X同时成立,

则有: X<――>Y

也就是,在关系中,XY具有意义对应的关系

 

 

2.       FD[Function Dependency]的逻辑蕴含

有关系R

FR上的函数依赖集合

有一个函数依赖  X-->Y

If 对于每一个在F中的关系r,都满足XàY

So F 逻辑蕴含 XàY. F|=XàY

 

F为函数依赖集,F逻辑蕴含的函数依赖全体构成的集合,称为函数依赖集F的闭包(Closure),记为F+.

:    F+ = {XàY| F |= XàY}

 


 

 

 

 

3.       FD的推理规则

大概就是在都说:由以知的FD 通过一下FD的推理规则,推导出另外的FD.

A1.       自反性                  Y属于X属于;  XàY

A2.       增广性           Xàand Z属于R ; XZ  à YZ;

A3.       传递性           XàY and Yà; XàZ

A4.       合并性           Xà Y andXà; x à YZ;

A5.       分解性           Xà Y andZ属于; Xà Z

A6.       伪传递性              Xà Y andWY àZ ; WX à Z

A7.       复合性           Xà Y and Wà Z ; XW à YZ

A8.       通用一致性定理        Xà Y and Wà Z ; {X(W-Y)à YZ}

 

平凡的FD:

     Y属于X

     XàY

非平凡的FD:

 

 

 

4.       FD和关键码的联系

R = {U}  U为关系模式R上的属性集

X属于U ,XU的子集

If   {XàU}

XR的一个超键

               If{XàU&&(X1àU)}

XR的一个候选键

 

5.       属性集的闭包

F(属性集U)FD

X属于U.XU的子集

属性集X 的闭包用X+表示

X+ 是一个(Xà(属性)A)集合

 

XàY 能用推理规则推出  充分必要  Y属于X+

6.       FD推理规则的完备性

推理规则的正确性:

使用FDF 通过推理规则集推出的FD一定在F+.

                 推理规则的晚辈性;

                         F+ 中的FD都可以通过F使用推理规则集推导而出

                 完备集保证了可以推出所有被蕴含的FD,保证了推到的有效性和可靠性

 

 

7.       FD集的最小依赖集

If 关系模式R(U)有俩个函数依赖集:F,G.

F+=G+.  : FG为等价的函数依赖集

 

函数依赖集F中的FD 很多,

去掉:平凡的FD,多余的FD,FD中的多余属性

求的:F等价的最小依赖集.

 

最小依赖集G的定义:

1.G中的每一个FD的右边都是单属性

2.G中没有多余的FD,

3.G中的每一FD的左边没有多余的属性

 

 

如何求解关系模式的最小依赖集:

 

² 关系模式的分解特性

1.       模式分解问题

有关系模式R(U)

属性集U

U的子集有: R1,R2,R3,,Rk

U = R1R2∪…∪Rk

关系模式R1,R2,,Rk的集合用p表示,

P = {R1,R2,,Rk}

p 代替 R的过程 称为  关系模式的分解

.p : R 的一个分解,[数据库模式]

 

R à泛关系模式

.p à数据库模式

R  à p {R1,R2Rk}

.r à a<r1,r1,,rk>

 

2.       无损分解

在五泛关系假设时,对俩个关系进行自然链接中丢失的元组被称为悬挂元组,

悬挂元组是造成俩个关系之间不存在泛关系的原因

 

悬挂元组是造成俩个关系不存在泛关系的原因

3.       模式分解的优缺点

模式分解的优点

                                                                       i.             模式分解可以消除,数据多余,操作异常的情况

                                                                     ii.             在分解了的数据库中可以储存悬挂元组,储存泛关系中无法储存的信息

模式分解的缺点:

                                                                       i.             分解后,检索操作需要做笛卡尔积或连接操作需要大的时间,

                                                                     ii.             在有泛关系假设时,对数据库进行连接操作时,会产生寄生元组,即损失了信息,

                                                                   iii.             在无泛关系假设时,由于数据库可能存在悬挂元组,就可能不存在泛关系

 

 

 

4.       无损分解的测试方法

在对关系R à P后,要看看她是不是无损分解,然后,有一个不知道交什么的人提出了一个追踪的方法,(Chase),来测试一个分解是否是一个无损分解。

 

但是,这是理论:

If p ={R1,R2} 是关系模式R的一个分解

{

     IfFR上成立的FD

     {

             If(R1R2)à(R1-R2)||(R1R2)à(R2-R1)

             {

                      是无损分解的<=>条件

             }

     }

}

 

If FD X—>YR上成立&&XY=

{

     .p= {R-Y,XY}  是一个无损分解

}

 

 

附录:关于如何判定一个分解是不是无损分解。

 

5.       保持函数依赖的分解

 

6.       模式分解与模式等价问题

 

² 关系模式的范式

第一范式

  如果一个关系模式R中,每一个关系r的属性值都是不可分割的原子值,那么称R是第一范式的模式。

 

第二范式

  如果一个关系模式中存在局部依赖,就不是一个好的模式,需要吧关系模式分解,以排除局部依赖,第二范式的三个重要定义:

 

 

 

第三范式BCNF

  第三范式的三个重要定义:

 

 

 

 

分解成BCNF模式集的分解算法

分解成3NF模式集的合成

模式设计方法小结

 

 

 

²模式的进一步规范化处理

多值依赖的定义

关于FDMVD的推理规则集

第四范式

嵌入多值依赖

连接依赖

第五范式

 


猜你喜欢

转载自blog.csdn.net/lpZhouYi/article/details/80587257