




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、SQL Server2005 數(shù)據(jù)庫技術(shù)及應用第第2章章 關(guān)系型數(shù)據(jù)庫及其設(shè)計方法關(guān)系型數(shù)據(jù)庫及其設(shè)計方法第第2章章 關(guān)系型數(shù)據(jù)庫及其設(shè)計方法關(guān)系型數(shù)據(jù)庫及其設(shè)計方法 2.1 關(guān)關(guān)系模型與關(guān)與關(guān)系操作 2.2 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫庫基本概概念 2.3 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫設(shè)計庫設(shè)計方法2.1 關(guān)關(guān)系模型與關(guān)與關(guān)系操作 2.1.1 基本概概念 2.1.2 傳統(tǒng)傳統(tǒng)的集合運運算 2.1.3 專門專門的關(guān)關(guān)系運運算2.1.1 基本概概念 1關(guān)系:一個關(guān)系對應一張二維表,圖2.1中的這張學生信息表就是一個關(guān)系。 2元組:表中的一行即為一個元組(也稱為一條記錄)。 3屬性:表中的一列即為一個屬性,圖2.1有6列
2、,對應6個屬性,給每個屬性起一個名字即屬性名,例如student_id即為第一列的屬性名。 4碼(key):表中的某個屬性(組),它可以惟一確定一個元組,則稱該屬性組為“侯選碼”。若一個關(guān)系有多個候選碼,則選定其中一個為主碼。如圖2.1中的student_id(學號),是該學生關(guān)系的碼,并且是主碼。 5域(domain):屬性的取值范圍,如圖2.1中學生性別的域是(男,女)。圖2.1縱的一列稱為一個屬性(字段),表頭縱的一列稱為一個屬性(字段),表頭給出屬性名(字段名)給出屬性名(字段名)橫的一行稱為一個元組(記錄)橫的一行稱為一個元組(記錄)2.1.2 傳統(tǒng)傳統(tǒng)的集合運運算 1并并 2交 3
3、差 4廣義義笛卡爾積積 abc123456789Rabc123000789S并并 關(guān)系R與關(guān)系S的并由屬于R或?qū)儆赟的元組組成,其結(jié)果關(guān)系仍為n目關(guān)系。記作RS ab12457800RS abc123456789Rabc123000789S交 關(guān)系R與關(guān)系S的交由既屬于R又屬于S的元組組成,其結(jié)果關(guān)系仍為n目關(guān)系。記作RS ab1278RS abc123456789Rabc123000789S差 關(guān)系R與關(guān)系S的差由屬于R而不屬于S的所有元組組成。其結(jié)果關(guān)系仍為n目關(guān)系。記作R-S ab45R-Sabc123456789Rabc123000789S廣義義笛卡爾積積 兩個分別為n目和m目的關(guān)系R
4、和S的廣義笛卡爾積是一個(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個元組,后m列是關(guān)系S的一個元組。若R有A1個元組,S有A2個元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有AlA2個元組。記作RS RSabcabc1231231230001237894561234560004567897891237890007897892.1.3 專門專門的關(guān)關(guān)系運運算 1選擇選擇 2投影 3連連接 4除選擇選擇 選擇是在關(guān)系R中選擇滿足給定條件的諸元組 是從行的角度進行的運算 投影 關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。 是從列的角度進行的運算 連連接 連接(Join)是將兩個和多個關(guān)系連接
5、在一起,形成一個新的關(guān)系。連接運算是按照給定條件,把滿足條件的各關(guān)系的所有元組,按照一切可能組合成新的關(guān)系。或者說,連接運算的結(jié)果是在兩關(guān)系的笛卡爾積上的選擇。記作: 自然連接:當連接的兩關(guān)系有相同的屬性名時,稱這種連接為自然連接,它是連接的一個特例。記作: 連連接 等值連接:它是從關(guān)系R與S的笛卡爾積中選取條件為A、B屬性值相等的那些元組 ABRS2.2 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫庫基本概概念2.2.1關(guān)關(guān)系型數(shù)數(shù)據(jù)庫庫定義義2.2.2數(shù)數(shù)據(jù)完整性2.2.3表間關(guān)聯(lián)間關(guān)聯(lián) 2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析2.2.1關(guān)關(guān)系型數(shù)數(shù)據(jù)庫庫定義義 關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 是指一些相關(guān)的表和其他數(shù)據(jù)庫
6、對象,例如視圖、存儲過程和索引等的集合。在關(guān)系型數(shù)據(jù)庫中,信息存放在二維表中,一個關(guān)系型數(shù)據(jù)庫包含多個二維表。關(guān)系型數(shù)據(jù)庫所包含的表之間是有關(guān)聯(lián)的,關(guān)聯(lián)主要由主碼和外碼所體現(xiàn)的參照關(guān)系實現(xiàn)。 2.2.2數(shù)數(shù)據(jù)完整性數(shù)據(jù)完整性用于保證關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)的正確性和可靠性。數(shù)據(jù)完整性用于保證關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)的正確性和可靠性。 1實體完整性(Entity Integrity):實體完整性用來保證關(guān)系數(shù)據(jù)庫表中的每一條記錄都是唯一的。 實體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。2域完整性(Domain Integrity):域完整性用于屬性的取值在有效的范圍內(nèi)。3參照完整性(R
7、eferential Integrity) 參照完整性用于確保相關(guān)聯(lián)的表間的數(shù)據(jù)保持一致。當進行增加、刪除和修改關(guān)系型數(shù)據(jù)庫表中的記錄時,必須借助參照完整性來保證相關(guān)聯(lián)的表之間數(shù)據(jù)的一致性。4用戶自定義完整性(User-defined Integrity) 實體完整性和參照完整性適用于任何關(guān)系數(shù)據(jù)庫系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶自定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。2.2.3表間關(guān)聯(lián)間關(guān)聯(lián)1一對一關(guān)聯(lián)(one-to-one)設(shè)在一個關(guān)系型數(shù)據(jù)庫中有A、B兩表,對于表A中
8、的任何一條記錄,表B中只能有一條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中也只能有一條記錄與之對應,則稱這兩個表是一對一的關(guān)聯(lián)。一對一關(guān)聯(lián)是通過主碼來實現(xiàn)的。 2一對多關(guān)聯(lián)(one-to-many)設(shè)在一個關(guān)系型數(shù)據(jù)庫中有A、B兩表,對于表A中的任何一條記錄,表B中可能有多條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中卻只能有一條記錄與之對應,則稱這兩個表是一對多的關(guān)聯(lián)。3多對多關(guān)聯(lián)(many-to-many)設(shè)在一個關(guān)系型數(shù)據(jù)庫中有A、B兩表,對于表A中的任何一條記錄,表B中可能有多條記錄與之對應;反過來,對于表B中的任何一條記錄,表A中也有多條記錄與之對應,則稱這兩個
9、表是多對多的關(guān)聯(lián)。 2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析 11NF:如果一個關(guān)系如果一個關(guān)系R的所有屬性都是不可分的所有屬性都是不可分的基本數(shù)據(jù)項,則的基本數(shù)據(jù)項,則R1NF。任何一個關(guān)系模式。任何一個關(guān)系模式都是都是1NF,不滿足第一范式的數(shù)據(jù)庫模式不能稱,不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。為關(guān)系數(shù)據(jù)庫。 22NF:若關(guān)系若關(guān)系RlNF,并且每一個非主屬性都,并且每一個非主屬性都完全依賴于完全依賴于R的主碼,則的主碼,則R 2NF。 33NF:若關(guān)系若關(guān)系R2NF,并且每一個非主屬性,并且每一個非主屬性不傳遞依賴于不傳遞依賴于R的主碼,則的主碼,則R3NF。 2.2.4關(guān)關(guān)系
10、型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析問題問題的提出在設(shè)計關(guān)系數(shù)據(jù)庫時,經(jīng)常采用一種自下而上的設(shè)計方法。這種方法是對涉及的所有數(shù)據(jù)進行收集,然后按照欄目進行歸納分類。 插入異常: 刪除異常: 數(shù)據(jù)冗余: 解決這些問題的辦法就是重新設(shè)計數(shù)據(jù)庫。2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析學號學號姓名姓名性性別別出生出生日期日期所在所在系系課程名課程名稱稱成成績績課程課程教師教師職稱職稱0052201陳韜陳韜男1981-5-6計計算機系數(shù)數(shù)據(jù)庫庫技術(shù)術(shù)90趙趙俊榮榮副教教授0052201陳韜陳韜男1981-5-6計計算機系操作系統(tǒng)統(tǒng)85溫溫翠靈靈講師講師0052201陳韜陳韜男1981-5-6計計算機系C語語言75
11、趙趙俊榮榮副教教授0051309白亞亞春男1981-1-25計計算機系數(shù)數(shù)據(jù)庫庫技術(shù)術(shù)95趙趙俊榮榮副教教授0051309白亞亞春男1981-1-25計計算機系操作系統(tǒng)統(tǒng)88溫溫翠靈靈講師講師0051309白亞亞春男1981-1-25計計算機系編譯編譯技術(shù)術(shù)85李建義義講師講師2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析 關(guān)系模式的規(guī)范化1范式(Normal form)范式:建立關(guān)系時需要滿足的約束條件劃分成若干標準,這些標準稱為范式,簡寫為NF。范式的級別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應增加。2第一范式(1NF) 對于給定的關(guān)系R,如果R中的
12、所有行、列交點處的值都是不可再分的數(shù)據(jù)項,則稱關(guān)系R屬于第一范式,記作:R1NF。 1NF是關(guān)系數(shù)據(jù)庫中對關(guān)系的最低要求,它是從關(guān)系的基本性質(zhì)而來的,任何關(guān)系必須遵守。2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析3第二范式(2NF) 如果關(guān)系R1NF,并且R的每一個非主屬性都決定于主鍵,則稱R屬于第二范式,記作:R2NF。 思考:主鍵沒有冗余,非主鍵存在冗余。4第三范式(3NF) 第三范式:如果關(guān)系R2NF,并且R的每一個非主屬性都不間接決定于主鍵,則稱R屬于第三范式,記作:R3NF。 達到第三范式的關(guān)系仍有可能存在冗余等問題,所以關(guān)系數(shù)據(jù)庫理論還有BCNF、4NF、5NF等范式。在實際應用中,一
13、般達到了3NF的關(guān)系就可以認為是較為優(yōu)化的關(guān)系。 2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫規(guī)庫規(guī)范化分析5 關(guān)系分解的原則 關(guān)系的規(guī)范化就是將關(guān)系按照一定的原則不斷地分解為多個關(guān)系的過程,通過分解使關(guān)系逐步達到較高范式。任何一個非規(guī)范化的關(guān)系經(jīng)過分解都可以達到3NF。 在實際應用中,數(shù)據(jù)庫設(shè)計人員應根據(jù)具體情況靈活掌握,千萬不要盲目追求規(guī)范化的程度。關(guān)關(guān)系分解的基本原則則是: 關(guān)系分解后必須可以無損連接的。 分解后的關(guān)系要相互獨立。 2.3 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫設(shè)計庫設(shè)計方法 2.3.1 數(shù)數(shù)據(jù)庫設(shè)計庫設(shè)計方法概概述 2.3.2 需求分析 2.3.3 概概念設(shè)計設(shè)計 2.3.4 邏輯設(shè)計邏輯設(shè)計 2.3.5 物
14、理設(shè)計設(shè)計 2.3.6 數(shù)數(shù)據(jù)庫庫的實實施與維護與維護 2.3.1 數(shù)數(shù)據(jù)庫設(shè)計庫設(shè)計方法概概述 數(shù)據(jù)庫設(shè)計分為六個階段:需求分析、概數(shù)據(jù)庫設(shè)計分為六個階段:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理設(shè)計、念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理設(shè)計、數(shù)據(jù)庫實施和數(shù)據(jù)庫運行維護。數(shù)據(jù)庫實施和數(shù)據(jù)庫運行維護。 2.3.2 需求分析 進行數(shù)據(jù)庫設(shè)計首先必須準確了解與分析進行數(shù)據(jù)庫設(shè)計首先必須準確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個設(shè)計過程的基礎(chǔ),是最困難、最耗是整個設(shè)計過程的基礎(chǔ),是最困難、最耗費時間的一步。需求分析的結(jié)果是否準確費時間的一步。需求分析的結(jié)
15、果是否準確地反映了用戶的實際要求,將直接影響到地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用。是否合理和實用。 2.3.3 概概念設(shè)計設(shè)計 將需求分析的結(jié)果綜合為一個統(tǒng)一的概念將需求分析的結(jié)果綜合為一個統(tǒng)一的概念模型。首先根據(jù)單個應用的需求,畫出能模型。首先根據(jù)單個應用的需求,畫出能反映每一個應用需求的局部反映每一個應用需求的局部E-R模型。然后模型。然后把這些模型合并起來,消除冗余和可能存把這些模型合并起來,消除冗余和可能存在的矛盾,得到系統(tǒng)的在的矛盾,得到系統(tǒng)的E-R模型。模型。 2.3.4 邏輯設(shè)計邏輯設(shè)計 將將
16、E-R模型轉(zhuǎn)換為所選用的模型轉(zhuǎn)換為所選用的DBMS支持的數(shù)支持的數(shù)據(jù)模型。對于關(guān)系數(shù)據(jù)庫,主要是完成表據(jù)模型。對于關(guān)系數(shù)據(jù)庫,主要是完成表的關(guān)聯(lián)和結(jié)構(gòu)設(shè)計。的關(guān)聯(lián)和結(jié)構(gòu)設(shè)計。 2.3.5 物理設(shè)計設(shè)計 數(shù)據(jù)庫物理設(shè)計是為邏輯數(shù)據(jù)模型選取一數(shù)據(jù)庫物理設(shè)計是為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)(包括存儲個最適合應用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。結(jié)構(gòu)和存取方法)。 2.3.6 數(shù)數(shù)據(jù)庫庫的實實施與維護與維護 在數(shù)據(jù)庫實施階段,設(shè)計人員運用在數(shù)據(jù)庫實施階段,設(shè)計人員運用DBMS提供的提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應用程序,組織數(shù)據(jù)入庫,并進行試運行??棓?shù)據(jù)入庫,并進行試運行。 數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京簽訂工作合同范本
- 廠家銷售鍋爐合同范本
- 保安臨時服務合同范本
- 合資砂場合同范例
- 古建圓柱采購合同范本
- 結(jié)算審計服務合同范本
- 傳媒股東合同范本
- 出口木箱合同范本
- 出售住宅和廠房合同范本
- 合辦活動協(xié)議合同范本
- 中小學-安全使用與維護家用電器-主題班會教案
- 《中國潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- 中國故事英文版哪吒英文二篇
- 鍍鋅管理論重量表常用
- 鐵總計統(tǒng)【2017】177號關(guān)于進一步加強鐵路建設(shè)項目征地拆遷工作和費用管理的指導意見
- 電子技術(shù)基礎(chǔ)與技能-(3)
- 部編版四年級下冊語文第二單元課文教材分析及全部教案
- 美術(shù)開學第一課(課堂PPT)
- 出生證明委托書(共2頁)
- 刑釋解教人員安置幫教工作檔案
- 內(nèi)部審計發(fā)展史
評論
0/150
提交評論