第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論_第1頁(yè)
第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論_第2頁(yè)
第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論_第3頁(yè)
第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論_第4頁(yè)
第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余48頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用第2章關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論目錄2.1關(guān)系模型2.2關(guān)系代數(shù)2.3關(guān)系完整性2.4關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論了解關(guān)系模型的概念與分類了解關(guān)系數(shù)據(jù)結(jié)構(gòu)及相關(guān)術(shù)語(yǔ)掌握關(guān)系代數(shù)的基本運(yùn)算了解關(guān)系完整性的含義學(xué)習(xí)要點(diǎn)2.1關(guān)系模型

一個(gè)關(guān)系可以看做一個(gè)二維表,由表示一個(gè)實(shí)體的若干行或表示實(shí)體(集)某方面屬性的若干列組成。

2.1.1關(guān)系模型的組成

關(guān)系模型由三大要素組成:關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束關(guān)系數(shù)據(jù)結(jié)構(gòu)

關(guān)系模型把數(shù)據(jù)庫(kù)表示為關(guān)系的集合。在用戶看來(lái),關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。關(guān)系操作集合

常用的操作包括:選擇、投影、連接、除、并、交、差等,以及查詢操作和插入、刪除、更新操作。

查詢操作是其中最主要的部分。關(guān)系的完整性約束

數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、相容性和一致性。

完整性約束提供了一種手段保證當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入、刪除、更新時(shí)不會(huì)破壞數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、相容性和一致性。2.1.2關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)和基本術(shù)語(yǔ)1.關(guān)系2.屬性3.元組4.域5.關(guān)系模式6.碼(關(guān)鍵字)7.候選碼(候選關(guān)鍵字)8.主碼(主關(guān)鍵字)9.外碼(外關(guān)鍵字)關(guān)系

在關(guān)系模型中,一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。職工號(hào)姓名性別參加工作日期職稱院系代碼021001羅麗麗女2002/7/28講師030201041012郭敏女2004/7/8副教授070101071004毛利男2007/7/8講師050301…………………………981012章美玲女1998/2/14講師050201991013王家輝男1999/7/8副教授050201關(guān)系名:教師關(guān)系屬性

二維表中垂直方向的列稱為屬性,每一個(gè)列有一個(gè)屬性名,列的值稱為屬性值。屬性(列)和屬性名職工號(hào)姓名性別參加工作日期職稱院系代碼021001羅麗麗女2002/7/28講師030201041012郭敏女2004/7/8副教授070101071004毛利男2007/7/8講師050301…………………………981012章美玲女1998/2/14講師050201991013王家輝男1999/7/8副教授050201元組

二維表中水平方向的行稱為元組,一行就是一個(gè)元組。元組對(duì)應(yīng)數(shù)據(jù)表中的一條記錄,元組的各分量對(duì)應(yīng)于關(guān)系的各個(gè)屬性。一個(gè)元組職工號(hào)姓名性別參加工作日期職稱院系代碼021001羅麗麗女2002/7/28講師030201041012郭敏女2004/7/8副教授070101071004毛利男2007/7/8講師050301…………………………981012章美玲女1998/2/14講師050201991013王家輝男1999/7/8副教授050201元組集合域

屬性所取值的變化范圍稱為屬性的域(Domain)。

域約束規(guī)定屬性的值必須是來(lái)自域中的原子值。性別參加工作日期女2002/7/28女2004/7/8男2007/7/8…………女1998/2/14男1999/7/8【例】“性別”屬性的域:“男”或“女”。關(guān)系模式

關(guān)系的描述稱為關(guān)系模式(RelationSchema)。可以形式化地表示為:R(U,D,Dom,F)

其中,R為關(guān)系名,U為屬性名集合,D為U中屬性所來(lái)自的域,Dom為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)依賴關(guān)系的結(jié)合。關(guān)系模式

也可以簡(jiǎn)記為:R(U)或R(A1,A2,A3,…,An)

其中,A1,A2,A3,…,An為各屬性名?!纠拷處煴淼年P(guān)系模式可記為:教師(職工號(hào),姓名,性別,參加工作日期,職稱,

院系代碼)碼(關(guān)鍵字)

