999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用一個實例講解關系數據理論中的規范化問題

2008-01-01 00:00:00王春紅
計算機教育 2008年1期

摘 要:規范化問題是關系數據理論的重點和難點,僅從理論上作出解釋,很難使學生理解,本文提出通過一個完整的實例,采用逐步深入的方法解決關系模式中存在的問題,使學生加深對規范化理論的理解。

關鍵詞:數據依賴;規范化;范式

中圖分類號:G64

文獻標識碼:B

文章編號:1672,5913f2008)O1-0051-03

1 問題的提出

我們建立一個描述學校教務的數據庫,該數據庫涉及的對象包括學生的學號(sno)、學生姓名(sname)、所在系(sdept)、系主任姓名(Mname)、教師姓名(Tname)、課程號(cno)、成績(Grade)。假設用一個單一的關系模式來表示,則該關系模式的屬性集合為:

U={Sno,Sname,Sdept,Mname,Tname,Cno,Grade}

從這個關系模式中,我們可以看出存在以下問題:

(1)數據冗余太大

比如:Sdept,Mname等列中數據項重復出現,這將浪費大量的存儲空間。

(2)更新異常(update Anomalies)

由于數據冗余,當更新數據庫中的數據時必然造成麻煩,例如,張一改

換了系,從計算機系調到自動化系,則需從整個關系中逐一找到其對應的元組進行修改,若漏改一處則造成數據矛盾。

(3)插入異常(InsertionAnomalies)

在StudentI表中,主碼是由學號和課程號組合而成的,兩者取值都不允許是空值。這樣,若有一新學生來報道,會由于他沒有選修任何一門課程而無法將其信息插入表中,這樣就形成了插入異常。如果一個系新成立,尚無學生,就無法把這個系及其系主任的信息存入數據庫,這樣也形成了插入異常。

(4)刪除異常(Deletion Anomalies)

在Studentl表中,若刪除張三,則整個元組不復存在,連同自動化系主任吳總這一信息也會一并刪掉,這樣會引起信息丟失。

關系數據庫規范化理論是用來研究如何將一個“不好”的關系模型轉化為一個“好”的關系模型。其基本思想是通過合理的分解關系模式來消除其中不合適的數據依賴。以解決數據冗余、更新異常、插入異常、刪除異常問題。

2 函數依賴

函數依賴是數據依賴的重要組成部分,1NF,2NF,3NF,BCNF就是在函數依賴范疇內實現分離。函數依賴的定義:設R(u)是屬性集u上的關系模式。x,Y是的u子集。若對于R(u)的任意一個可能的關系r,r中不可能存在兩個元組在x上的屬性值相等,而在Y上的屬性值不等,則稱x函數確定Y或Y函數依賴于X,記作X->Y。

在R(u)中,如果x可以推導出Y,并且對于x的任何一個真子集x’,都有x’不可以推導出Y,則稱Y對x的完全函數依賴。本例可以看出的完全函數依賴為:(學號,課程名)——成績。

在R(u)中,如果x可以推導出Y,但Y不完全函數依賴于x,則稱Y對x部分函數依賴。本例可以看出的完全函數依賴為:學號——姓名,系。

在R(U)中,如果x可以推導出Y,Y不屬于X,Y可以推導出Z,則稱x對z的傳遞函數依。本例可以看出的傳遞函數依賴:學號——系——系主任。

3 規范化

規范化的基本思想是逐步消除數據依賴中不合適的部分,是模式中的各關系模式達到某種程度的分離,就是實現概念的單一化,關系模式的規范化過程是通過對關系模式的分解來實現的,把底一級的關系模式分解為若干個高一級的關系模式。關系數據庫規范化理論認為,一個關系數據庫中的每一個關系都必須滿足一定的約束條件,稱為范式。范式分為六個等級,一級比一級要求嚴格,一個較低范式的關系,可以通過關系的無損分解轉換為若干較高級范式關系的集合,這一過程就叫做關系規范化。

3. 1 1NF

在一個關系中,各字段均是不可再分的基本數據項,且不存在重復字段,則稱該關系滿足第一范式。第一范式的關系是從關系的基本性質而來的,任何關系都必須遵守。我們從表1中就可以看出第一范式不是一個好的關系,其原因就是關系模式存在數據冗余、更新異常、插入異常、刪除異常等問題。尋求解決這些問題的方法,這就是規范化的目的。

3.2 2NF

若R∈1NF,且每一個非主屬性都完全依賴于碼,則R∈2NF。

將1NF轉化為2NF,其實質是采用投影分解法,將一個1NF的關系無損分解為幾個2NF的關系。分解方式為:將部分函數依賴(學號——姓名,系)單獨提取出來,把表分解為Student2和SGrade,分別如表2、表3。

分析Student2,其中仍然存在以下問題:

(1)數據冗余大。計算機,王總各重復了兩次。

(2)更新異常。若計算機更換主任,則必須重復修改計算機每個學生對應的主任的名字,若漏改一處則造成數據矛盾。

