關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法教材_第1頁(yè)
關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法教材_第2頁(yè)
關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法教材_第3頁(yè)
關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法教材_第4頁(yè)
關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法教材_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、SQL Server2005 數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用第第2章章 關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法第第2章章 關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法關(guān)系型數(shù)據(jù)庫(kù)及其設(shè)計(jì)方法 2.1 關(guān)關(guān)系模型與關(guān)與關(guān)系操作 2.2 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)庫(kù)基本概概念 2.3 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)庫(kù)設(shè)計(jì)方法2.1 關(guān)關(guān)系模型與關(guān)與關(guān)系操作 2.1.1 基本概概念 2.1.2 傳統(tǒng)傳統(tǒng)的集合運(yùn)運(yùn)算 2.1.3 專(zhuān)門(mén)專(zhuān)門(mén)的關(guān)關(guān)系運(yùn)運(yùn)算2.1.1 基本概概念 1關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)一張二維表,圖2.1中的這張學(xué)生信息表就是一個(gè)關(guān)系。 2元組:表中的一行即為一個(gè)元組(也稱為一條記錄)。 3屬性:表中的一列即為一個(gè)屬性,圖2.1有6列

2、,對(duì)應(yīng)6個(gè)屬性,給每個(gè)屬性起一個(gè)名字即屬性名,例如student_id即為第一列的屬性名。 4碼(key):表中的某個(gè)屬性(組),它可以惟一確定一個(gè)元組,則稱該屬性組為“侯選碼”。若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼。如圖2.1中的student_id(學(xué)號(hào)),是該學(xué)生關(guān)系的碼,并且是主碼。 5域(domain):屬性的取值范圍,如圖2.1中學(xué)生性別的域是(男,女)。圖2.1縱的一列稱為一個(gè)屬性(字段),表頭縱的一列稱為一個(gè)屬性(字段),表頭給出屬性名(字段名)給出屬性名(字段名)橫的一行稱為一個(gè)元組(記錄)橫的一行稱為一個(gè)元組(記錄)2.1.2 傳統(tǒng)傳統(tǒng)的集合運(yùn)運(yùn)算 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廣義義笛卡爾積積 兩個(gè)分別為n目和m目的關(guān)系R

4、和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有A1個(gè)元組,S有A2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有AlA2個(gè)元組。記作RS RSabcabc1231231230001237894561234560004567897891237890007897892.1.3 專(zhuān)門(mén)專(zhuān)門(mén)的關(guān)關(guān)系運(yùn)運(yùn)算 1選擇選擇 2投影 3連連接 4除選擇選擇 選擇是在關(guān)系R中選擇滿足給定條件的諸元組 是從行的角度進(jìn)行的運(yùn)算 投影 關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系。 是從列的角度進(jìn)行的運(yùn)算 連連接 連接(Join)是將兩個(gè)和多個(gè)關(guān)系連接

5、在一起,形成一個(gè)新的關(guān)系。連接運(yùn)算是按照給定條件,把滿足條件的各關(guān)系的所有元組,按照一切可能組合成新的關(guān)系?;蛘哒f(shuō),連接運(yùn)算的結(jié)果是在兩關(guān)系的笛卡爾積上的選擇。記作: 自然連接:當(dāng)連接的兩關(guān)系有相同的屬性名時(shí),稱這種連接為自然連接,它是連接的一個(gè)特例。記作: 連連接 等值連接:它是從關(guān)系R與S的笛卡爾積中選取條件為A、B屬性值相等的那些元組 ABRS2.2 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)庫(kù)基本概概念2.2.1關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)庫(kù)定義義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ù)庫(kù)規(guī)庫(kù)規(guī)范化分析2.2.1關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)庫(kù)定義義 關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù) 是指一些相關(guān)的表和其他數(shù)據(jù)庫(kù)

6、對(duì)象,例如視圖、存儲(chǔ)過(guò)程和索引等的集合。在關(guān)系型數(shù)據(jù)庫(kù)中,信息存放在二維表中,一個(gè)關(guān)系型數(shù)據(jù)庫(kù)包含多個(gè)二維表。關(guān)系型數(shù)據(jù)庫(kù)所包含的表之間是有關(guān)聯(lián)的,關(guān)聯(lián)主要由主碼和外碼所體現(xiàn)的參照關(guān)系實(shí)現(xiàn)。 2.2.2數(shù)數(shù)據(jù)完整性數(shù)據(jù)完整性用于保證關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和可靠性。數(shù)據(jù)完整性用于保證關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性和可靠性。 1實(shí)體完整性(Entity Integrity):實(shí)體完整性用來(lái)保證關(guān)系數(shù)據(jù)庫(kù)表中的每一條記錄都是唯一的。 實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。2域完整性(Domain Integrity):域完整性用于屬性的取值在有效的范圍內(nèi)。3參照完整性(R

7、eferential Integrity) 參照完整性用于確保相關(guān)聯(lián)的表間的數(shù)據(jù)保持一致。當(dāng)進(jìn)行增加、刪除和修改關(guān)系型數(shù)據(jù)庫(kù)表中的記錄時(shí),必須借助參照完整性來(lái)保證相關(guān)聯(lián)的表之間數(shù)據(jù)的一致性。4用戶自定義完整性(User-defined Integrity) 實(shí)體完整性和參照完整性適用于任何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。除此之外,不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶自定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。2.2.3表間關(guān)聯(lián)間關(guān)聯(lián)1一對(duì)一關(guān)聯(lián)(one-to-one)設(shè)在一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中有A、B兩表,對(duì)于表A中