能唯一標(biāo)識(shí)一個(gè)元組的屬性或?qū)傩越M稱為該關(guān)系的碼或關(guān)鍵字?!纠吭诮處煴碇?,“職工號(hào)”屬性可以作為碼;“職工號(hào)”、“姓名”的組合也可以作為碼。職工號(hào)姓名性別參加工作日期職稱院系代碼021001羅麗麗女2002/7/28講師030201041012郭敏女2004/7/8副教授070101071004毛利男2007/7/8講師050301…………………………981012章美玲女1998/2/14講師050201991013王家輝男1999/7/8副教授050201候選碼(候選關(guān)鍵字)

如果關(guān)系中的一個(gè)碼移去了任何一個(gè)屬性,它就不再是這個(gè)關(guān)系的碼,則稱這樣的碼為該關(guān)系的候選碼或候選關(guān)鍵字。【例】在教師表中,“職工號(hào)”屬性可以作為候選碼;但是,“職工號(hào)”和“姓名”的組合就不滿足候選碼的要求,因此不是候選碼。主碼(主關(guān)鍵字)

一個(gè)關(guān)系中往往有多個(gè)候選碼,若選定其中一個(gè)用來(lái)唯一標(biāo)識(shí)該關(guān)系的元組,則稱這個(gè)被人為指定的候選碼為該關(guān)系的主碼或主關(guān)鍵字。(也稱為主鍵)【例】在教師表中,我們可以指定“職工號(hào)”屬性作為該關(guān)系的主碼。外碼(外關(guān)鍵字)

當(dāng)關(guān)系中的某個(gè)屬性或?qū)傩越M雖然不是這個(gè)關(guān)系的主碼,或只是主碼的一部分,但卻是另一個(gè)關(guān)系的主碼時(shí),則稱該屬性或?qū)傩越M為這個(gè)關(guān)系的外碼或外部關(guān)鍵字。外碼(外關(guān)鍵字)職工號(hào)授課課號(hào)02100103020030410120701001…………9910130502001教師表授課表【例】“職工號(hào)”屬性在授課表中不能單獨(dú)作為主碼,但在教師表中卻是主碼,我們就稱“職工號(hào)”屬性是授課表的外部關(guān)鍵字。職工號(hào)姓名性別……院系代碼021001羅麗麗女……030201041012郭敏女……070101071004毛利男……050301……………………981012章美玲女……050201991013王家輝男……0502012.2關(guān)系代數(shù)

關(guān)系代數(shù)是以集合代數(shù)為基礎(chǔ)發(fā)展起來(lái)的。

在關(guān)系代數(shù)的操作中,其操作對(duì)象和操作結(jié)果均為關(guān)系。

關(guān)系代數(shù)的基本運(yùn)算有兩類:傳統(tǒng)的集合運(yùn)算:并、交、差等。專門的關(guān)系運(yùn)算:選擇、投影、連接。2.2.1傳統(tǒng)的集合運(yùn)算

并、差、交是集合的傳統(tǒng)運(yùn)算形式,若關(guān)系R和S進(jìn)行集合運(yùn)算,那么R和S必須具有相同的屬性集。并(Union)

設(shè)有關(guān)系R和S具有相同的屬性集,則關(guān)系R和關(guān)系S的并由屬于R或者屬于S的元組組成。并(Union)

【例】設(shè)有關(guān)系R和S如下所示:ABC123456789ABC123258704RSABC123456789258704并運(yùn)算結(jié)果R∪S差(Difference)

設(shè)有關(guān)系R和S具有相同的屬性集,則關(guān)系R和關(guān)系S的差由屬于R并且不屬于S的元組組成。差(Difference)

【例】設(shè)有關(guān)系R和S如下所示:ABC123456789ABC123258704RSABC456789差運(yùn)算結(jié)果R-S交(Intersection)

設(shè)有關(guān)系R和S具有相同的屬性集,則關(guān)系R和關(guān)系S的交由既屬于R又屬于S的元組組成。

【例】設(shè)有關(guān)系R和S如下所示:ABC123456789ABC123258704RSABC123交運(yùn)算結(jié)果R∩S交(Intersection)2.2.2專門的關(guān)系運(yùn)算

專門的關(guān)系運(yùn)算根據(jù)操作對(duì)象數(shù)目的不同,可以分為兩類:一元運(yùn)算:選擇、投影二元運(yùn)算:聯(lián)接選擇(Selection)

