版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫范式在了解范式之前一定要了解這個問題為什么要被提出問題的提出以一張表為例子這張表的依賴關(guān)系是很糟糕的我們可以得到依賴關(guān)系F=(sno->sdept,sdept->mname,(sno,cno)->grade)這種關(guān)系模式帶來了非常大的問題有4種帶來問題1數(shù)據(jù)冗余每一個系科的系主任名字重復(fù)出現(xiàn),出現(xiàn)次數(shù)和學(xué)生成績出現(xiàn)次數(shù)相等這將大量浪費空間事實上我們記錄學(xué)生成績完全沒有必要記錄這組信息我們在關(guān)聯(lián)表里完全可以通過學(xué)號課程號查出系主任姓名2更新異常由于數(shù)據(jù)冗余,在我們更新數(shù)據(jù)庫中的數(shù)據(jù)時候系統(tǒng)要付出很大的代價來維護(hù)數(shù)據(jù)的完整性,否則會面臨數(shù)據(jù)不一致的危險,比如某系科系主任換人了名字叫王五那我們必須修改這張表的每一個記錄執(zhí)行updatestudentsetmname=‘王五’wheremname=‘張明’這個時候系統(tǒng)付出的代價非常的大3插入異常如果一個系才剛剛成立,尚無學(xué)生,我們就無法將這個系的系主任和系存入數(shù)據(jù)庫4刪除異常如果某個系的學(xué)生全部畢業(yè)了,我們就需要刪除學(xué)生信息,但是刪除了這些學(xué)生信息后系信息和系主任的信息的信息也一同丟失了(這里不考慮多表就一張這樣的表)Deletefromstudent;5得出結(jié)論鑒于存在的以上種種問題得出結(jié)論:Student表關(guān)系模式不是一個好模式.一個好的關(guān)系模式不應(yīng)該產(chǎn)生插入異常,刪除異常和更新異常,且數(shù)據(jù)冗余盡可能少為什么出現(xiàn)這樣的問題1原因因為這張表出現(xiàn)不好的依賴關(guān)系這種依賴有不好的性質(zhì)之前的依賴關(guān)系F=(sno->sdept,sdept->mname,(sno,cno)->grade這里面有傳遞依賴系依賴學(xué)號而系主任又依賴系萬一我刪除了系那會怎么樣?還有部分依賴系主任依賴系而系不是主鍵會造成啥問題呢比如年齡依賴姓名我們記作name->age但是萬一個數(shù)據(jù)表里有人同名怎么辦?所以我們依賴一定要有主鍵不重復(fù)假如我們把這單一的表改造一下分成3個關(guān)系模式1表S(sno,sdept)依賴關(guān)系F={sno->sdept}2表SC(sno,cno,grade)依賴關(guān)系F={(sno,cno)->grade}3表dept(sdept,mname)依賴關(guān)系F=(sdept->mname)這樣三個模式都不會發(fā)生插入異常,刪除異常,數(shù)據(jù)冗余也會得到解決我們發(fā)現(xiàn)改造之前的表有部分依賴和傳遞依賴部分?jǐn)?shù)據(jù)即依賴主鍵又依賴其他列屬性這是很不好的依賴關(guān)系而改造后的表一個表里面非主鍵數(shù)據(jù)完全依賴于主鍵我們認(rèn)為這是個好的關(guān)系一個模式的數(shù)據(jù)依賴有那些不好的性質(zhì),如何改造一個不好的模式這就是數(shù)據(jù)庫設(shè)計的規(guī)范化了規(guī)范化關(guān)系數(shù)據(jù)庫中的關(guān)系要滿足一定的要求的,滿足不同程度的要求為不同的范式,滿足最低要求的叫第一范式簡稱1NF在第一范式的基礎(chǔ)上進(jìn)一步要求的為第二范式2NF以此類推注意我們平時學(xué)的主鍵碼外碼都是為了規(guī)范化而引入的概念第一范式1nf第一范式在上面解決依賴過程中其實已經(jīng)解決了還有一點就是每一列的屬性字段是具有原子性不可以分割比如聯(lián)系方式不可以寫eamil或者qq除非為為eamil和qq都單獨列一個字段屬性第二范式2NF滿足第二范式就一定滿足第一范式也就是說只要是第二范式那肯定滿足第一范式假設(shè)有關(guān)系模式S-L-C(sno,sdept,sloc,cno,grade)其中sloc為學(xué)生住處碼為(sno,cno)每個系的學(xué)生住在同一個地方則函數(shù)依賴有1(sno,cno)->grade2sno->sdept(完全函數(shù)依賴),(sno,cno)->sdept(部分函數(shù)依賴)3sno->sloc(完全函數(shù)依賴)(sno,cno)->sloc(部分函數(shù)依賴)4sdept->sloc這里出現(xiàn)了一個很奇怪的現(xiàn)象sdept滿足1NF也就是非主鍵屬性列依賴主鍵但是不是完全依賴而是部分依賴這樣的關(guān)系我們說這不滿足第二范式2NF那么會帶來的問題是什么的帶來問題1插入異常假若要插入一個學(xué)生sno=S7,Sdept=PHY,Sloc=BLD2但是該學(xué)生還沒有選課也就是說這個學(xué)生沒有cno這樣元組就插不進(jìn)S-L-C表中因為cno是主鍵一部分必須給出碼值InsertintoS-L-Cvalue(S7,PHY,BLD2,null,null)報錯cno是主鍵不能為null這就導(dǎo)致了插入異常2刪除異常有一個學(xué)號是S7的學(xué)生選了C3這門課還要無遺漏很復(fù)雜InsertS-L-Cvalue(S7,PHY,BLD2,C3,null)正常插入然后突然這位學(xué)生不想選這門課了想刪除C3UpdateS-L-Csetcno=nullwheresno=s7報錯c3是主屬性不能刪除為null不能更新刪除c3這個數(shù)據(jù)項只能刪除一整條記錄了C3是聯(lián)合主鍵之一刪除C3就必須整條記錄都刪除這就造成了刪除異常把不該刪的數(shù)據(jù)也刪除了3修改復(fù)雜某個學(xué)生從數(shù)學(xué)系(MA)轉(zhuǎn)到計算機(jī)科學(xué)系(CS)原本轉(zhuǎn)系只需要修改sdept這一分量就行了但是這張表帶來問題就是修改sdept還必須修改sloc分量如果這位學(xué)生選了20門課那我就要重復(fù)修改20次不僅數(shù)據(jù)冗余高而且修改還要無遺漏很復(fù)雜解決方案我們可以看到之所一出現(xiàn)上述3個問題完全是因為出現(xiàn)了部分依賴Grade是完全依賴但是sdept,sloc是部分依賴出問題的地方全在于部分依賴的列上所以解決辦法就是把S-L-C分解成2個表表SC(Sno,Cno,Sdept)key=(sno,cno)表S-L(Sno,Sdept,Sloc)key=sno第三范式3NF第三范式是第二范式未解決的問題的就是表S-L(Sno,Sdept,Sloc)Sloc完全不依賴與主碼sno但是sno->sdeptsdept->sloc就可以推斷出sno->sloc這種非主屬性性不依賴與主碼就不應(yīng)該存進(jìn)去我們都知道sloc住處是根據(jù)系科安排的每個系都有不
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幸福院消防安全工作規(guī)范
- 倉庫管理基本知識
- 2026秋招:西藏能源投資公司試題及答案
- 2026秋招:維天運(yùn)通公司面試題及答案
- 胃炎患者的營養(yǎng)支持
- 2026年自動駕駛倫理合作協(xié)議
- 2025年森林康養(yǎng)項目合作協(xié)議
- 養(yǎng)老護(hù)理服務(wù)評估協(xié)議2026
- 2025-2026學(xué)年秋季學(xué)期初一年級英語教學(xué)計劃:新課標(biāo)下的詞匯教學(xué)策略(XX市第二實驗學(xué)校)
- 員工轉(zhuǎn)崗培訓(xùn)課件
- 2026年山東省煙草專賣局(公司)高校畢業(yè)生招聘流程筆試備考試題及答案解析
- 附圖武陵源風(fēng)景名勝區(qū)總體規(guī)劃總平面和功能分區(qū)圖樣本
- 八年級下冊《昆蟲記》核心閱讀思考題(附答案解析)
- 煤礦復(fù)產(chǎn)安全培訓(xùn)課件
- 2025年中職藝術(shù)設(shè)計(設(shè)計理論)試題及答案
- 2026屆高考?xì)v史二輪突破復(fù)習(xí):高考中外歷史綱要(上下兩冊)必考常考知識點
- 鐵路交通法律法規(guī)課件
- 2025年體育行業(yè)專家聘用合同范本
- 對于尼龍件用水煮的原因分析
- ECMO患者血糖控制與胰島素泵管理方案
- 消防安全操作規(guī)程操作規(guī)程
評論
0/150
提交評論