8、的任何一條記錄,表B中只能有一條記錄與之對(duì)應(yīng);反過(guò)來(lái),對(duì)于表B中的任何一條記錄,表A中也只能有一條記錄與之對(duì)應(yīng),則稱這兩個(gè)表是一對(duì)一的關(guān)聯(lián)。一對(duì)一關(guān)聯(lián)是通過(guò)主碼來(lái)實(shí)現(xiàn)的。 2一對(duì)多關(guān)聯(lián)(one-to-many)設(shè)在一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中有A、B兩表,對(duì)于表A中的任何一條記錄,表B中可能有多條記錄與之對(duì)應(yīng);反過(guò)來(lái),對(duì)于表B中的任何一條記錄,表A中卻只能有一條記錄與之對(duì)應(yīng),則稱這兩個(gè)表是一對(duì)多的關(guān)聯(lián)。3多對(duì)多關(guān)聯(lián)(many-to-many)設(shè)在一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中有A、B兩表,對(duì)于表A中的任何一條記錄,表B中可能有多條記錄與之對(duì)應(yīng);反過(guò)來(lái),對(duì)于表B中的任何一條記錄,表A中也有多條記錄與之對(duì)應(yīng),則稱這兩個(gè)

9、表是多對(duì)多的關(guān)聯(lián)。 2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析 11NF:如果一個(gè)關(guān)系如果一個(gè)關(guān)系R的所有屬性都是不可分的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則的基本數(shù)據(jù)項(xiàng),則R1NF。任何一個(gè)關(guān)系模式。任何一個(gè)關(guān)系模式都是都是1NF,不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱,不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)。為關(guān)系數(shù)據(jù)庫(kù)。 22NF:若關(guān)系若關(guān)系RlNF,并且每一個(gè)非主屬性都,并且每一個(gè)非主屬性都完全依賴于完全依賴于R的主碼,則的主碼,則R 2NF。 33NF:若關(guān)系若關(guān)系R2NF,并且每一個(gè)非主屬性,并且每一個(gè)非主屬性不傳遞依賴于不傳遞依賴于R的主碼,則的主碼,則R3NF。 2.2.4關(guān)關(guān)系

10、型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析問(wèn)題問(wèn)題的提出在設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)時(shí),經(jīng)常采用一種自下而上的設(shè)計(jì)方法。這種方法是對(duì)涉及的所有數(shù)據(jù)進(jìn)行收集,然后按照欄目進(jìn)行歸納分類(lèi)。 插入異常: 刪除異常: 數(shù)據(jù)冗余: 解決這些問(wèn)題的辦法就是重新設(shè)計(jì)數(shù)據(jù)庫(kù)。2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析學(xué)號(hào)學(xué)號(hào)姓名姓名性性別別出生出生日期日期所在所在系系課程名課程名稱稱成成績(jī)績(jī)課程課程教師教師職稱職稱0052201陳韜陳韜男1981-5-6計(jì)計(jì)算機(jī)系數(shù)數(shù)據(jù)庫(kù)庫(kù)技術(shù)術(shù)90趙趙俊榮榮副教教授0052201陳韜陳韜男1981-5-6計(jì)計(jì)算機(jī)系操作系統(tǒng)統(tǒng)85溫溫翠靈靈講師講師0052201陳韜陳韜男1981-5-6計(jì)計(jì)算機(jī)系C語(yǔ)語(yǔ)言75

11、趙趙俊榮榮副教教授0051309白亞亞春男1981-1-25計(jì)計(jì)算機(jī)系數(shù)數(shù)據(jù)庫(kù)庫(kù)技術(shù)術(shù)95趙趙俊榮榮副教教授0051309白亞亞春男1981-1-25計(jì)計(jì)算機(jī)系操作系統(tǒng)統(tǒng)88溫溫翠靈靈講師講師0051309白亞亞春男1981-1-25計(jì)計(jì)算機(jī)系編譯編譯技術(shù)術(shù)85李建義義講師講師2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析 關(guān)系模式的規(guī)范化1范式(Normal form)范式:建立關(guān)系時(shí)需要滿足的約束條件劃分成若干標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)稱為范式,簡(jiǎn)寫(xiě)為NF。范式的級(jí)別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時(shí)花費(fèi)時(shí)間也會(huì)相應(yīng)增加。2第一范式(1NF) 對(duì)于給定的關(guān)系R,如果R中的

