




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子課件1.3 關(guān)系模式規(guī)范化項目1:部署數(shù)據(jù)庫開發(fā)環(huán)境數(shù)據(jù)庫應(yīng)用任務(wù)1 數(shù)據(jù)模型的規(guī)劃與設(shè)計 關(guān)系模式規(guī)范化教學(xué)目標(biāo) 素質(zhì)目標(biāo) 知識目標(biāo)1 線上線下結(jié)合,引導(dǎo)學(xué)習(xí)方式,培養(yǎng)自主學(xué)習(xí)能力;2 培養(yǎng)學(xué)生積極探索、勇于創(chuàng)新的科學(xué)素養(yǎng);3 養(yǎng)成小組溝通協(xié)作共同學(xué)習(xí),解決問題能力和團(tuán)隊合作精神;4 思政內(nèi)容:培養(yǎng)學(xué)生好的職業(yè)道德與職業(yè)素養(yǎng)1能理解關(guān)系模式規(guī)范化的作用;2了解第一范式滿足的條件;3掌握如何將第一范式轉(zhuǎn)化為第二范式;4掌握如何將第二范式轉(zhuǎn)化為第三范式;5理解增強(qiáng)第三范式的特點及轉(zhuǎn)化方法。 能力目標(biāo)1能識別一個不好的關(guān)系模式具有哪些缺點;2能將具有缺陷的關(guān)系模式轉(zhuǎn)化成為可用的關(guān)系模式; 教學(xué)
2、重點將第一范式轉(zhuǎn)化為第二范式時;將第二范式轉(zhuǎn)化為第三范式 教學(xué)難點在范式轉(zhuǎn)化時,如何理解、識別并解決“屬性完全依賴”,“傳遞依賴”的問題教學(xué)重難點知識儲備在關(guān)系數(shù)據(jù)庫中,對同一個問題,數(shù)據(jù)庫的邏輯設(shè)計結(jié)果不是唯一的。為進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,有必要對關(guān)系模式進(jìn)一步修改,調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這需要以規(guī)范化理論為指導(dǎo),對關(guān)系模式進(jìn)行規(guī)范化。設(shè)計一個學(xué)生管理數(shù)據(jù)庫,需要該數(shù)據(jù)庫中包括的信息有:學(xué)號、姓名、性別、出生日期、系名、系主任、課程號和成績。如果將這些信息包含在一個關(guān)系中,則學(xué)生關(guān)系模式S為:S(學(xué)號、姓名、性別、出生日期、系名、系主任、課程號、成績) 在學(xué)生關(guān)系模式S中,關(guān)系模式的主
3、鍵為(學(xué)號、課程號)。各屬性之間的關(guān)系為:一個系有若干個學(xué)生,但一個學(xué)生只屬于一個系且只有一個系主任,但一個系主任可以兼任幾個系的主任;一個學(xué)生可以選修多門課程,每門課程可以被多個學(xué)生選修;每個學(xué)生的每門課程只有一個成績。 關(guān)系模式規(guī)范化5知識儲備學(xué)生關(guān)系模式S的實例 關(guān)系模式規(guī)范化6學(xué)號姓名性別出生日期系名系主任課程號成績2020110101朱軍男2002-10-15計算機(jī)系武春嶺101772020110101朱軍男2002-10-15計算機(jī)系武春嶺102832020110101朱軍男2002-10-15計算機(jī)系武春嶺103822020110101朱軍男2002-10-15計算機(jī)系武春嶺10
4、5692020110102龍婷秀女2002-11-05計算機(jī)系武春嶺101642020110102龍婷秀女2002-11-05計算機(jī)系武春嶺102582020110102龍婷秀女2002-11-05計算機(jī)系武春嶺104682020110103張慶國男2003-01-09計算機(jī)系武春嶺101692020110103張慶國男2003-01-09計算機(jī)系武春嶺103882020110103張慶國男2003-01-09計算機(jī)系武春嶺105772020120101李成男2002-07-09機(jī)電系王春強(qiáng)201782020120101李成男2002-07-09機(jī)電系王春強(qiáng)20363知識儲備從上表存放的數(shù)據(jù)可
5、以看出,該關(guān)系具有以下缺陷:(1)數(shù)據(jù)冗余。系名和系主任的存儲次數(shù)等于該系學(xué)生選修課程的人次;(2)插入異常。這個關(guān)系模式的主鍵是(學(xué)號、課程號),當(dāng)一個系里的學(xué)生如果沒有選修課程時,則課程號無值,導(dǎo)致該生的所有信息將無法插入數(shù)據(jù)庫中;(3)刪除異常。如果在某個系的學(xué)生全部畢業(yè)又沒招新生的情況下,刪除已畢業(yè)學(xué)生的信息時,將會使系名和系主任的信息也隨之刪除,但由于這個系仍然存在,卻又找不到該系的信息,即會出現(xiàn)刪除異常;(4)更新異常。當(dāng)要更改某個學(xué)生的姓名時,則必須搜索出包含該姓名的每條記錄,并對其姓名逐一修改,修改量大,如果某條記錄漏改了,則會造成數(shù)據(jù)不一致,即出現(xiàn)更新異常。 關(guān)系模式規(guī)范化7
6、知識儲備針對上表所示的關(guān)系具有的上述缺陷應(yīng)該如何解決呢?就要利用規(guī)范化理論對關(guān)系模式進(jìn)行規(guī)范化。滿足特定要求的關(guān)系模式稱為范式,按其規(guī)范化程度從低到高可分為5級范式(Normal Form),分別為1NF、2NF、3NF(BCNF)、4NF和5NF。規(guī)范化程度較高的范式是較低范式的子集,一個低一級范式的關(guān)系模式,通過分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式,這個過程稱為關(guān)系的規(guī)范化。關(guān)系規(guī)范化的基本方法是逐步消除關(guān)系模式中不恰當(dāng)?shù)臄?shù)據(jù)依賴,使關(guān)系模式達(dá)到某種程度的分離,用一個關(guān)系來表達(dá)一事或一物。 關(guān)系模式規(guī)范化8知識儲備1.第一范式(1NF) 1NF:如果關(guān)系模式R中不包含多值屬性,則R滿足
7、第一范式,記為R1NF。第一范式要求不能在表中嵌套表,是關(guān)系模式要遵循的最基本要求,數(shù)據(jù)庫中所在的關(guān)系模式必須滿足第一范式。例如,前面的復(fù)合表所對應(yīng)的關(guān)系模式不滿足1NF,因為其成績屬性中包含了多門課程的成績,屬于表中嵌套表的情況,只有將復(fù)合表中的成績屬性拆開,形成二維表的形式,這樣就不存在表中嵌套表的情況了,其對應(yīng)的關(guān)系模式就滿足1NF了。 關(guān)系模式規(guī)范化9知識儲備1.第一范式(1NF) 互動1:什么樣的表才滿足第一范式? 關(guān)系模式規(guī)范化10知識儲備2.第二范式(2NF) 關(guān)系模式僅僅滿足1NF是不夠的,盡管學(xué)生關(guān)系模式滿足1NF,根據(jù)前面的分析,這個關(guān)模式存在數(shù)據(jù)冗余、插入異常、刪除異常和
8、更新異常的缺陷,所以需要對該關(guān)系模式進(jìn)一步規(guī)范化,使之達(dá)到更高級別的范式。2NF:如果關(guān)系模式R滿足第一范式,且每個非鍵屬性完全函數(shù)依賴于R的鍵屬性,則R滿足第二范式,記為R2NF。在2NF中解決了插入異常問題。 關(guān)系模式規(guī)范化11知識儲備2.第二范式(2NF) 例如,學(xué)生關(guān)系模式S(學(xué)號,姓名,性別,出生日期,系名,系主任,課程號,成績)不是2NF。因為該關(guān)系模式的主鍵為(學(xué)號,課程號),對于非鍵屬性姓名和系名來說,它們只依依賴于學(xué)號,而與課程號無關(guān),因此關(guān)系模式S存在部分函數(shù)依賴。解決的辦法是將關(guān)系模式進(jìn)行分解,使每個非鍵屬性完全函數(shù)依賴于鍵屬性。分解的方法是采用投影分解法。(1)把關(guān)系模
9、式中對鍵完全函數(shù)依賴的非鍵屬性與決定它們的鍵放在一個關(guān)系模式中。(2)把對鍵部分函數(shù)依賴的非鍵屬性和決定它們的鍵放在一個關(guān)系模式中。(3)檢查分解結(jié)果,如果仍有不滿足2NF的,則按前兩步驟繼續(xù)分解。 關(guān)系模式規(guī)范化12知識儲備3.第三范式(3NF) 3NF:如果關(guān)系模式R滿足第二范式,且沒有一個非鍵屬性傳遞依賴于鍵,則稱R滿足第三范式,記為 R3NF。在3NF中解決了刪除異常問題。例如,學(xué)生和系關(guān)系模式S-D(學(xué)號,姓名,性別,出生日期,系名,系主任)滿足第二范式,由于系名由學(xué)號決定,系主任是由系名來決定,即存在系主任傳遞依賴于學(xué)號,因此S-D不滿足3NF,它存在刪除異常問題。解決的方法同樣是
10、對S-D進(jìn)行投影分解。(1)把直接對鍵函數(shù)依賴的非主鍵屬性與決定它們的鍵放在一個關(guān)系模式中。(2)把造成傳遞依賴的屬性和被該屬性決定的其他屬性放在一個關(guān)系模式中。(3)檢查分解結(jié)果,如果仍有不滿足3NF的,則按前兩步驟繼續(xù)分解。3NF是一個可用關(guān)系模式應(yīng)滿足的最低范式,如果一個關(guān)系模式不滿足3NF,事實上它是不可用的。 關(guān)系模式規(guī)范化13知識儲備4.增強(qiáng)第三范式(Boyce-Codd Normal Form,BCNF)BCNF:關(guān)系模式R的所有非主屬性依賴于整個主屬性,則稱R滿足BCNF。BCNF是比3NF更高級別的范式。根據(jù)BCNF的定義,可以知道滿足BCNF的關(guān)系模式具有以下特點。(1)所
11、有非鍵屬性對每一個鍵屬性都是完全函數(shù)依賴。(2)所有的鍵屬性對每一個不包含它的鍵也是完全函數(shù)依賴。(3)沒有任何屬性完全函數(shù)依賴于非鍵的任何一組屬性。 關(guān)系模式規(guī)范化14任務(wù)實施【任務(wù)1】將學(xué)生關(guān)系模式S(學(xué)號,姓名,性別,出生日期,系名,系主任,課程號,成績)規(guī)范化為第二范式。分析:對學(xué)生關(guān)系模式S來說,姓名、系名、系主任只依賴于學(xué)號,與學(xué)生所選課程號無關(guān),因此可將它們放到一個關(guān)系模式中;成績屬性完全依賴于學(xué)號和課程號,可將它們放到一個關(guān)系模式中。因此,將學(xué)生關(guān)系模式S進(jìn)行分解,形成兩個新的關(guān)系模式,結(jié)果如下:選修關(guān)系模式:S-C(學(xué)號,課程號、成績)學(xué)生和系關(guān)系模式:S-D(學(xué)號,姓名,性
12、別,出生日期,系名,系主任)經(jīng)過上述模式分解,兩個關(guān)系模式中的非鍵屬性對鍵都是完全函數(shù)依賴,所以它們都滿足2NF。 互動2:一個可用關(guān)系模式至少應(yīng)滿足第幾范式?關(guān)系模式規(guī)范化15知識儲備4.增強(qiáng)第三范式(Boyce-Codd Normal Form,BCNF)例如,學(xué)生關(guān)系模式S(學(xué)號,姓名,性別,出生日期,系名)中,如果姓名有重名的情況,則主鍵學(xué)號是該模型唯一決因素,所以S是BCNF范式;如果姓名沒有重名,則學(xué)號和姓名都是候選鍵,且除候選鍵外,該模型沒有其他決定因素,所以S仍是BCNF范式。將3NF分解為BCNF關(guān)系模式的方法如下。(1)在3NF關(guān)系模式中去掉一些主屬性,只保留主鍵,使該關(guān)系
13、模式只有唯一候選鍵。(2)把去掉的主屬性分別同各自的非主屬性組成新的關(guān)系模式。(3)檢查分解結(jié)果,如果仍有不滿足BCNF的,則按前兩步驟繼續(xù)分解。 關(guān)系模式規(guī)范化16任務(wù)實施【任務(wù)2】將學(xué)生和系關(guān)系模式S-D(學(xué)號,姓名,性別,出生日期,系名,系主任)規(guī)范化為第三范式。分析:對學(xué)生和系關(guān)系模式S-D來說,姓名、性別、出生日期和系名直接依賴于學(xué)號,可將它們放在一個關(guān)系模式中,而把系名和系主任放到另一個關(guān)系模式中。因此,學(xué)生和系關(guān)系模式分解的結(jié)果如下:學(xué)生關(guān)系模式:S(學(xué)號,姓名,性別,出生日期,系名)系關(guān)系模式:D(系名,系主任)分解后的關(guān)系模式S和D都不存在傳遞依賴關(guān)系,都滿足3NF。 關(guān)系模
14、式規(guī)范化17任務(wù)實施【任務(wù)3】在關(guān)系模式S-T-J(學(xué)生,教師,課程)中,假設(shè)條件:每位教師只教一門課程,每門課程有若干教師,某一學(xué)生選定某門課后就只有一位固定教師授課?;谏鲜黾僭O(shè),分析關(guān)系模式S-T-J是否滿足3NF和BCNF。分析:根據(jù)上述假設(shè),可知該關(guān)系模式具有如下的函數(shù)依賴。(學(xué)生,課程)教師,(學(xué)生,教師)課程,教師課程。該關(guān)系模式的候選鍵為(學(xué)生,課程),(學(xué)生,教師)。因為該關(guān)系模式所有屬性都是主屬性,所以S-T-J滿足3NF,但不滿足BCNF,因為教師屬性是課程決定因素,但教師屬性不是候選鍵(它只是候選鍵的組成部分)。 關(guān)系模式規(guī)范化18任務(wù)實施按3NF分解為BCNF的方法,將S-T-J關(guān)系模式分解為滿足BCNF的兩個關(guān)系模式:S-T(學(xué)生、教師);T-J(教師、課程)說明:不屬于BCNF的關(guān)系模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木片在纖維增強(qiáng)復(fù)合材料的研究考核試卷
- 智能設(shè)備節(jié)能技術(shù)與應(yīng)用考核試卷
- 太陽能發(fā)電工程技術(shù)規(guī)范更新與實施考核試卷
- 森林改培與生態(tài)保護(hù)與生態(tài)保護(hù)與國際合作考核試卷
- 架線工程測量與監(jiān)測技術(shù)考核試卷
- 智能教育軟件開發(fā)考核試卷
- 新型風(fēng)動工具研發(fā)考核試卷
- 林業(yè)政策對鄉(xiāng)村發(fā)展的引導(dǎo)作用考核試卷
- Unit 5 Fun Clubs Period I Section A(1a-Pronunciation) 教學(xué)設(shè)計2024-2025學(xué)年人教版英語七年級上冊
- 果蔬汁飲料的設(shè)備維護(hù)與故障預(yù)防考核試卷
- 乳腺癌患者的疼痛護(hù)理課件
- 研課標(biāo)說教材修改版 八年級下冊
- 江西宜春城市文化介紹
- 正常肌肉及常見肌病的病理學(xué)表現(xiàn)
- 國產(chǎn)自主可控數(shù)據(jù)庫采購項目技術(shù)標(biāo)準(zhǔn)和服務(wù)要求
- 機(jī)械設(shè)計說明書-激光熔覆送粉器設(shè)計
- 瀝青砼質(zhì)量控制點及措施
- imedical8 1 0醫(yī)生站配置手冊
- RB/T 089-2022綠色供應(yīng)鏈管理體系要求及使用指南
- 家用牙齒美白儀對牙齒漂白的臨床應(yīng)用效果研究
- 李博《生態(tài)學(xué)》課后習(xí)題答案
評論
0/150
提交評論