国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談數(shù)據(jù)庫的范式分析

2018-06-04 03:42牛文穎紀(jì)寧大連科技學(xué)院
數(shù)碼世界 2018年5期
關(guān)鍵詞:出生日期范式課程

牛文穎 紀(jì)寧 大連科技學(xué)院

設(shè)計(jì)出一個(gè)合理實(shí)用的數(shù)據(jù)庫系統(tǒng)是目前應(yīng)用領(lǐng)域一個(gè)非常重要的課題,而范式分析理論正是數(shù)據(jù)庫設(shè)計(jì)的一個(gè)理論指導(dǎo),它可以判斷設(shè)計(jì)出的數(shù)據(jù)庫是否是一個(gè)好的數(shù)據(jù)庫模式。本文深入淺出地討論范式理論,以及如何將一個(gè)不好的關(guān)系模式轉(zhuǎn)換成好的關(guān)系模式,同時(shí)舉出實(shí)例分析研究。

1 第一范式

1.1 概念

任何一個(gè)關(guān)系模式都應(yīng)該滿足第一范式。第一范式是指關(guān)系中的所有屬性都是不可再分的數(shù)據(jù)項(xiàng)[1]。比如下表對屬性電話進(jìn)行了分解,使得該關(guān)系不能成為第一范式。

姓名 電話年齡手機(jī) 座機(jī)大寶 13612345678 021-9876543 22

又如關(guān)系模式:單位(單位號,員工號,單位地址,單位電話),一個(gè)單位有多個(gè)員工,所以員工號有多個(gè)值,也使得該關(guān)系模式不能成為第一范式。綜上兩個(gè)實(shí)例滿足第一范式的關(guān)系,其屬性和屬性值都不能再分。

1.2 存在操作異常

第一范式存在的問題:

對關(guān)系模式選課(學(xué)號,姓名,性別,出生日期,系號,系名,系地址,課程號,課程名,學(xué)分,成績)進(jìn)行范式分析。

數(shù)據(jù)插入異常:關(guān)系模型選課滿足第一范式。主鍵是(學(xué)號,課程號)。現(xiàn)有需求如下:一個(gè)新生報(bào)道,還沒有選修課程。該新生信息(3,王芳,女,1990-3-3),是否能插入到選課關(guān)系中。根據(jù)實(shí)體完整性約束,主鍵的每個(gè)屬性都不能為null的原則。該新生沒有選課,不能插入到選課關(guān)系中,所以對于第一范式存在插入異常。

數(shù)據(jù)刪除異常:如果某個(gè)學(xué)生只選修了一門課,由于某種原因,這個(gè)學(xué)生不選課了,因此要?jiǎng)h除該學(xué)生的選課記錄。這次刪除意味著學(xué)生的信息也不復(fù)存在了。這種情況稱為刪除異常。

數(shù)據(jù)修改異常:如果某個(gè)學(xué)生選課信息發(fā)生變化,比如1號“莉莉”由D1改為D2,不僅要修改課程號,同時(shí)還要修改課程名及學(xué)分。這樣使修改變得復(fù)雜,容易產(chǎn)生數(shù)據(jù)不一致。

1.3 異常的原因

對上述第一范式產(chǎn)生的問題,實(shí)質(zhì)是把學(xué)生實(shí)體信息和課程實(shí)體信息合在了一起,失去了各自實(shí)體數(shù)據(jù)操作的獨(dú)立性,對其中一個(gè)實(shí)體操作勢必影響另一個(gè)實(shí)體。從范式理論上稱這種關(guān)系為部分函數(shù)依賴。下面具體分析第一范式的函數(shù)依賴關(guān)系:提煉出所有的非主屬性和主鍵的關(guān)系。在上例中:非主屬性“姓名”、“性別”、“出生日期”,“系號”,“系名”,“系地址”屬性只與主鍵中的學(xué)號有關(guān),所以它們部分依賴于主鍵;非主屬性“課程名”、“學(xué)分”屬性只與主鍵中的課程號有關(guān),所以它們部分依賴于主鍵;而非主屬性“成績”即與學(xué)號有關(guān),又與課程號有關(guān),所以說成績完全依賴于主鍵。

解決第一范式的問題,就是在上述分析依賴關(guān)系基礎(chǔ)上對關(guān)系進(jìn)行分解。消除部分函數(shù)依賴。使其轉(zhuǎn)換為第二范式。

2 第二范式

2.1 第一范式轉(zhuǎn)換為第二范式

第二范式一定是第一范式,并且不存在非主屬性部分函數(shù)依賴于主鍵。