12、所有行、列交點(diǎn)處的值都是不可再分的數(shù)據(jù)項(xiàng),則稱關(guān)系R屬于第一范式,記作:R1NF。 1NF是關(guān)系數(shù)據(jù)庫(kù)中對(duì)關(guān)系的最低要求,它是從關(guān)系的基本性質(zhì)而來(lái)的,任何關(guān)系必須遵守。2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析3第二范式(2NF) 如果關(guān)系R1NF,并且R的每一個(gè)非主屬性都決定于主鍵,則稱R屬于第二范式,記作:R2NF。 思考:主鍵沒(méi)有冗余,非主鍵存在冗余。4第三范式(3NF) 第三范式:如果關(guān)系R2NF,并且R的每一個(gè)非主屬性都不間接決定于主鍵,則稱R屬于第三范式,記作:R3NF。 達(dá)到第三范式的關(guān)系仍有可能存在冗余等問(wèn)題,所以關(guān)系數(shù)據(jù)庫(kù)理論還有BCNF、4NF、5NF等范式。在實(shí)際應(yīng)用中,一

13、般達(dá)到了3NF的關(guān)系就可以認(rèn)為是較為優(yōu)化的關(guān)系。 2.2.4關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)規(guī)庫(kù)規(guī)范化分析5 關(guān)系分解的原則 關(guān)系的規(guī)范化就是將關(guān)系按照一定的原則不斷地分解為多個(gè)關(guān)系的過(guò)程,通過(guò)分解使關(guān)系逐步達(dá)到較高范式。任何一個(gè)非規(guī)范化的關(guān)系經(jīng)過(guò)分解都可以達(dá)到3NF。 在實(shí)際應(yīng)用中,數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)根據(jù)具體情況靈活掌握,千萬(wàn)不要盲目追求規(guī)范化的程度。關(guān)關(guān)系分解的基本原則則是: 關(guān)系分解后必須可以無(wú)損連接的。 分解后的關(guān)系要相互獨(dú)立。 2.3 關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)庫(kù)設(shè)計(jì)方法 2.3.1 數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)庫(kù)設(shè)計(jì)方法概概述 2.3.2 需求分析 2.3.3 概概念設(shè)計(jì)設(shè)計(jì) 2.3.4 邏輯設(shè)計(jì)邏輯設(shè)計(jì) 2.3.5 物

14、理設(shè)計(jì)設(shè)計(jì) 2.3.6 數(shù)數(shù)據(jù)庫(kù)庫(kù)的實(shí)實(shí)施與維護(hù)與維護(hù) 2.3.1 數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)庫(kù)設(shè)計(jì)方法概概述 數(shù)據(jù)庫(kù)設(shè)計(jì)分為六個(gè)階段:需求分析、概數(shù)據(jù)庫(kù)設(shè)計(jì)分為六個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理設(shè)計(jì)、念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施和數(shù)據(jù)庫(kù)運(yùn)行維護(hù)。數(shù)據(jù)庫(kù)實(shí)施和數(shù)據(jù)庫(kù)運(yùn)行維護(hù)。 2.3.2 需求分析 進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。需求分析的結(jié)果是否準(zhǔn)確費(fèi)時(shí)間的一步。需求分析的結(jié)

15、果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。是否合理和實(shí)用。 2.3.3 概概念設(shè)計(jì)設(shè)計(jì) 將需求分析的結(jié)果綜合為一個(gè)統(tǒng)一的概念將需求分析的結(jié)果綜合為一個(gè)統(tǒng)一的概念模型。首先根據(jù)單個(gè)應(yīng)用的需求,畫(huà)出能模型。首先根據(jù)單個(gè)應(yīng)用的需求,畫(huà)出能反映每一個(gè)應(yīng)用需求的局部反映每一個(gè)應(yīng)用需求的局部E-R模型。然后模型。然后把這些模型合并起來(lái),消除冗余和可能存把這些模型合并起來(lái),消除冗余和可能存在的矛盾,得到系統(tǒng)的在的矛盾,得到系統(tǒng)的E-R模型。模型。 2.3.4 邏輯設(shè)計(jì)邏輯設(shè)計(jì) 將將

16、E-R模型轉(zhuǎn)換為所選用的模型轉(zhuǎn)換為所選用的DBMS支持的數(shù)支持的數(shù)據(jù)模型。對(duì)于關(guān)系數(shù)據(jù)庫(kù),主要是完成表?yè)?jù)模型。對(duì)于關(guān)系數(shù)據(jù)庫(kù),主要是完成表的關(guān)聯(lián)和結(jié)構(gòu)設(shè)計(jì)。的關(guān)聯(lián)和結(jié)構(gòu)設(shè)計(jì)。 2.3.5 物理設(shè)計(jì)設(shè)計(jì) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。結(jié)構(gòu)和存取方法)。 2.3.6 數(shù)數(shù)據(jù)庫(kù)庫(kù)的實(shí)實(shí)施與維護(hù)與維護(hù) 在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行??棓?shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入

溫馨提示

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

評(píng)論

0/150

提交評(píng)論