




已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用,關(guān)系規(guī)范化理論,數(shù)據(jù)庫設(shè)計的三個主要步驟,概念設(shè)計 邏輯設(shè)計 物理設(shè)計,現(xiàn) 實 世 界,層次,網(wǎng)狀,關(guān)系,概念模型,數(shù)據(jù)模型,物理 模型,文件、 索引等,關(guān)系數(shù)據(jù)庫規(guī)范化理論是關(guān)系數(shù)據(jù)庫邏輯設(shè)計的理論基礎(chǔ) 解決的中心問題:如何構(gòu)造一個好的數(shù)據(jù)模式,前導問題: 1、為什么進行關(guān)系規(guī)范化? 2、什么是關(guān)系規(guī)范化? 核心問題: 怎樣進行關(guān)系規(guī)范化?,關(guān)系規(guī)范化,問題一: 1、為什么進行關(guān)系規(guī)范化?,例如,要求設(shè)計教學管理數(shù)據(jù)庫,其關(guān)系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,SNO表示學生學號,SN表示學生姓名,AGE表示學生年齡,DEPT表示學生所在的系別,MN表示系主任姓名,CNO表示課程號,SCORE表示成績。 在此關(guān)系模式中填入一部分具體的數(shù)據(jù),則可得到SCD關(guān)系模式的實例,即一個教學管理數(shù)據(jù)庫。,實例:教學管理數(shù)據(jù)庫,一個教學管理數(shù)據(jù)庫實例,1.數(shù)據(jù)冗余浪費大量的存儲空間 每個系名和系主任的名字存儲的次數(shù)等于該系的學生人數(shù)乘以每個學生選修的課程門數(shù),同時學生的姓名、年齡也都要重復存儲多次,數(shù)據(jù)的冗余度很大,浪費了存儲空間。,存在問題,2.插入異常該有的數(shù)據(jù)無法插入 如果某個新系沒有招生,尚無學生時,則系名和系主任的信息無法插入到數(shù)據(jù)庫中。因為在這個關(guān)系模式中,(SNO,CNO)是主碼。根據(jù)關(guān)系的實體完整性約束,主碼的值不能為空,而這時沒有學生,SNO和CNO均無值,因此不能進行插入操作。,存在問題,3. 刪除異常不應(yīng)該刪除的數(shù)據(jù)被刪除了 某系學生全部畢業(yè)而沒有招生時,刪除全部學生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。,存在問題(續(xù)),4. 更新異常更新數(shù)據(jù)時,維護完整性的代價太大 如某系更換系主任,則屬于該系的學生記錄都要修改MN的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。,存在問題(續(xù)),由于存在以上問題,我們說,SCD是一個不好的關(guān)系模式。產(chǎn)生上述問題的原因,直觀地說,是因為關(guān)系中“包羅萬象”,內(nèi)容太雜了。 那么,怎樣才能得到一個好的關(guān)系模式呢? 作業(yè)1:將關(guān)系模式SCD規(guī)范成好的關(guān)系模式。,存在問題(續(xù)),問題二: 1、什么是關(guān)系規(guī)范化?,規(guī)范化問題的提出,關(guān)系數(shù)據(jù)庫的規(guī)范化理論主要包括三個方面的內(nèi)容: 范式(Normal Form) 函數(shù)依賴 模式分解 其中,函數(shù)依賴起著核心的作用,是模式分解和模式設(shè)計的基礎(chǔ),范式是模式分解的標準。,范式(Normal form) 范式:建立關(guān)系時需要滿足的約束條件劃分成若干標準,這些標準稱為范式,簡寫為NF。范式的級別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應(yīng)增加。,范式,規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時發(fā)生異?,F(xiàn)象。 這就要求關(guān)系數(shù)據(jù)庫設(shè)計出來的關(guān)系模式要滿足一定的條件。 我們把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標準稱為范式(Normal Form)。 由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。 滿足最基本規(guī)范化要求的關(guān)系模式叫第一范式, 在第一范式中進一步滿足一些要求為第二范式, 以此類推就產(chǎn)生了第三范式等概念。 每種范式都規(guī)定了一些限制約束條件。,各種范式之間的關(guān)系,函數(shù)依賴,函數(shù)依賴(Functional Dependency)是關(guān)系模式中屬性之間的一種邏輯依賴關(guān)系。 例如在關(guān)系模式SCD中,SNO與SN、AGE、DEPT之間都有一種依賴關(guān)系。,一個教學管理數(shù)據(jù)庫實例,由于一個SNO只對應(yīng)一個學生,而一個學生只能屬于一個系,所以當SNO的值確定之后,SN,AGE,DEPT的值也隨之被唯一的確定了。,核心問題: 1、怎樣進行關(guān)系規(guī)范化?,范式化的基本步驟,1NF關(guān)系 消除非主屬性對碼的部分函數(shù)依賴 2NF關(guān)系 消除非主屬性對碼的傳遞函數(shù)依賴 3NF關(guān)系 消除主屬性對非主屬性的函數(shù)依賴 和對碼的部分、傳遞函數(shù)依賴 BCNF關(guān)系 消除非平凡且非函數(shù)依賴的多值依賴 4NF關(guān)系 消除非候選碼所蘊涵的連接依賴 5NF關(guān)系,并非規(guī)范 化程度越高 的關(guān)系模式 就越好,學生、課程及學生與課程聯(lián)系 的實體聯(lián)系圖(E-R圖),學 生,課 程,范式 一個關(guān)系的每一個屬性都是不可再分的基本數(shù)據(jù)項,則該關(guān)系是范式。,表1 課程表,表2 學生表,表3 學生選課表,表1、表2和表3滿足范式的條件,所以它們是范式。 范式是關(guān)系模型必須達到的最低要求,不滿足該條件的關(guān)系模型稱為非規(guī)范化關(guān)系,即非I范式。,范式 范式首先是范式,關(guān)系中的每一個非主屬性完全函數(shù)依賴于主關(guān)鍵字,則該關(guān)系是范式。,表1 課程表,注:表中黃色背景顯示的是主關(guān)鍵字,表2 學生表,表3 學生選課表,將非范式規(guī)范為范式的方法是: 將部分函數(shù)依賴關(guān)系中的主屬性(決定方)和非主屬性從關(guān)系中提取出來,單獨構(gòu)成一個關(guān)系模式,將關(guān)系模式中余下的屬性,加上主關(guān)鍵字,構(gòu)成另一個關(guān)系 。,表4 學生選課表,表3 學生選課表,2NF的缺點,2NF的關(guān)系模式解決了1NF中存在的一些問題,2NF規(guī)范化的程度比1NF前進了一步,但2NF的關(guān)系模式在進行數(shù)據(jù)操作時,仍然存在著一些問題: 1數(shù)據(jù)冗余。 2插入異常。 3刪除異常。 4更新異常。,表1 課程表 表2 學生表 表4 選課表, 范式 范式首先是范式,且關(guān)系中的任何一個非主屬性都不函數(shù)傳遞依賴于任何主關(guān)鍵字,則關(guān)系是 范式。 首先需要找出關(guān)系中的所有主關(guān)鍵字,然后確定任何一個非主屬性和任何主關(guān)鍵字之間是否存在函數(shù)傳遞依賴關(guān)系,如果有則刪除函數(shù)傳遞依賴關(guān)系。,表1 課程表,表5 課程表,表6 系部表,表1 課程表 表2 學生表 表4 選課表,屬于3NF的關(guān)系模式一定是好模式?,表2 學生表,表7 班級表,表8 學生表,表4 學生選課表,表9 學生選課表,表1 課程表,表5 課程表 表6 系部表,表2 學生表,表3 選課表,表4 選課表 表9選課表,關(guān)系模式的規(guī)范化 小結(jié),規(guī)范化 一個低一級范式的關(guān)系模式,通過模式分解轉(zhuǎn)換為若干個高一級范式的關(guān)系模式集合的過程。 規(guī)范化目的 消除關(guān)系上的數(shù)據(jù)冗余、操作異常的現(xiàn)象。 規(guī)范化基本思想 逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關(guān)系模式達到某種程度的分解。 規(guī)范化實質(zhì) 概念的單一化,數(shù)據(jù)完整性,數(shù)據(jù)的完整性就是數(shù)據(jù)的正確性和一致性,它反映了現(xiàn)實世界中實體的本來面貌。 數(shù)據(jù)的完整性分為列的完整性、表的完整性和參照完整性。,1.列完整性,列的完整性也稱域完整性或用戶定義完整性。 列完整性是指表中任意列的數(shù)據(jù)類型必須符合用戶的定義,或者數(shù)據(jù)必須在規(guī)定的有效范圍之內(nèi)。,表6 系部表,2 .表完整性,表完整性也可稱實體完整性。 所謂實體完整性,是指表中必須有一個主關(guān)鍵字,且主鍵值不能為空。,表6 系部表,3 .參照完整性,參照完整性也稱為引用完整性,它指對外鍵值進行插入或修改時一定要參照主鍵的值是否存在。對主鍵進行修改或刪除時,也必須要參照外鍵的值是否存在。,4 .保證參照完整性規(guī)則,(1)對外鍵所在的表執(zhí)行插入操作時,要保證外鍵的值一定要在主表中存在。,表7 班級表,表8 學生表,(2)修改從表的外關(guān)鍵字時,要保證修改后的外鍵值在主表中已存在,就是說要參照主表的主關(guān)鍵字的值。,表7 班級表,表8 學生表,(3)修改主表的主關(guān)鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能應(yīng)用技術(shù)模擬試題及答案
- 如何提高模具設(shè)計的創(chuàng)新性試題及答案
- 愛崗敬業(yè)精神2024年體育經(jīng)紀人資格試題及答案
- 農(nóng)作物種子知識更新試題及答案2024
- 模具設(shè)計與市場需求的結(jié)合試題及答案
- 直擊關(guān)鍵知識點的試題及答案
- 農(nóng)業(yè)植保員工作的實際挑戰(zhàn)與解決方案試題及答案
- 種子繁育員崗位分析試題及答案
- 項目啟動階段關(guān)鍵因素試題及答案
- 分析種子繁育員的市場競爭策略試題及答案
- 2025年洛陽科技職業(yè)學院單招職業(yè)傾向性測試題庫及答案(歷年真題)
- DBJ50-T-077-2019 建筑施工現(xiàn)場管理標準
- 壓力容器使用安全管理要求和操作規(guī)程
- 2025新人教版七下英語單詞默寫表
- 領(lǐng)導下井帶班作業(yè)管理制度
- 銀行調(diào)動申請書
- 應(yīng)急總醫(yī)院合同制康復醫(yī)學科工作人員招考聘用高頻重點提升(共500題)附帶答案詳解
- 《十八項醫(yī)療核心制度》詳細解讀
- 《消防器材使用教程》課件
- 《波司登品牌國際化經(jīng)營存在的問題及優(yōu)化建議探析》11000字(論文)
- 《小兒靜脈穿刺》課件
評論
0/150
提交評論