將上例進(jìn)一步轉(zhuǎn)換為第二范式,將部分函數(shù)依賴關(guān)系中的主屬性和非主屬性從關(guān)系中提取出來,單獨(dú)構(gòu)成一個(gè)關(guān)系模式:學(xué)生(學(xué)號,姓名,性別,出生日期,系號,系名,系地址);課程(課程號,課程名,學(xué)分);將關(guān)系模式中余下的屬性,加上主關(guān)鍵字,構(gòu)成另一個(gè)關(guān)系。選課(學(xué)號,課程號,成績)。

分解之后解決了第一范式提到的數(shù)據(jù)操作異常??梢韵?qū)W生關(guān)系中插入沒有選課的學(xué)生信息,可以在選課關(guān)系中刪除學(xué)生的選課信息,可以在選課表里修改學(xué)生的選課信息。

2.2 第二范式的異常

插入異常:例如學(xué)生關(guān)系模式中:學(xué)生(學(xué)號,姓名,性別,出生日期,系號,系名,系地址)如果新開了一個(gè)系,該系還沒有學(xué)生,那么該系的信息是不能插入到學(xué)生關(guān)系中的,因?yàn)樽鰹橹麈I的學(xué)生不能為空。

刪除異常:如果某些學(xué)生退學(xué),要?jiǎng)h除學(xué)生的記錄,就會連帶刪除系的信息,產(chǎn)生刪除異常。

修改異常:因?yàn)槎鄠€(gè)學(xué)生可以在同一個(gè)系,系的其他信息也會重復(fù)出現(xiàn),如果系的電話發(fā)生變化,就需要多次修改,容易產(chǎn)生數(shù)據(jù)不一致。

2.3 異常原因

下面具體分析第二范式的函數(shù)依賴關(guān)系:在上例中:非主屬性“系名”,“系電話”,“系地址”直接依賴于“系號”,而“系號”直接依賴于主鍵“學(xué)號”。所以說非主屬性“系名”,“系電話”,“系地址”傳遞依賴于主鍵“學(xué)號”。

解決第二范式的問題,就是在上述分析依賴關(guān)系基礎(chǔ)上對關(guān)系進(jìn)行分解。消除傳遞函數(shù)依賴。使其轉(zhuǎn)換為第三范式。

3 第三范式

第三范式一定是第二范式,并且不存在非主屬性傳遞函數(shù)依賴于主鍵。

將上例進(jìn)一步轉(zhuǎn)換為第三范式,將起傳遞作用的非主屬性和直接傳遞依賴的非主屬性構(gòu)成一個(gè)新關(guān)系模式:系(系號,系名,系地址),該關(guān)系中主鍵為系號。將關(guān)系模式中余下的屬性,加上新表中的主鍵,構(gòu)成另一個(gè)關(guān)系:學(xué)生(學(xué)號,姓名,性別,出生日期,系號),該關(guān)系中主鍵為學(xué)號,外鍵為系號。最終將學(xué)生關(guān)系模式轉(zhuǎn)換為以下兩個(gè)關(guān)系模式:

系(系號,系名,系地址)

學(xué)生(學(xué)號,姓名,性別,出生日期,系號)。

分解之后解決了第二范式提到的數(shù)據(jù)操作異常。

[1]鄧麗,數(shù)據(jù)庫簡明教程[M],東軟電子出版社,2012(105)

猜你喜歡
出生日期范式課程
當(dāng)活動(dòng)走向課程 少年已走向未來
以寫促讀:構(gòu)建群文閱讀教學(xué)范式
范式空白:《莫失莫忘》的否定之維
用Scratch實(shí)現(xiàn)十二星座查詢
軟件設(shè)計(jì)與開發(fā)實(shí)踐課程探索與實(shí)踐
孫惠芬鄉(xiāng)土寫作批評的六個(gè)范式
為什么要學(xué)習(xí)HAA課程?
管窺西方“詩辯”發(fā)展史的四次范式轉(zhuǎn)換
A—Level統(tǒng)計(jì)課程和AP統(tǒng)計(jì)課程的比較
My Dreams
无为县| 靖宇县| 营山县| 维西| 怀化市| 和林格尔县| 石楼县| 武宣县| 康平县| 大新县| 探索| 桐乡市| 蒲江县| 贵定县| 阿克陶县| 苏尼特左旗| 郓城县| 肥东县| 泰州市| 保定市| 永年县| 凤山市| 雷波县| 登封市| 崇文区| 黑水县| 凤城市| 巴塘县| 元氏县| 广州市| 黎城县| 巩义市| 贡觉县| 台州市| 北流市| 泾川县| 鸡西市| 奉贤区| 诸暨市| 绥滨县| 大庆市|