(3)插入異常。如果新開設一個系,會因為沒有招生而不能插入相應的信息。

(4)刪除異常。若刪除張三,則整個元組不復存在,連同自動化系方面的信息一并刪掉,這樣會引起信息丟失。

存在以上問題的原因就是學生信息表中存在傳遞函數依賴:學號——系——主任。

3.3 3NF

關系模式R中若不存在這樣的碼x,屬性組Y及非主屬性z使得x->Y,Y->z成立,則稱R∈3NF。

要想使Student2滿足第三范式,就是消去掉表中的傳遞函數依賴,方法仍是對表的無損分解。分解方式為:將傳遞函數依賴單獨提取出來,把表分解為Student3和Sdeptxx,分別表4、表5。

分析Student3,仍然存在數據冗余問題。計算機重復了兩次。

分析SGrade,雖然滿足3NF,但仍然存在以下問題:(1)數據冗余大。趙一任C001這一信息重復了兩次。(2)更新異常。若趙一所帶的英語課程更換教師,則必須重復修改其所帶班級每個學生對應的任課教師的名字,若漏改一處則造成數據矛盾。(3)插入異常。如果新來了一個英語老師,會因為沒有學生選課而不能插入相應的信息。(4)刪除異常。若刪除S002號的C003成績,則整個元組不復存在,連同周一是C003的任課教師的信息一并刪掉,這樣會引起信息丟失。存在以上問題的原因就是學生成績表SGrade中存在作為非主碼的“任課教師”是決定因素。

4 結論

我們通過一個實例來很好地說明了INF到2NF,2NF到3NF的規范化過程,可以根據規范化理論把3NF分解到BCNF,4NF等更高的關系模式。從理論上講范式越高,規范化的程度就越高,關系模式就越好,但是,關系數據庫一定的冗余是必要的,因為表關聯時用的就是冗余列:另外,提高范式級別同時對數據庫訪問時間效率有時會有影響的,因為,表之間的關聯是要花費時間的,所以我們在進行關系模式分解的時候,要根據實際應用情況而定,以滿足一般程序設計的要求為標準,權衡考慮數據冗余、更新異常、插入異常、刪除異常問題。

主站蜘蛛池模板: 欧美亚洲中文精品三区| 青青青国产在线播放| 国产视频欧美| 亚洲一级毛片在线观播放| 亚洲人成影院午夜网站| 精品无码人妻一区二区| 国产成人免费观看在线视频| 国产精品无码在线看| 国产在线精彩视频论坛| 正在播放久久| 黄色成年视频| 国产精品男人的天堂| 一级毛片在线免费看| 欧美一级黄片一区2区| 国产在线八区| 亚洲一区二区精品无码久久久| 欧美影院久久| 一本一本大道香蕉久在线播放| 久久黄色小视频| 国产情精品嫩草影院88av| 免费观看三级毛片| 国产香蕉97碰碰视频VA碰碰看| 亚洲精品无码高潮喷水A| 欧美精品1区2区| 999国产精品永久免费视频精品久久| 精品国产一区二区三区在线观看 | 国产美女在线免费观看| 波多野结衣一区二区三区四区| 久久久久国色AV免费观看性色| 亚洲一区二区三区在线视频| 97久久超碰极品视觉盛宴| 天天综合色天天综合网| 久久久久亚洲av成人网人人软件| 国产精品免费p区| 国产在线视频导航| 成人免费午夜视频| 性做久久久久久久免费看| 久久夜色精品| 精品国产免费第一区二区三区日韩| 国产00高中生在线播放| 九九热精品视频在线| 日韩精品专区免费无码aⅴ| 亚洲成人一区在线| 欧美成人精品高清在线下载| 色综合中文| 国产成人乱无码视频| 91麻豆精品国产91久久久久| 久久精品aⅴ无码中文字幕| 天天综合网色中文字幕| 成年人视频一区二区| 亚洲区一区| 在线观看欧美国产| 97在线视频免费观看| 国产理论一区| 综合色婷婷| yjizz视频最新网站在线| 国产靠逼视频| 亚洲第一国产综合| 国产激情无码一区二区免费| 日本在线免费网站| 青草视频久久| 亚洲aaa视频| 久久人午夜亚洲精品无码区| AⅤ色综合久久天堂AV色综合| 九九视频在线免费观看| 色综合网址| 久久夜色精品国产嚕嚕亚洲av| 国产噜噜噜视频在线观看| 91麻豆国产在线| 日韩毛片免费视频| 97在线观看视频免费| 国产第一页免费浮力影院| 又黄又爽视频好爽视频| 无套av在线| 亚洲男人在线天堂| 91国内在线视频| 精品人妻系列无码专区久久| 免费看a毛片| 久久婷婷人人澡人人爱91| 免费午夜无码18禁无码影院| 亚洲永久免费网站| 中文字幕av一区二区三区欲色|