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

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)原理及應用數(shù)據(jù)庫系統(tǒng)原理及應用關系規(guī)范化理論關系規(guī)范化理論SQL SERVER 2005數(shù)據(jù)庫與技術數(shù)據(jù)庫設計的三個主要步驟數(shù)據(jù)庫設計的三個主要步驟概念設計概念設計 邏輯設計邏輯設計 物理設計物理設計現(xiàn)現(xiàn)實實世世界界層次層次網(wǎng)狀網(wǎng)狀關系關系概念模型概念模型數(shù)據(jù)模型數(shù)據(jù)模型物理物理模型模型文件、文件、索引等索引等關系數(shù)據(jù)庫關系數(shù)據(jù)庫規(guī)范化理論規(guī)范化理論是關系數(shù)據(jù)庫邏輯設計的理論基礎是關系數(shù)據(jù)庫邏輯設計的理論基礎解決的中心問題:如何構造一個好的數(shù)據(jù)模式解決的中心問題:如何構造一個好的數(shù)據(jù)模式SQL SERVER 2005數(shù)據(jù)庫與技術前導問題:前導問題:1 1、為什么進行關系規(guī)范化?、為什

2、么進行關系規(guī)范化?2 2、什么是關系規(guī)范化?什么是關系規(guī)范化?核心問題:核心問題:怎樣進行關系規(guī)范化?怎樣進行關系規(guī)范化?關系規(guī)范化關系規(guī)范化 SQL SERVER 2005數(shù)據(jù)庫與技術問題一:問題一:1 1、為什么進行關系規(guī)范化?、為什么進行關系規(guī)范化?SQL SERVER 2005數(shù)據(jù)庫與技術例如,要求設計教學管理數(shù)據(jù)庫,其關系模式例如,要求設計教學管理數(shù)據(jù)庫,其關系模式SCD如下:如下:nSCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)其中,其中,SNO表示學生學號,表示學生學號,SN表示學生姓名,表示學生姓名,AGE表表示學生年齡,示學生年齡,DEPT表示學生所在的系

3、別,表示學生所在的系別,MN表示系表示系主任姓名,主任姓名,CNO表示課程號,表示課程號,SCORE表示成績。表示成績。 在此關系模式中填入一部分具體的數(shù)據(jù),則可得到在此關系模式中填入一部分具體的數(shù)據(jù),則可得到SCD關系模式的實例,即一個教學管理數(shù)據(jù)庫。關系模式的實例,即一個教學管理數(shù)據(jù)庫。實例:教學管理數(shù)據(jù)庫實例:教學管理數(shù)據(jù)庫SQL SERVER 2005數(shù)據(jù)庫與技術SNOSNAGEDEPTMNCNOSCORES1趙亦趙亦17計算機計算機劉偉劉偉C190S1趙亦趙亦17計算機計算機劉偉劉偉C285S2錢爾錢爾18信息信息王平王平C557S2錢爾錢爾18信息信息王平王平C680S2錢爾錢爾1

4、8信息信息王平王平C7 70S2錢爾錢爾18信息信息王平王平C570S3孫珊孫珊20信息信息王平王平C10S3孫珊孫珊20信息信息王平王平C270S3孫珊孫珊20信息信息王平王平C485S4李思李思男男自動化自動化劉偉劉偉C193一個教學管理數(shù)據(jù)庫實例一個教學管理數(shù)據(jù)庫實例SQL SERVER 2005數(shù)據(jù)庫與技術1.數(shù)據(jù)冗余數(shù)據(jù)冗余浪費大量的存儲空間浪費大量的存儲空間 每個系名和系主任的名字存儲的次數(shù)等于每個系名和系主任的名字存儲的次數(shù)等于該系的學生人數(shù)乘以每個學生選修的課程門數(shù),該系的學生人數(shù)乘以每個學生選修的課程門數(shù),同時學生的姓名、年齡也都要重復存儲多次,同時學生的姓名、年齡也都要重復

