2018-08-29 关系数据理论

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

数据依赖的类型:函数依赖(FD),多值依赖(MVD)。

关系模式中存在的问题:数据冗余太大;更新异常;插入异常;删除异常。原因:由存在于模式中的某些数据依赖引起的。解决方法:通过分解关系模式来消除其中不合适的数据依赖。

规范化理论是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖。


函数依赖,设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等,则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。X称为这个函数依赖的决定属性集(Determinant)。Y=f(X)。

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

在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y 不属于 X,则称X→Y是非平凡的函数依赖。若X→Y,但Y 属于 X, 则称X→Y是平凡的函数依赖。

在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’ 不决定 Y, 则称Y完全函数依赖于X,记作X F→ Y。若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P→ Y。

在关系模式R(U)中,如果X→Y,Y→Z,且Y 不属于 X,Y!→X,则称Z传递函数依赖于X。注: 如果Y→X, 即X←→Y,则Z直接依赖于X。

设K为关系模式R<U,F>中的属性或属性组合。若K F→ U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。

关系模式 R 中属性或属性组X 并非R 的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。


范式是符合某一种级别的关系模式的集合;关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。

某一关系模式R为第n范式,可简记为R∈nNF。

如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。第一范式是对关系模式的最起码的要求,不满足第一范式的数据库模式不能称为关系数据库;但是满足第一范式的关系模式不一定是一个好的关系模式。

若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题,但并不能完全消除各种异常和数据冗余。

关系模式R<U,F>中若不存在这样的码X、属性组Y及非主属性Z(Z 不属于 Y), 使得X→Y,Y !→ X,Y→Z,成立,则称R ∈ 3NF。若R∈3NF,则R的每一个非主属性既不部分函数依赖于候选码,也不传递函数依赖于候选码。采用投影分解法将一个2NF的关系分解成多个3NF的关系,可以在一定程度上解决原关系中存在的问题,但不能完全消除。

设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。每一个决定属性集都包含候选码;R中的所有属性都完全函数依赖于码。没有任何属性对码的部分函数依赖和传递函数依赖。如果R∈3NF,且R只有一个候选码,则R必属于BCNF。所有非主属性完全函数依赖于每个候选码;所有主属性完全函数依赖于每个不包含它的候选码;没有任何属性完全函数依赖于非码的任何一组属性。


关系数据库的规范化理论是数据库逻辑设计的工具;一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但只是最基本的规范化;规范化可以有多个不同级别。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。

关系模式规范化的基本步骤。1NF→2NF,消除非主属性对码的部分函数依赖;2NF→3NF,消除非主属性对码的传递函数依赖;3NF→BCNF,消除主属性对码的部分依赖和传递依赖;BCNF→4NF,消除非平凡且非函数依赖的多值依赖。整体思想:消除决定属性集非码的非平凡函数依赖。

规范化的基本思想:消除不合适的数据依赖;各关系模式达到某种程度上的“分离”;采用“一事一地”的模式设计原则;所谓规范化实质上是概念的单一化。


对于满足一组函数依赖 F 的关系模式R<U,F>,其任何一个关系r,若函数依赖X→Y都成立, 则称F逻辑蕴含X →Y。

一套推理规则,是模式分解算法的理论基础。用途:求出给定关系模式的码;从一组函数依赖求得蕴含的函数依赖。

Armstrong公理系统。关系模式R<U,F>来说有以下的推理规则: Al.自反律(Reflexivity):若Y 属于 X 属于 U,则X →Y为F所蕴含。 A2.增广律(Augmentation):若X→Y为F所蕴含,且Z 属于 U,则XZ→YZ为F所蕴含。A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。

导出规则。合并规则:由X→Y,X→Z,有X→YZ。(A2, A3)伪传递规则:由X→Y,WY→Z,有XW→Z。(A2, A3)分解规则:由X→Y及 Z属于Y,有X→Z。(A1,A3)

根据合并规则和分解规则,X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)。

在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F+。

设F为属性集U上的一组函数依赖,X属于U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包。

设F为属性集U上的一组函数依赖,X,Y 属于 U,X→Y能由F 根据Armstrong公理导出的充分必要条件是Y 属于 XF+。

如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。F+ = G+ 的充分必要条件是F 属于 G+,和G 属于 F+。

如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。F中任一函数依赖的右部仅含有一个属性;F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价;F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A} ∪ {Z→A}与F等价。

每一个函数依赖集F均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集。


三种模式分解的等价定义:分解具有无损连接性;分解要保持函数依赖;分解既要保持函数依赖,又要具有无损连接性。

关系模式R<U,F>的一个分解:ρ={ R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>},U=U1∪U2∪…∪Un,且不存在 Ui 属于 Uj,Fi 为 F在 Ui 上的投影。

函数依赖集合{X→Y | X→Y 属于 F+∧XY 属于 Ui}的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影。

关系模式R的一个分解 ρ={ R1,R2, …,Rn}。若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Lossless join)。具有无损连接性的分解保证不丢失信息;无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题。

设关系模式R被分解为若干个关系模式R1,R2,…,Rn(其中U=U1∪U2∪…∪Un,且不存在Ui 属于 Uj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preserve dependency)。

如果一个分解具有无损连接性,则它能够保证不丢失信息;如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况;分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。

判别一个分解的无损连接性。建立一个n列k行的表。填入ai,或bij;对每个函数依赖做下列操作:找到Xi所对应的列中具有相同符号那些行,若其中有ai ,则全部改成ai ;否则全部行号最小的bij 。若某个bij被更改,那么该表中其它相同bij均做相同的更改;比较扫描后有无变化,无变化则终止。若表中有全a行,则分解具有无损连接性。

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

推荐阅读更多精彩内容

  • 一、数据关系 关系数据库可能存在的问题 1.数据冗余(必然存在,但应该尽量少) 2.更新冗余 3.插入冗余 4.删...
    一村之里正阅读 1,988评论 0 3
  • 有时候,当我们学会了后悔,才会坚定的知道某些事我们做的不后悔;有时候当我们还没来得及学会后悔,某些事却早已远远的离...
    倾耳听风阅读 183评论 2 1
  • 问:为什么天空不会游泳? 答:因为他没有好好练习游泳。 问:为什么阳光越来越强了? 答:因为海豹王说了阳光越来越强...
    陆_79f8阅读 168评论 0 0
  • 2/2 2016 雪转晴 天亮窗外,屋顶和乒乓球台,如昨日所愿有一片洁白,虽远非天地骀荡的水晶世界,但玩玩雪,打...
    抓星星的小超阅读 376评论 4 1