版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關系數(shù)據(jù)庫基本原理目錄2高等教育出版社
關系數(shù)據(jù)庫概述關系的規(guī)范化分析關系數(shù)據(jù)庫的設計一關系數(shù)據(jù)庫概述3高等教育出版社1.關系數(shù)據(jù)庫與表2.主鍵與外鍵3.約束4.數(shù)據(jù)完整性5.表的關聯(lián)1.關系型數(shù)據(jù)庫與表
關系型數(shù)據(jù)庫:是指一些相關的表和其他數(shù)據(jù)庫對象的集合。在關系型數(shù)據(jù)庫中,信息存放在二維表格結構的表中,一個關系型數(shù)據(jù)庫包含多個數(shù)據(jù)表,每一個表包含行(記錄)和列(字段)。學生信息表表中的每行記錄都必須是惟一的,而不允許出現(xiàn)完全相同的記錄。通過定義主鍵(PRIMARYKEY)來保證記錄(實體)的惟一性。主鍵:一個表的主鍵由一個或多個字段組成,其值具有惟一性,而且不允許取空值(NULL),主鍵的作用是惟一地標識表中的每一條記錄。要求:為了惟一標識實體的每個實例,每個數(shù)據(jù)庫表都應當有一個主鍵,而且只能有一個主鍵。提示:有時可以考慮使用兩個或兩個以上字段的組合作為主鍵。2.主鍵與外鍵---主鍵主鍵主鍵外鍵:一個關系型數(shù)據(jù)庫可能包含多個表,可以通過外鍵(FOREIGNKEY)使這些表之間關聯(lián)起來。如果在表A中有一個字段對應于表B中的主鍵,則該字段稱為表A的外鍵。2.主鍵與外鍵---外鍵圖1-2主鍵與外鍵的關系主鍵外鍵B表:student_info表A表:Result_info表主鍵外鍵C表:Course_info表3.約束約束:在設計表時,針對表中的一個或多個字段組合設置約束條件,讓SQLServer檢查字段中的輸入值是否符合約束條件的要求。分為兩種約束:表級約束:針對表中幾個字段的約束。字段級約束:針對表中一個字段的約束。(1)PRIMARYKEY約束作用:保證表中每條記錄的惟一性??捎靡粋€字段或多個字段(最多16個)的組合作為表的主鍵。用單個字段作主鍵,使用字段級約束;用字段組合作主鍵,使用表級約束。要求:每個表只能有一個主鍵,且主鍵字段的內容不能重復和空值。幾種常見的約束(2)FOREIGNKEY約束作用:保證FOREIGNKEY字段與其他表中的主鍵字段或具有惟一性的字段相對應,其值必須在所引用的表中存在,且與所引用的表在同一數(shù)據(jù)庫中。若在外鍵字段中輸入一個非NULL值,但該值在所引用的表中并不存在,則該記錄也會被拒絕。要求:外鍵字段本身的值不要求是惟一的。
(3)NULL與NOTNULL約束定義:若一個字段中允許不輸入數(shù)據(jù),則可以將該字段定義為NULL約束,若在一個字段中必須輸入數(shù)據(jù),則應當將該字段定義為NOTNULL約束。NULL含義:既不等價于數(shù)值型數(shù)據(jù)中的0,也不等價于字符型數(shù)據(jù)中的空字符串。表示用戶還沒有為該字段輸入值。(4)UNIQUE約束定義:如果一個字段值不允許重復,則應當對該字段添加UNIQUE約束。區(qū)別:與主鍵約束不同的是,在UNIQUE字段中允許出現(xiàn)NULL值,但為保持惟一性,最多只能出現(xiàn)一次NULL值。
(5)CHECK約束
定義:CHECK約束用于檢查一個字段或整個表的輸入值是否滿足指定的檢查條件。在表中插入或修改記錄時,如果不符合這個檢查條件,則這條記錄將被拒絕。
(6)DEFAULT
約束作用:用于指定一個字段的默認值,當尚未在該字段中輸入數(shù)據(jù)時,該字段中將自動填入這個默認值。若對一個字段添加了NOTNULL約束,但又沒有設置DEFAULT約束,就必須在該字段中輸入一個非NULL值,否則將會出現(xiàn)錯誤。5數(shù)據(jù)完整性規(guī)劃關系數(shù)據(jù)庫表有兩個重要步驟:
如何確定一個字段的有效值;如何強制實施字段的數(shù)據(jù)完整性。數(shù)據(jù)完整性:保證關系型數(shù)據(jù)庫中數(shù)據(jù)的正確性和可靠性,分為4種類型。(1)實體完整性:EntityIntegrity,用于保證關系型數(shù)據(jù)庫表中的每條記錄都是惟一的。
主鍵約束:確保實體完整性。表中的主鍵不能取空值,也不能取重復的值。(2)域完整性:DomainIntegrity,用于保證給定字段中數(shù)據(jù)的有效性,即保證數(shù)據(jù)的取值在有效的范圍內。(3)參照完整性:ReferentialIntegrity,用于確保相關聯(lián)的表間的數(shù)據(jù)保持一致。當添加、刪除或修改關系型數(shù)據(jù)庫表中的記錄時,可以借助于參照完整性來保證相關聯(lián)的表之間的數(shù)據(jù)一致性??赏ㄟ^定義表的主鍵和外鍵關系來實現(xiàn)。(4)用戶自定義完整性:(User-definedIntegrity)是一種強制數(shù)據(jù)定義。6表的關聯(lián)表之間的關聯(lián)方式分為以下3種類型。(1)一對一關聯(lián)(1:1)
設在一個數(shù)據(jù)庫中有A、B兩個表,對于表A中的任何一條記錄,表B中只能有一條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中也只能有一條記錄與之對應,則稱這兩個表是一對一關聯(lián)的。
(2)一對多關聯(lián)(1:n)
設在一個關系型數(shù)據(jù)庫中有A、B兩個表,對于表A中的任何一條記錄,表B中可能有多條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中卻只能有一條記錄與之對應,則稱這兩個表是一對多的關聯(lián)。(a)學生表一(b)學生表二(c)成績表(d)課程表關系型數(shù)據(jù)庫表的關聯(lián)(3)多對多關聯(lián)(m:n)
設一個關系型數(shù)據(jù)庫中有A、B兩個表,對于表A中的任何一條記錄,表B中可能有多條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中也有多條記錄與之對應,則稱這兩個表是多對多關聯(lián)的。二關系的規(guī)范化分析
關系規(guī)范化理論:在實現(xiàn)階段指導關系型數(shù)據(jù)庫的設計。1970年E.F.Codd提出關系型數(shù)據(jù)庫設計的三條規(guī)則,通稱為三范式(NormalForm),即:。第一范式(1NF)。第二范式(2NF)。第三范式(3NF)關系:3個范式有高低等級之分,3NF最高,2NF次之,1NF最低。在1NF的基礎上又滿足某些特性才能達到第二范式的要求,在2NF的基礎上再滿足一些要求才能達到第三范式的要求。作用:用于關系數(shù)據(jù)庫設計,能夠簡化設計過程,達到減少數(shù)據(jù)冗余、提高查詢效率的目的。三范式間的關系1.第一范式定義:若一個關系型數(shù)據(jù)庫表中的每一字段值都是單一的,則稱這個表屬于第一范式。即:表中的每個字段都應當是不可再分的。示例:非1NF表,成績字段不單一,可以再細分。
如何將非1NF變?yōu)?NF?——細分符合1NF的數(shù)據(jù)庫表方法:將“成績字段”細分為4個單獨的字段。
圖1-8符合1NF的數(shù)據(jù)庫表示例:1NF表,每個字段不可再細分。
2.第二范式定義:若一個數(shù)據(jù)庫表滿足第一范式的要求,且它的每個非主鍵字段完全依賴于主鍵,則稱該數(shù)據(jù)庫表屬于第二范式。示例:符合1NF,但不符合2NF部分依賴關系主鍵學生信息表student_Info如何將1NF變?yōu)?NF?——分割成績信息表result_Info主鍵主鍵圖1-11課程信息表course_Info如何將1NF變?yōu)?NF?——分割(續(xù))主鍵3.第三范式定義:如果一個數(shù)據(jù)庫表滿足第二范式的要求,而且該表中的每一個非主鍵字段不傳遞依賴于主鍵,則稱這個數(shù)據(jù)庫表屬于第三范式。傳遞依賴:在一個數(shù)據(jù)庫表中有A、B、C三個字段,如果字段B依賴于字段A,字段C又依賴于字段B,則稱字段C傳遞依賴于字段A,并稱在該數(shù)據(jù)庫表中存在傳遞依賴關系。在一個數(shù)據(jù)庫表中,若有一個非主鍵字段依賴于另一個非主鍵字段,則該字段必然傳遞依賴于主鍵,因而該數(shù)據(jù)庫表就不屬于第三范式。第三范式的實際含義:要求非主鍵字段之間不應該有從屬關系。示例:符合2NF,但不符合3NF傳遞依賴關系學生信息表student_Info如何將2NF變?yōu)?NF?——分割主鍵班級信息表class_Info主鍵外鍵三關系型數(shù)據(jù)庫的設計E-R模型數(shù)據(jù)庫設計過程
E-R模型(Entity-Relationship)即實體—聯(lián)系模型,是1976年P.P.S.Chen提出的。這種模型用E-R圖來表示實體及其聯(lián)系,廣泛用于數(shù)據(jù)庫設計中。1.E-R模型一個E-R圖由實體、屬性和聯(lián)系三種基本要素組成。(1)實體:即現(xiàn)實世界中存在的、可以相互區(qū)別的人或事物。一個實體集合對應于數(shù)據(jù)庫中的一個表,一個實體則對應于表的一行,也稱為一條記錄。在E-R圖中,實體用矩形框表示。(2)屬性:表示實體或聯(lián)系的某種特征。一個屬性對應于數(shù)據(jù)庫表中的一列,也稱為一個字段。在E-R圖中,屬性用橢圓表示。(3)聯(lián)系:即實體之間存在的聯(lián)系。在E-R圖中,聯(lián)系用菱形框表示。聯(lián)系的類型可以是1-1、1-n、n-m等。(1)先確定實體集與聯(lián)系集,把參加聯(lián)系的實體集連接起來。(2)畫出諸實體的屬性和聯(lián)系的屬性。說明:當實體集與聯(lián)系較多時,為了E-R圖的整潔和可讀性,有時可以略去屬性。繪制E-R圖的步驟E-R圖示例學生實體局部E-R圖
教師實體局部E-R圖學號學生姓名性別年齡課程號課程課程名學分課程實體局部E-R圖年齡教師姓名性別教師編號E-R圖示例成績選修學號學生姓名課程號課程課程名性別年齡mn學分系學生實體與課程實體局部E-R圖E-R圖示例年齡教師姓名講授課程號課程課程名性別教師編號n1學分教師實體與課程實體局部E-R圖E-R圖綜合示例選修學號學生姓名年齡教師姓名講授課程號課程課程名性別年齡性別教師編號mnn1學分系成績學生實體、課程實體和教師實體E-R圖2數(shù)據(jù)庫設計過程數(shù)據(jù)庫的設計都要經(jīng)歷:需求分析、概念設計、邏輯設計和物理設計幾個階段。1.需求分析分析系統(tǒng)的需求。主要任務:從數(shù)據(jù)庫的所有用戶那里收集對數(shù)據(jù)的需求和對數(shù)據(jù)處理的要求,并把這些需求寫成用戶和設計人員都能接受的說明書。2.概念設計將需求說明書中關于數(shù)據(jù)的需求,綜合為一個統(tǒng)一的概念模型。步驟:(1)根據(jù)單個應用的需求,畫出能反映每一應用需求的局部E-R模型。(2)將局部E-R模型圖合并起來,消除冗余和可能存在的矛盾,得出系統(tǒng)總體的E-R模型。3.實現(xiàn)設計(邏輯設計)將E-R模型轉換為某一特定的DBMS能夠接受的邏輯模式。對關系型數(shù)據(jù)庫,主要完成表的關聯(lián)和結構的設計。E-R圖向關系數(shù)據(jù)模型的轉換
51高等教育出版社
將E-R圖轉換為關系模型實際上就是將實體、實體屬性和實體之間的聯(lián)系轉化為關系模式,并確定關系模式的屬性和碼。
1.將實體轉換為關系模式一般將E-R圖中的實體轉化為一個關系模式。實體的屬性轉化為關系的屬性,實體的碼就是關系的碼。一對一聯(lián)系(1:1)52高等教育出版社2.將實體間的聯(lián)系轉化成關系模式實體之間的聯(lián)系比較復雜,可以按照以下規(guī)則轉換。(1)1:1的聯(lián)系
1:1的聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該1:1聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼都可以是該關系模式的候選碼。如果與某一端對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性。大多情況下采用后一種方式。一對多聯(lián)系(1:n)53高等教育出版社(2)1:n的聯(lián)系
1:n的聯(lián)系有兩種轉換方式:可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼是n端實體的碼。也可以與n端對應的關系模式合并,只需要將1端的關鍵字及聯(lián)系的屬性合并入多端的關系模式。54高等教育出版社例如:“講授”聯(lián)系是一對多聯(lián)系,與之相連的兩個實體為“課程”實體和“教師”實體,這兩個實體可以分別轉換為對應的關系模式:課程(課程號,課程名,學分)課程號是主鍵教師(教師編號,姓名,性別,年齡)教師編號是主鍵年齡教師姓名講授課程號課程課程名性別教師編號n1學分55高等教育出版社
對于“講授”聯(lián)系,可以轉換為一個關系模式,其屬性由“課程”實體的碼“課程號”,“教師”實體的的碼“教師編號”以及此聯(lián)系的屬性組成,作為多端的“課程”實體的碼成為關系模式的碼。由于聯(lián)系沒有屬性,關系模式為:講授(課程號,教師編號)
課程號是主鍵,教師編號是外鍵
也可以采用另一種方式,即“講授”聯(lián)系不用轉換為一個單獨的關系模式,而是將“教師”實體的碼和聯(lián)系的屬性合并入課程實體對應的關系模式中,課程關系模式為:課程(課程號,課程名,學分,教師編號)
課程號是主鍵,教師編號是外鍵56高等教育出版社即:課程(課程號,課程名,學分)教師(教師編號,姓名,性別,年齡)講授(課程號,教師編號)或者:課程(課程號,課程名,學分,教師編號)教師(教師編號,姓名,性別,年齡)年齡教師姓名講授課程號課程課程名性別教師編號n1學分多對多聯(lián)系(m:n)57高等教育出版社(3)m:n的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作研發(fā)協(xié)議書
- 職場信息交換協(xié)議
- 農膜買賣合同與農藥買賣合同2024年-
- 校園活動資助協(xié)議書范本
- 勞務配合合同樣本
- 保險業(yè)務合作協(xié)議范本
- 教育設備買賣協(xié)議樣本
- 個人合作協(xié)議范本
- 食堂承包合同的續(xù)簽流程
- 建筑工程招標合同范本(投標書)
- 鋼廠拆除施工方案
- 麻醉科PDCA持續(xù)改進麻醉術后鎮(zhèn)痛
- 新概念英語青少版-2B-unit-20課件(共31張)
- 消防安全教育培訓記錄
- 銀行面試無領導小組討論題目及答案
- 中建抗浮錨桿專項施工方案范例
- 【課件】信息系統(tǒng)的組成與功能 2023-2024學年人教中圖版(2019)高中信息技術必修2
- 主播藝人入職面試信息登記表
- 灌注樁樁基工程樁頭破除、缺陷修補、接樁施工方案
- 掘進工作面貫通專項辨識評估報告
- 疼痛評估:準確評估病人疼痛
評論
0/150
提交評論