5、存儲多次,數(shù)據(jù)的冗余度很大,浪費了存儲空間。數(shù)據(jù)的冗余度很大,浪費了存儲空間。存在問題存在問題SQL SERVER 2005數(shù)據(jù)庫與技術2.插入異常插入異常該有的數(shù)據(jù)無法插入該有的數(shù)據(jù)無法插入 如果某個新系沒有招生,尚無學生時,則如果某個新系沒有招生,尚無學生時,則系名和系主任的信息無法插入到數(shù)據(jù)庫中。因系名和系主任的信息無法插入到數(shù)據(jù)庫中。因為在這個關系模式中,為在這個關系模式中,(SNO,CNO)是主碼。是主碼。根據(jù)關系的實體完整性約束,主碼的值不能為根據(jù)關系的實體完整性約束,主碼的值不能為空,而這時沒有學生,空,而這時沒有學生,SNO和和CNO均無值,均無值,因此不能進行插入操作。因此不

6、能進行插入操作。存在問題存在問題SQL SERVER 2005數(shù)據(jù)庫與技術3. 刪除異常刪除異常不應該刪除的數(shù)據(jù)被刪除了不應該刪除的數(shù)據(jù)被刪除了 某系學生全部畢業(yè)而沒有招生時,刪除全部某系學生全部畢業(yè)而沒有招生時,刪除全部學生的記錄則系名、系主任也隨之刪除,而這學生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。信息。存在問題(續(xù))存在問題(續(xù))SQL SERVER 2005數(shù)據(jù)庫與技術4. 更新異常更新異常更新數(shù)據(jù)時,維護完整性的代更新數(shù)據(jù)時,維護完整性的代價太大價太大 如某系更換系主任,則屬于該系的學生記錄如某系更換

7、系主任,則屬于該系的學生記錄都要修改都要修改MN的內(nèi)容,稍有不慎,就有可能漏的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)的不一致性,破改某些記錄,這就會造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。壞了數(shù)據(jù)的完整性。存在問題(續(xù))存在問題(續(xù))SQL SERVER 2005數(shù)據(jù)庫與技術由于存在以上問題,我們說,由于存在以上問題,我們說,SCD是一個是一個不好的不好的關系關系模式。產(chǎn)生上述問題的原因,直觀地說,是因模式。產(chǎn)生上述問題的原因,直觀地說,是因為關系中為關系中“包羅萬象包羅萬象”,內(nèi)容太雜了。,內(nèi)容太雜了。那么,怎樣才能得到一個好的關系模式呢?那么,怎樣才能得到一個好的關系模式呢?

