文档详情

单元关系数据理论.pptx

发布:2025-03-03约5.89千字共48页下载文档
文本预览下载声明

第七单元关系数据理论;关系数据库由一组关系组成

关系数据库的设计:如何构造关系?

如何解决数据冗余和更新异常问题;第七单元关系数据理论;7.1问题的提出

什么是数据依赖?

数据依赖是一种特殊的约束,定义属性值间的相互关连(主要体现于值的相等与否)。

一个关系内部属性与属性之间的约束关系;

现实世界属性间相互联系的抽象;

数据内在的性质;

语义的体现。

;7.1问题的提出;分析:数据依赖对关系模式的影响

[例1]创建关系模式sdc(Sno,Sname,dno,dmanager,cname,grade)。

单一的关系模式:sdc(U,F),U:属性集F:函数依赖集

U={Sno,Sname,dno,dmanager,cname,grade}

F={Sno→dno,Sno→Sname,dno→dmanager,(Sno,Cname)→grade}

分析:主码?

存在的问题:数据冗余、操作(增、删、改)异常。;原因:由存在于模式中的某些数据依赖引起的。

解决方法:通过分解关系模式来消除其中不合适的数据依赖。

如:将单一的关系模式分成3个关系模式:

S(Sno,Sname,dno,Sno→dno);

S_C(Sno,Cname,Grade,(Sno,Cname)→Grade);

D(dno,dmanager,dno→dmanager);;7.2规范化

规范化(理论)是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。;7.2规范化;需要区分的几种函数依赖(举例说明):

非平凡的函数依赖

平凡的函数依赖

完全函数依赖

部分函数依赖

传递函数依赖

;范式

范式是符合某一种级别的关系模式的集合。

关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。

范式的种类:

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)等。

;第一范式(1NF)--关系模式的基本要求

定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。

分析:关系模式sdc(Sno,Sname,dno,dmanager,cname,grade)∈1NF

主码:(Sno,Cname)(Sno,Cname)→dno

存在:非主属性(dno)对码(sno,cname)的部分函数依赖!

;第二范式(2NF)

定义若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。

例:sdc(Sno,Sname,dno,dmanager,cname,grade)∈2NF

分解后:sc(Sno,Cname,Grade)∈2NF

sd(Sno,sname,dno,dmanager)∈2NF

问题:将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。

(对sd关系模式进行分析!)

;原因:2NF关系模式sd(sno,sname,dno,dmanager)中函数依赖:

(sno→dno,dno→dmanager)?sno→dmanager

发现:

SD中存在非主属性(dmanager)对码的传递函数依赖!

这种函数依赖是导致冗余和异常的直接原因;

应设法消除关系模式中非主属性对码的传递函数依赖。

;第三范式3NF

定义关系模式RU,F中若不存在这样的码X、属性组Y及非主属性Z(Z?Y),使得X→Y,Y→Z成立,Y→X,则称RU,F∈3NF。

若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。

上例中,SD∈3NF;问题的解决

采用投影分解法,把SD分解为两个关系模式,消除传递依赖:

s(sno,sname,dno)

d(dno,dmanager)

s的码为sno,d的码为dno。

分解后的关系模式s与d中不再存在传递依赖,均属于3NF。;BC范式(BCNF)

例题分析

关系模式STJ(S,T,J),S表示学生,T表示教师,J表示课程。

应用语义:

每个教师只教一门课;

每门课可以有多个教师;

每个学生选定某门课,就

显示全部
相似文档