关系数据库理论

第5章 关系数据库理论

学习重点:

  • 关系的形式定义;
  • 数据以来的基本概念;
  • 范式的概念;
  • 第一、二、三、BC、四范式的定义;
  • 规范化的含义和作用

学习难点:

低级别范式向高级别范式的转换方法

5.1 问题的提出

概念回顾

关系

关系是描述实体、属性、实体间的联系,从形式上看,它是一张二维表,是所设计属性的笛卡尔积的一个子集。

关系模式

用来定义关系

关系数据库

基于关系模型的数据库,利用关系来描述现实世界,从形式上看,它是由一组关系组成的。

关系数据库的模式

定义这组关系的关系模式的全体

关系模式的形式化定义

关系模式由五部分组成,即它是一个五元组

R(U,D,DOM,F)

R:关系名

U:组成该关系的属性名集合

D:属性组U中属性所来自的域

DOM:属性向域的映像集合

F:属性间数据的依赖关系集合

数据依赖

完整性约束的表现形式

  1. 限定属性取值范围
  2. 定义属性值间的相互关联,这就是数据以来,它是数据库模式设计的关键

数据依赖

  • 数据依赖是通过一个关系中属性间值的相等于否体现出来的数据间的相互关系
  • 是现实世界属性间相互联系的抽象
  • 是数据内在的性质
  • 是语义的体现

数据依赖的类型

函数依赖和多值依赖

关系模式的简化定义

关系模式五元组可以简化为三元组

R(U,F)

当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系。

5.2 规范化

规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据以来,以解决插入异常、删除异常、更新异常和数据冗余问题。

5.2.1 函数依赖

函数依赖

定义5.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。
X称为这个函数依赖的决定因素(Determinant)。
X→Y,但是Y不包含于X则称X→Y是非平凡的函数依赖。
X→Y,但Y包含于X则称X→Y是平凡的函数依赖。
(学号、课程号->学号)

函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件
函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖。

定义5.2 在R(U)中,如果X决定Y并且对于X的任意一个真子集,都不能决定Y,则称Y对X完全函数依赖,记作X决F定Y,否则记作X决P定Y

定义5.3 在R(U)中,如果X决定Y,Y不决定X,Y决定Z,则称Z对X传递函数依赖。

5.2.2 码

定义5.4 设K为关系模式R<U,F>中的属性或属性组合。若K决F定U,则称K为R的一个候选码,若关系模式R有多个候选码,则选定其中一个做主码。

定义5.5 关系模式R中属性或属性组X并非R的码,但是X是另外一个关系模式的码,则称X是R的外码。

5.2.3 范式

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

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

一个低一级的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。

1NF

如果一个关系模式R的所有属性都是不可分的基本数据项,则称R属于第一范式

第一范式是对关系模式最起码的要求,不满足第一范式的数据库模式不能被称作关系数据库,但是仅满足第一范式的关系,不一定是一个好的关系模式。

2NF

若关系模式R属于第一范式,并且每个非主属性都完全函数依赖于R的码,则R属于第二范式。

采用投影分解法将一个第一范式的关系分解成多个第二范式的关系,可以一定程度上减轻第一范式中存在的关系模式问题。

将一个第一范式关系分解成多个第二范式的关系,并不能完全消除关系模式中的问题。

3NF

若关系模式R<U,F>中不存在这样的码X、属性组Y即非主属性Z,使得X决定Y,Y决定Z成立,则称R<U,F>属于第三范式。

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

如果R∈3NF,则R也是2NF。

采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。

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

BCNF

设关系模式R<U,F>属于第一范式,若X决定Y且Y不包含于X时X必含有码,则R<U,F>属于BC范式

每一个决定属性集(因素)都包含(候选)码;

R中的所有属性(主,非主属性)都完全函数依赖于码;

R∈3NF;

若R∈3NF,则R未必属于BCNF。

如果关系模式R∈BCNF,必定有R∈3NF

如果R∈3NF,且R只有一个候选码,则R必属于BCNF。

BC范式的关系模式所具有的性质

⒈ 所有非主属性对每一个码都是完全函数依赖。

⒉ 所有主属性对每一个不包含它的码,也是完全函数依赖。

⒊ 没有任何属性完全函数依赖于非码的任何一组属性。

多值依赖

设R(U)是属性集U上的一个关系模式, X、 Y、Z是U的子集,并且Z=U-X-Y,关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

平凡多值依赖和非平凡多值依赖

若X→→Y,而Z=φ,则称X→→Y为平凡的多值依赖,否则称X→→Y为非平凡的多值依赖

多值依赖的性质

(1)多值依赖具有对称性
若X→→Y,则X→→Z,其中Z=U-X-Y
多值依赖的对称性可以用完全二分图直观地表示出来。

(2)多值依赖具有传递性
若X→→Y,Y→→Z, 则X→→Z-Y

(3)函数依赖是多值依赖的特殊情况。
若X→Y,则X→→Y。

(4)若X→→Y,X→→Z,则X→→Y Z。

(5)若X→→Y,X→→Z,则X→→Y∩Z。

(6)若X→→Y,X→→Z,则X→→Y-Z,X→→Z -Y。

多值依赖与函数依赖的区别

多值依赖的有效性与属性集的范围有关。

若X→→Y在U上成立,则在W(X Y  W  U)上一定成立;反之则不然,即X→→Y在W(W  U)上成立,在U上并不一定成立。
多值依赖的定义中不仅涉及属性组 X和 Y,而且涉及U中其余属性Z。
一般地,在R(U)上若有X→→Y在W(W  U)上成立,则称X→→Y为R(U)的嵌入型多值依赖。

函数依赖X→Y的有效性仅决定于X,Y这两个属性集的值。

只要在R(U)的任何一个关系r中,元组在X和Y上的值满足定义5.1,则函数依赖X→Y在任何属性集W(X Y  W  U)上成立。

若函数依赖X→Y在R(U)上成立,则对于任何 Y'包含于Y
均有X决定Y'成立。
而多值依赖X→→Y若在R(U)上成立,不能断言对于任何 Y'包含于Y有 X决定Y'成立。

4NF

关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y  X),X都含有码,则称R<U,F>∈4NF。

4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每个非平凡的多值依赖X→→Y,X都包含有候选码,于是就有X→Y,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。

显然,如果R∈4NF,则必为BCNF。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容