8、作業(yè)作業(yè)1:將關系模式:將關系模式SCD規(guī)范成好的關系模式。規(guī)范成好的關系模式。存在問題(續(xù))存在問題(續(xù))SQL SERVER 2005數(shù)據(jù)庫與技術問題問題二二:1 1、什么是關系規(guī)范化?什么是關系規(guī)范化?SQL SERVER 2005數(shù)據(jù)庫與技術規(guī)范化問題的提出規(guī)范化問題的提出關系數(shù)據(jù)庫的關系數(shù)據(jù)庫的規(guī)范化理論規(guī)范化理論主要包括三個方面的內(nèi)容:主要包括三個方面的內(nèi)容:n范式(范式(Normal Form)n函數(shù)依賴函數(shù)依賴n模式分解模式分解其中,其中,函數(shù)依賴函數(shù)依賴起著核心的作用,是模式分解和模式設起著核心的作用,是模式分解和模式設計的基礎,計的基礎,范式范式是模式分解的標準。是模式分解

9、的標準。SQL SERVER 2005數(shù)據(jù)庫與技術范式(范式(Normal formNormal form) 范式范式:建立關系時需要滿足的約束條件劃分成若:建立關系時需要滿足的約束條件劃分成若干標準,這些標準稱為范式,簡寫為干標準,這些標準稱為范式,簡寫為NFNF。范式的級。范式的級別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應小,但由于關聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應增加。增加。SQL SERVER 2005數(shù)據(jù)庫與技術范式范式 規(guī)范化的規(guī)范化的基本思想基本思想是消除關系模式中的數(shù)據(jù)冗余,消除數(shù)是消除關

10、系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時發(fā)生異據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時發(fā)生異?,F(xiàn)象。?,F(xiàn)象。這就要求關系數(shù)據(jù)庫設計出來的關系模式要滿足一定的條這就要求關系數(shù)據(jù)庫設計出來的關系模式要滿足一定的條件。件。我們把關系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要我們把關系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設立的不同標準稱為求設立的不同標準稱為范式(范式(Normal Form)。由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。滿足最基本規(guī)范化要求的關系模式叫第一范式,滿足最基本規(guī)范化要求的關系模式叫第一范式,在第

11、一范式中進一步滿足一些要求為第二范式,在第一范式中進一步滿足一些要求為第二范式,以此類推就產(chǎn)生了第三范式等概念。以此類推就產(chǎn)生了第三范式等概念。每種范式都規(guī)定了一些限制約束條件。每種范式都規(guī)定了一些限制約束條件。 SQL SERVER 2005數(shù)據(jù)庫與技術各種范式之間的關系各種范式之間的關系SQL SERVER 2005數(shù)據(jù)庫與技術函數(shù)依賴函數(shù)依賴 函數(shù)依賴(函數(shù)依賴(Functional Dependency)是關系模式中屬性之間的一種邏輯依賴關系。是關系模式中屬性之間的一種邏輯依賴關系。 例如在關系模式例如在關系模式SCD中,中,SNO與與SN、AGE、DEPT之間都有一種依賴關系。之間都

12、有一種依賴關系。 SQL SERVER 2005數(shù)據(jù)庫與技術SNOSNAGEDEPTMNCNOSCORES1趙亦趙亦17計算機計算機劉偉劉偉C190S1趙亦趙亦17計算機計算機劉偉劉偉C285S2錢爾錢爾18信息信息王平王平C557S2錢爾錢爾18信息信息王平王平C680S2錢爾錢爾18信息信息王平王平C7 70S2錢爾錢爾18信息信息王平王平C570S3孫珊孫珊20信息信息王平王平C10S3孫珊孫珊20信息信息王平王平C270S3孫珊孫珊20信息信息王平王平C485S4李思李思男男自動化自動化劉偉劉偉C193一個教學管理數(shù)據(jù)庫實例一個教學管理數(shù)據(jù)庫實例n由于一個由于一個SNO只對應一個學生,

13、而一個學生只能屬只對應一個學生,而一個學生只能屬于一個系,所以當于一個系,所以當SNO的值確定之后,的值確定之后,SN,AGE,DEPT的值也隨之被唯一的確定了。的值也隨之被唯一的確定了。SQL SERVER 2005數(shù)據(jù)庫與技術核心問題:核心問題:1 1、怎樣進行關系規(guī)范化?怎樣進行關系規(guī)范化?SQL SERVER 2005數(shù)據(jù)庫與技術范式化的基本步驟范式化的基本步驟 1NF關系關系 消除非主屬性對碼的部分函數(shù)依賴消除非主屬性對碼的部分函數(shù)依賴 2NF關系關系 消除非主屬性對碼的傳遞函數(shù)依賴消除非主屬性對碼的傳遞函數(shù)依賴 3NF關系關系 消除主屬性對非主屬性的函數(shù)依賴消除主屬性對非主屬性的函

14、數(shù)依賴 和對碼的部分、傳遞函數(shù)依賴和對碼的部分、傳遞函數(shù)依賴 BCNF關系關系 消除消除非平凡且非函數(shù)依賴的多值依非平凡且非函數(shù)依賴的多值依賴賴 4NF關系關系 消除非候選碼所蘊涵的連接依賴消除非候選碼所蘊涵的連接依賴 5NF關系關系并非規(guī)范并非規(guī)范化程度越高化程度越高的關系模式的關系模式就越好就越好SQL SERVER 2005數(shù)據(jù)庫與技術學生、課程及學生與課程聯(lián)系學生、課程及學生與課程聯(lián)系 的實體聯(lián)系圖(的實體聯(lián)系圖(E-RE-R圖圖) 學學 生生 課課 程程學生學生-課程課程學號學號姓名姓名班級班級選課密碼選課密碼選課人數(shù)選課人數(shù)課程編號課程編號上課時間上課時間課程名稱課程名稱課程類別課

15、程類別系部名稱系部名稱系部編號系部編號教師教師學分學分限選人數(shù)限選人數(shù)學學 號號姓名姓名課程名稱課程名稱志愿號志愿號選課狀態(tài)選課狀態(tài)成績成績SQL SERVER 2005數(shù)據(jù)庫與技術SQL SERVER 2005數(shù)據(jù)庫與技術 范式范式 一個關系的每一個屬性都是不可再分一個關系的每一個屬性都是不可再分的基本數(shù)據(jù)項,則該關系是的基本數(shù)據(jù)項,則該關系是范式。范式。 SQL SERVER 2005數(shù)據(jù)庫與技術課程課程編號編號課程課程名稱名稱課程課程類別類別學分學分教師教師系部系部編號編號系部名稱系部名稱上課上課時間時間限選限選人數(shù)人數(shù)001001SQLSQL信息信息技術技術3 3徐仁豐徐仁豐0101計

16、算機計算機周二周二2020002002JAVAJAVA信息信息技術技術2 2程偉斌程偉斌0101計算機計算機周二周二4040011011建筑建筑人文人文2 2林泉林泉0202建筑建筑周二周二2020012012智能智能建筑建筑工程工程技術技術2 2王娜王娜0202建筑建筑周二周二2020 表表1 課程表課程表SQL SERVER 2005數(shù)據(jù)庫與技術學號學號姓名姓名班級班級選課密碼選課密碼0000000100000001林斌林斌0000電子商務電子商務1234461234460000000200000002 彭少帆彭少帆0000電子商務電子商務5656534565653400000001100

17、0000011朱川朱川0000多媒體多媒體56461315646131表表2 學生表學生表表表3 學生選課表學生選課表學號學號姓名姓名課程名稱課程名稱選課狀態(tài)選課狀態(tài)志愿號志愿號成績成績0000000100000001林斌林斌SQLSQL報名報名1 185850000000200000002 彭少帆彭少帆ASPASP報名報名3 3 90 90 SQL SERVER 2005數(shù)據(jù)庫與技術 表表1 1、表、表2 2和表和表3 3滿足滿足范式的條件,所以它們是范式的條件,所以它們是范式。范式。 范式是關系模型必須達到的最低要求,不滿足該條范式是關系模型必須達到的最低要求,不滿足該條件的關系模型稱為非

18、規(guī)范化關系,即非件的關系模型稱為非規(guī)范化關系,即非I I范式。范式。SQL SERVER 2005數(shù)據(jù)庫與技術范式范式 范式首先是范式首先是范式,關系中的每一范式,關系中的每一個非主屬性完全個非主屬性完全函數(shù)依賴函數(shù)依賴于主關鍵字,則于主關鍵字,則該關系是該關系是范式。范式。 SQL SERVER 2005數(shù)據(jù)庫與技術課程課程編號編號課程課程名稱名稱課程課程類別類別學分學分教師教師系部系部編號編號系部系部名稱名稱上課上課時間時間限選限選人數(shù)人數(shù)001001SQLSQL信息信息技術技術3 3徐仁徐仁豐豐0101計算計算機機周二周二2020002002JAVAJAVA信息信息技術技術2 2程偉程偉

19、斌斌0101計算計算機機周二周二4040011011建筑建筑人文人文2 2林泉林泉0202建筑建筑周二周二2020012012智能智能建筑建筑工程工程技術技術2 2王娜王娜0202建筑建筑周二周二2020 表表1 課程表課程表注:表中黃色背景顯示的是主關鍵字注:表中黃色背景顯示的是主關鍵字SQL SERVER 2005數(shù)據(jù)庫與技術學號學號姓名姓名班級班級選課密碼選課密碼0000000100000001林斌林斌0000電子商務電子商務1234461234460000000200000002 彭少帆彭少帆0000電子商務電子商務56565345656534000000011000000011朱川朱

20、川0000多媒體多媒體56461315646131表表2 學生表學生表SQL SERVER 2005數(shù)據(jù)庫與技術表表3 學生選課表學生選課表學號學號姓名姓名課程名稱課程名稱選課狀選課狀態(tài)態(tài)志愿號志愿號成績成績0000000100000001林斌林斌SQLSQL報名報名1 185850000000200000002 彭少帆彭少帆ASPASP報名報名3 3 90 90 SQL SERVER 2005數(shù)據(jù)庫與技術將非將非范式規(guī)范為范式規(guī)范為范式的方法是:范式的方法是: 將部分函數(shù)依賴關系中的主屬性將部分函數(shù)依賴關系中的主屬性(決定方?jīng)Q定方)和非和非主屬性從關系中提取出來,單獨構成一個關系模式,主屬性

21、從關系中提取出來,單獨構成一個關系模式,將關系模式中余下的屬性,加上主關鍵字,構成另將關系模式中余下的屬性,加上主關鍵字,構成另一個關系一個關系 。 SQL SERVER 2005數(shù)據(jù)庫與技術表表4 學生選課表學生選課表學號學號課程名稱課程名稱選課狀態(tài)選課狀態(tài)志愿號志愿號成績成績0000000100000001SQLSQL報名報名1 185850000000200000002ASPASP報名報名3 3 90 90 學號學號姓名姓名課程名稱課程名稱選課狀選課狀態(tài)態(tài)志愿號志愿號成績成績0000000100000001林斌林斌SQLSQL報名報名1 185850000000200000002 彭少帆

22、彭少帆ASPASP報名報名3 3 90 90 表表3 學生選課表學生選課表SQL SERVER 2005數(shù)據(jù)庫與技術2NF的缺點的缺點2NF2NF的關系模式解決了的關系模式解決了1NF1NF中存在的一些問題,中存在的一些問題,2NF2NF規(guī)規(guī)范化的程度比范化的程度比1NF1NF前進了一步,但前進了一步,但2NF2NF的關系模式在進的關系模式在進行數(shù)據(jù)操作時,仍然存在著一些問題:行數(shù)據(jù)操作時,仍然存在著一些問題:n1 1數(shù)據(jù)冗余。數(shù)據(jù)冗余。n2 2插入異常。插入異常。n3 3刪除異常。刪除異常。n4 4更新異常。更新異常。SQL SERVER 2005數(shù)據(jù)庫與技術表表1 課程表課程表表表2 學生

23、表學生表表表4 選課表選課表SQL SERVER 2005數(shù)據(jù)庫與技術 范式范式 范式首先是范式首先是范式,且關系中的任何一個非主屬性范式,且關系中的任何一個非主屬性都不都不函數(shù)傳遞依賴函數(shù)傳遞依賴于任何主關鍵字,則關系是于任何主關鍵字,則關系是 范式。范式。 首先需要找出關系中的所有主關鍵字,然后確定任首先需要找出關系中的所有主關鍵字,然后確定任何一個非主屬性和任何主關鍵字之間是否存在函數(shù)傳何一個非主屬性和任何主關鍵字之間是否存在函數(shù)傳遞依賴關系,如果有則刪除函數(shù)傳遞依賴關系。遞依賴關系,如果有則刪除函數(shù)傳遞依賴關系。SQL SERVER 2005數(shù)據(jù)庫與技術課程課程編號編號課程課程名稱名稱

24、課程課程類別類別學分學分教師教師系部系部編號編號系部系部名稱名稱上課上課時間時間限選限選人數(shù)人數(shù)001001SQLSQL信息信息技術技術3 3徐仁豐徐仁豐0101計算計算機機周二周二2020002002JAVAJAVA信息信息技術技術2 2程偉斌程偉斌0101計算計算機機周二周二4040011011建筑建筑人文人文2 2林泉林泉0202建筑建筑周二周二2020012012智能智能建筑建筑工程工程技術技術2 2王娜王娜0202建筑建筑周二周二2020 表表1 課程表課程表SQL SERVER 2005數(shù)據(jù)庫與技術課程課程編號編號課程課程名稱名稱課程課程類別類別學分學分教師教師系部系部編號編號上課

25、上課時間時間限選人限選人數(shù)數(shù)001001SQLSQL信息信息技術技術3 3徐仁豐徐仁豐0101周二周二2020002002JAVAJAVA信息信息技術技術2 2程偉斌程偉斌0101周二周二4040011011建筑建筑人文人文2 2林泉林泉0202周二周二2020系部編號系部編號系部名稱系部名稱0101計算機計算機0202建筑建筑0303旅游旅游 表表5 課程表課程表 表表6 系部表系部表SQL SERVER 2005數(shù)據(jù)庫與技術表表1 課程表課程表表表2 學生表學生表表表4 選課表選課表SQL SERVER 2005數(shù)據(jù)庫與技術屬于屬于3NF的關系模式一定是好模式?的關系模式一定是好模式?SQ

26、L SERVER 2005數(shù)據(jù)庫與技術學號學號姓名姓名班級班級選課密碼選課密碼0000000100000001林斌林斌0000電子商務電子商務1234461234460000000200000002 彭少帆彭少帆0000電子商務電子商務565653456565340000001100000011朱川朱川0000多媒體多媒體56461315646131表表2 學生表學生表表表7 班級表班級表班級編號班級編號班級名稱班級名稱系部編號系部編號2000000012000000010000電子商務電子商務01012000000022000000020000多媒體多媒體0101學號學號姓名姓名班級編號班級

27、編號選課密碼選課密碼0000000100000001林斌林斌20000001200000011234461234460000000200000002 彭少帆彭少帆2000000120000001565653456565340000001100000011朱川朱川200000022000000256461315646131表表8 學生表學生表SQL SERVER 2005數(shù)據(jù)庫與技術表表4 學生選課表學生選課表學號學號課程名稱課程名稱選課狀態(tài)選課狀態(tài)志愿號志愿號成績成績0000000100000001SQLSQL報名報名1 10000000200000002ASPASP報名報名3 3學號學號課程

28、編號課程編號選課狀態(tài)選課狀態(tài)志愿號志愿號成績成績0000000100000001001001報名報名1 10000000200000002008008報名報名3 3表表9 學生選課表學生選課表SQL SERVER 2005數(shù)據(jù)庫與技術 表表1 課程表課程表表表5 課程表課程表表表6 系部表系部表SQL SERVER 2005數(shù)據(jù)庫與技術表表2 學生表學生表表表7班級表班級表表表8 選課表選課表表表2 學生表學生表SQL SERVER 2005數(shù)據(jù)庫與技術表表3 選課表選課表表表4 選課表選課表表表9選課表選課表SQL SERVER 2005數(shù)據(jù)庫與技術關系模式的規(guī)范化關系模式的規(guī)范化 小結小結

29、 規(guī)范化規(guī)范化 一個低一級范式的關系模式,通過模式分解轉一個低一級范式的關系模式,通過模式分解轉換為若干個高一級范式的關系模式集合的過程。換為若干個高一級范式的關系模式集合的過程。規(guī)范化目的規(guī)范化目的 消除關系上的數(shù)據(jù)冗余、操作異常的現(xiàn)象。消除關系上的數(shù)據(jù)冗余、操作異常的現(xiàn)象。規(guī)范化基本思想規(guī)范化基本思想 逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關系模式達到某種程度的分解。各關系模式達到某種程度的分解。規(guī)范化實質規(guī)范化實質 概念的單一化概念的單一化SQL SERVER 2005數(shù)據(jù)庫與技術數(shù)據(jù)完整性數(shù)據(jù)完整性 數(shù)據(jù)的完整性就是數(shù)據(jù)的正確性和一致性,

30、它反映了現(xiàn)實數(shù)據(jù)的完整性就是數(shù)據(jù)的正確性和一致性,它反映了現(xiàn)實世界中實體的本來面貌。世界中實體的本來面貌。 數(shù)據(jù)的完整性分為數(shù)據(jù)的完整性分為列的完整性列的完整性、表的完整性表的完整性和和參照完整性。參照完整性。 SQL SERVER 2005數(shù)據(jù)庫與技術1.列完整性 列的完整性也稱域完整性或用戶定義完整性。列的完整性也稱域完整性或用戶定義完整性。 列完整性是指表中任意列的數(shù)據(jù)類型必須符合用戶的定義,列完整性是指表中任意列的數(shù)據(jù)類型必須符合用戶的定義,或者數(shù)據(jù)必須在規(guī)定的有效范圍之內(nèi)?;蛘邤?shù)據(jù)必須在規(guī)定的有效范圍之內(nèi)。 表表6 系部表系部表系部編號系部編號系部名稱系部名稱0101計算機計算機02

31、02建筑建筑0303旅游旅游SQL SERVER 2005數(shù)據(jù)庫與技術2 .表完整性 表完整性也可稱實體完整性。表完整性也可稱實體完整性。 所謂實體完整性,是指表中必須有一個主關鍵字,且主所謂實體完整性,是指表中必須有一個主關鍵字,且主鍵值不能為空。鍵值不能為空。 表表6 系部表系部表系部編號系部編號系部名稱系部名稱0101計算機計算機0202建筑建筑0303旅游旅游SQL SERVER 2005數(shù)據(jù)庫與技術3 .參照完整性 參照完整性也稱為引用完整性,它指對外鍵值參照完整性也稱為引用完整性,它指對外鍵值進行插入或修改時一定要參照主鍵的值是否存在。進行插入或修改時一定要參照主鍵的值是否存在。對

32、主鍵進行修改或刪除時,也必須要參照外鍵的對主鍵進行修改或刪除時,也必須要參照外鍵的值是否存在。值是否存在。 SQL SERVER 2005數(shù)據(jù)庫與技術4 .保證參照完整性規(guī)則 (1 1)對外鍵所在的表執(zhí)行插入操作時,要保證外鍵的值一定)對外鍵所在的表執(zhí)行插入操作時,要保證外鍵的值一定要在主表中存在。要在主表中存在。 班級編號班級編號班級名稱班級名稱系部編號系部編號2000000012000000010000電子商務電子商務01012000000022000000020000多媒體多媒體0101表表7 班級表班級表學號學號姓名姓名班級編號班級編號選課密碼選課密碼0000000100000001林斌林斌20000001200000011234461234460000000200000002 彭少帆彭少帆2000000120000001565653456565340000001100000011朱川朱川200000022000000256461315646131表表8 學生表學生表SQL SERVER 2005數(shù)據(jù)庫與技術 (2 2)修改從表的外關鍵字時,要保證修改后的外鍵值在主)修改從表的外關鍵字時,要保證修改后的外鍵值在主表中已存在,就是說要參照主表的主關鍵字的值。表中已存在,就是說要參照主表的主關

溫馨提示

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

評論

0/150

提交評論