選擇是在關(guān)系R中選擇滿足給定條件的元組,即從行的角度進(jìn)行過(guò)濾,記作:其中,F(xiàn)表示選擇條件。

【例】設(shè)有關(guān)系R如下所示:ABC123456789RABC789選擇結(jié)果條件:A>5選擇(Selection)投影(Projection)

投影是在關(guān)系R中選擇若干屬性列,并且將這些列組成一個(gè)新的關(guān)系,即從列的角度進(jìn)行過(guò)濾,記作:

【例】設(shè)有關(guān)系R如下所示:ABC123456789RAB124578投影結(jié)果只查詢A和B列投影(Projection)笛卡爾積(CartesianProduct)

笛卡爾積(CartesianProduct)【例】設(shè)有關(guān)系R和S如下所示:R1R2R3123456789RS1S2S3abcdefS

R1R2R3S1S2S3123abc123def456abc456def789abc789def

笛卡爾積(CartesianProduct)

由上例可以看出,若干個(gè)域的笛卡爾積具有相當(dāng)多的元素,在實(shí)際應(yīng)用中可能包含許多“無(wú)意義”的元素。

人們通常感興趣的只是笛卡爾積的某些子集,笛卡爾積的一個(gè)子集就是一個(gè)關(guān)系。連接(Join)

連接是將兩個(gè)關(guān)系拼接成一個(gè)更寬的關(guān)系,生成的新關(guān)系中包含滿足連接條件的元組,記作:

其中,iθj是一個(gè)比較式,i和j分別是R和S中的域,θ為算術(shù)比較符。

【例】設(shè)有關(guān)系R和S如下所示:ABCD123478054192EFG497852RSABCDEFG1234497123485278054977805852連接結(jié)果聯(lián)接(Join)自然連接(NaturalJoin)

自然連接是一種特殊的等值聯(lián)接,要求關(guān)系R和S中具有相同的屬性組,取共有屬性值相等的元組進(jìn)行連接,并且在結(jié)果中把重復(fù)的屬性去除。

【例】設(shè)有關(guān)系R和S如下所示:ABCD1234780541925863DEF497852209253RSABCDEF123497419209419253自然連接結(jié)果自然連接(NaturalJoin)除(Division)

除法運(yùn)算就是笛卡爾積的逆運(yùn)算。【例】設(shè)有關(guān)系R和S如下所示:ABCD123456345670127012585629CD3470RSAB結(jié)果STEP1:除法運(yùn)算結(jié)果中包含的屬性列為:出現(xiàn)在R中,但是沒(méi)有在S中出現(xiàn)的屬性列。除(Division)

除法運(yùn)算就是笛卡爾積的逆運(yùn)算?!纠吭O(shè)有關(guān)系R和S如下所示:ABCD123456345670127012585629CD3470RSAB結(jié)果STEP2:在R中,找出與S中每個(gè)元組搭配的屬性組的值。除(Division)

除法運(yùn)算就是笛卡爾積的逆運(yùn)算?!纠吭O(shè)有關(guān)系R和S如下所示:ABCD123456345670127012585629CD3470RSAB1256結(jié)果STEP3:從這些屬性組中找出值相同的元組,即為除法運(yùn)算的結(jié)果。除(Division)

除法運(yùn)算就是笛卡爾積的逆運(yùn)算?!纠吭O(shè)有關(guān)系R和S如下所示:ABCD123456345670127012585629CD347058RSAB12結(jié)果2.3關(guān)系完整性

關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。

關(guān)系模型有三類完整性約束:實(shí)體完整性參照完整性用戶自定義完整性實(shí)體完整性

實(shí)體完整性要求表中的主碼不能取空值或重復(fù)的值。【例】有關(guān)系:

教師(職工號(hào),姓名,性別,參加工作日期,職稱,

院系代碼)

其中,“職工號(hào)”屬性是主碼,那么“職工號(hào)”不可以取空值,也不能有重復(fù)值。參照完整性

參照完整性就是定義外碼與主碼之間的引用規(guī)則,也就是外碼要么取空值,要么等于對(duì)應(yīng)主碼中的某個(gè)值。參照完整性【例】有兩個(gè)關(guān)系:教師(職工號(hào),姓名,性別,參加工

溫馨提示

  • 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)論