數(shù)據(jù)庫系統(tǒng)原理及應用.ppt_第1頁
數(shù)據(jù)庫系統(tǒng)原理及應用.ppt_第2頁
數(shù)據(jù)庫系統(tǒng)原理及應用.ppt_第3頁
數(shù)據(jù)庫系統(tǒng)原理及應用.ppt_第4頁
數(shù)據(jù)庫系統(tǒng)原理及應用.ppt_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)庫系統(tǒng)原理及應用,關系規(guī)范化理論,數(shù)據(jù)庫設計的三個主要步驟,概念設計 邏輯設計 物理設計,現(xiàn) 實 世 界,層次,網(wǎng)狀,關系,概念模型,數(shù)據(jù)模型,物理 模型,文件、 索引等,關系數(shù)據(jù)庫規(guī)范化理論是關系數(shù)據(jù)庫邏輯設計的理論基礎 解決的中心問題:如何構造一個好的數(shù)據(jù)模式,前導問題: 1、為什么進行關系規(guī)范化? 2、什么是關系規(guī)范化? 核心問題: 怎樣進行關系規(guī)范化?,關系規(guī)范化,問題一: 1、為什么進行關系規(guī)范化?,例如,要求設計教學管理數(shù)據(jù)庫,其關系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,SNO表示學生學號,SN表示學生姓名,AGE表示學生年齡,DEPT表示學生所在的系別,MN表示系主任姓名,CNO表示課程號,SCORE表示成績。 在此關系模式中填入一部分具體的數(shù)據(jù),則可得到SCD關系模式的實例,即一個教學管理數(shù)據(jù)庫。,實例:教學管理數(shù)據(jù)庫,一個教學管理數(shù)據(jù)庫實例,1.數(shù)據(jù)冗余浪費大量的存儲空間 每個系名和系主任的名字存儲的次數(shù)等于該系的學生人數(shù)乘以每個學生選修的課程門數(shù),同時學生的姓名、年齡也都要重復存儲多次,數(shù)據(jù)的冗余度很大,浪費了存儲空間。,存在問題,2.插入異常該有的數(shù)據(jù)無法插入 如果某個新系沒有招生,尚無學生時,則系名和系主任的信息無法插入到數(shù)據(jù)庫中。因為在這個關系模式中,(SNO,CNO)是主碼。根據(jù)關系的實體完整性約束,主碼的值不能為空,而這時沒有學生,SNO和CNO均無值,因此不能進行插入操作。,存在問題,3. 刪除異常不應該刪除的數(shù)據(jù)被刪除了 某系學生全部畢業(yè)而沒有招生時,刪除全部學生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。,存在問題(續(xù)),4. 更新異常更新數(shù)據(jù)時,維護完整性的代價太大 如某系更換系主任,則屬于該系的學生記錄都要修改MN的內容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。,存在問題(續(xù)),由于存在以上問題,我們說,SCD是一個不好的關系模式。產生上述問題的原因,直觀地說,是因為關系中“包羅萬象”,內容太雜了。 那么,怎樣才能得到一個好的關系模式呢? 作業(yè)1:將關系模式SCD規(guī)范成好的關系模式。,存在問題(續(xù)),問題二: 1、什么是關系規(guī)范化?,規(guī)范化問題的提出,關系數(shù)據(jù)庫的規(guī)范化理論主要包括三個方面的內容: 范式(Normal Form) 函數(shù)依賴 模式分解 其中,函數(shù)依賴起著核心的作用,是模式分解和模式設計的基礎,范式是模式分解的標準。,范式(Normal form) 范式:建立關系時需要滿足的約束條件劃分成若干標準,這些標準稱為范式,簡寫為NF。范式的級別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應增加。,范式,規(guī)范化的基本思想是消除關系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時發(fā)生異?,F(xiàn)象。 這就要求關系數(shù)據(jù)庫設計出來的關系模式要滿足一定的條件。 我們把關系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立的不同標準稱為范式(Normal Form)。 由于規(guī)范化的程度不同,就產生了不同的范式。 滿足最基本規(guī)范化要求的關系模式叫第一范式, 在第一范式中進一步滿足一些要求為第二范式, 以此類推就產生了第三范式等概念。 每種范式都規(guī)定了一些限制約束條件。,各種范式之間的關系,函數(shù)依賴,函數(shù)依賴(Functional Dependency)是關系模式中屬性之間的一種邏輯依賴關系。 例如在關系模式SCD中,SNO與SN、AGE、DEPT之間都有一種依賴關系。,一個教學管理數(shù)據(jù)庫實例,由于一個SNO只對應一個學生,而一個學生只能屬于一個系,所以當SNO的值確定之后,SN,AGE,DEPT的值也隨之被唯一的確定了。,核心問題: 1、怎樣進行關系規(guī)范化?,范式化的基本步驟,1NF關系 消除非主屬性對碼的部分函數(shù)依賴 2NF關系 消除非主屬性對碼的傳遞函數(shù)依賴 3NF關系 消除主屬性對非主屬性的函數(shù)依賴 和對碼的部分、傳遞函數(shù)依賴 BCNF關系 消除非平凡且非函數(shù)依賴的多值依賴 4NF關系 消除非候選碼所蘊涵的連接依賴 5NF關系,并非規(guī)范 化程度越高 的關系模式 就越好,學生、課程及學生與課程聯(lián)系 的實體聯(lián)系圖(E-R圖),學 生,課 程,范式 一個關系的每一個屬性都是不可再分的基本數(shù)據(jù)項,則該關系是范式。,表1 課程表,表2 學生表,表3 學生選課表,表1、表2和表3滿足范式的條件,所以它們是范式。 范式是關系模型必須達到的最低要求,不滿足該條件的關系模型稱為非規(guī)范化關系,即非I范式。,范式 范式首先是范式,關系中的每一個非主屬性完全函數(shù)依賴于主關鍵字,則該關系是范式。,表1 課程表,注:表中黃色背景顯示的是主關鍵字,表2 學生表,表3 學生選課表,將非范式規(guī)范為范式的方法是: 將部分函數(shù)依賴關系中的主屬性(決定方)和非主屬性從關系中提取出來,單獨構成一個關系模式,將關系模式中余下的屬性,加上主關鍵字,構成另一個關系 。,表4 學生選課表,表3 學生選課表,2NF的缺點,2NF的關系模式解決了1NF中存在的一些問題,2NF規(guī)范化的程度比1NF前進了一步,但2NF的關系模式在進行數(shù)據(jù)操作時,仍然存在著一些問題: 1數(shù)據(jù)冗余。 2插入異常。 3刪除異常。 4更新異常。,表1 課程表 表2 學生表 表4 選課表, 范式 范式首先是范式,且關系中的任何一個非主屬性都不函數(shù)傳遞依賴于任何主關鍵字,則關系是 范式。 首先需要找出關系中的所有主關鍵字,然后確定任何一個非主屬性和任何主關鍵字之間是否存在函數(shù)傳遞依賴關系,如果有則刪除函數(shù)傳遞依賴關系。,表1 課程表,表5 課程表,表6 系部表,表1 課程表 表2 學生表 表4 選課表,屬于3NF的關系模式一定是好模式?,表2 學生表,表7 班級表,表8 學生表,表4 學生選課表,表9 學生選課表,表1 課程表,表5 課程表 表6 系部表,表2 學生表,表3 選課表,表4 選課表 表9選課表,關系模式的規(guī)范化 小結,規(guī)范化 一個低一級范式的關系模式,通過模式分解轉換為若干個高一級范式的關系模式集合的過程。 規(guī)范化目的 消除關系上的數(shù)據(jù)冗余、操作異常的現(xiàn)象。 規(guī)范化基本思想 逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關系模式達到某種程度的分解。 規(guī)范化實質 概念的單一化,數(shù)據(jù)完整性,數(shù)據(jù)的完整性就是數(shù)據(jù)的正確性和一致性,它反映了現(xiàn)實世界中實體的本來面貌。 數(shù)據(jù)的完整性分為列的完整性、表的完整性和參照完整性。,1.列完整性,列的完整性也稱域完整性或用戶定義完整性。 列完整性是指表中任意列的數(shù)據(jù)類型必須符合用戶的定義,或者數(shù)據(jù)必須在規(guī)定的有效范圍之內。,表6 系部表,2 .表完整性,表完整性也可稱實體完整性。 所謂實體完整性,是指表中必須有一個主關鍵字,且主鍵值不能為空。,表6 系部表,3 .參照完整性,參照完整性也稱為引用完整性,它指對外鍵值進行插入或修改時一定要參照主鍵的值是否存在。對主鍵進行修改或刪除時,也必須要參照外鍵的值是否存在。,4 .保證參照完整性規(guī)則,(1)對外鍵所在的表執(zhí)行插入操作時,要保證外鍵的值一定要在主表中存在。,表7 班級表,表8 學生表,(2)修改從表的外關鍵字時,要保證修改后的外鍵值在主表中已存在,就是說要參照主表的主關鍵字的值。,表7 班級表,表8 學生表,(3)修改主表的主關鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論