數(shù)據(jù)庫技術應用與應用關系數(shù)據(jù)庫_第1頁
數(shù)據(jù)庫技術應用與應用關系數(shù)據(jù)庫_第2頁
數(shù)據(jù)庫技術應用與應用關系數(shù)據(jù)庫_第3頁
數(shù)據(jù)庫技術應用與應用關系數(shù)據(jù)庫_第4頁
數(shù)據(jù)庫技術應用與應用關系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 關系數(shù)據(jù)庫 3.1 關系模型及其定義 3.2 3 3.1 關系模型及其定義 3.1.1 關系數(shù)據(jù)結構 在關系模型中,無論是實體集,還是實體集之間的聯(lián)系均由單一的關系表示。由于關系模型是建立在集合代數(shù)基礎上的,因而一般從集合論角度對關系數(shù)據(jù)結構進行定義。1. 關系的數(shù)學定義(1) 域。域是一組具有相同數(shù)據(jù)類型的值的集合。(2) 笛卡兒積。(3) 關系。 表3-1 D1、D2、D3的笛卡兒積表3-2 學 生 關 系 2. 關系中的基本名詞 (1) 元組。 關系表中的每一橫行稱作一個元組,組成元組的元素為分量。 (2) 屬性。 關系中的每一列稱為一個屬性。 (3) 候選碼和主碼。 若關系中的

2、某一屬性組(或單個屬性)的值能惟一地標識一個元組,則稱該屬性組(或屬性)為候選碼。 (4) 全碼。 若關系的候選碼中只包含一個屬性,則稱它為單屬性碼;若候選碼是由多個屬性構成的,則稱它為多屬性碼。 (5) 主屬性和非主屬性。 在關系中,候選碼中的屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性 3. 數(shù)據(jù)庫中關系的類型 (1) 基本表。它是關系數(shù)據(jù)庫中實際存在的表,是實際存儲數(shù)據(jù)的邏輯表示。 (2) 視圖表。它是由基本表或其他視圖表導出的表。 (3) 查詢表。它是指查詢結果表或查詢中生成的臨時表。 4. 數(shù)據(jù)庫中基本關系的性質 關系數(shù)據(jù)庫中的基本表具有以下六個性質: (1) 同一屬性的數(shù)

3、據(jù)具有同質性,即同一列中的分量是同一類型的數(shù)據(jù),它們來自同一個域。 (2) 同一關系的屬性名具有不能重復性,即同一關系中不同屬性的數(shù)據(jù)可出自同一個域,但不同的屬性要給予不同的屬性名。 (3) 關系中的列位置具有順序無關性,即關系中的列的次序可以任意交換、重新組織,屬性順序不影響使用。 (4) 關系具有元組無冗余性,即關系中的任意兩個元組不能完全相同。 (5) 關系中的元組位置具有順序無關性,即關系元組的順序可以任意交換。 (6) 關系中每一個分量都必須是不可分的數(shù)據(jù)項。 表3-3 非規(guī)范化的關系結構 表3-4 修改后的關系結構5. 關系模式關系的描述稱為關系模式。關系模式可以表示為R(U,D,

4、Dom,F(xiàn))其中:R關系名,它是關系的形式化表示;U組成該關系的屬性集合;D屬性組U中屬性所來自的域;Dom屬性向域的映像的集合;F屬性間數(shù)據(jù)的依賴關系集合。 6. 關系數(shù)據(jù)庫 在關系數(shù)據(jù)庫中,實體集以及實體間的聯(lián)系都是用關系來表示的。在某一應用領域中,所有實體集及實體之間聯(lián)系所形成關系的集合就構成了一個關系數(shù)據(jù)庫。關系數(shù)據(jù)庫也有型和值的區(qū)別。 3.1.2 關系操作概述 1. 關系操作的基本內容 關系操作包括數(shù)據(jù)查詢、數(shù)據(jù)維護和數(shù)據(jù)控制三大功能。 (1) 數(shù)據(jù)查詢指數(shù)據(jù)檢索、統(tǒng)計、排序、分組以及用戶對信息的需求等功能。 (2) 數(shù)據(jù)維護指數(shù)據(jù)增加、刪除、修改等數(shù)據(jù)自身更新的功能。 (3) 數(shù)據(jù)

5、控制是為了保證數(shù)據(jù)的安全性和完整性而采用的數(shù)據(jù)存取控制及并發(fā)控制等功能。2. 關系操作的特點關系操作具有以下三個明顯的特點:(1) 關系操作語言操作一體化。 (2) 關系操作的方式是一次一集合方式。 (3) 關系操作語言是高度非過程化的語言。 3. 關系操作語言的種類關系操作語言可以分為以下三類:(1) 關系代數(shù)語言。 (2) 關系演算語言。 (3) 基于映像的語言。 3.1.3 關系的完整性 1. 關系模型的實體完整性 關系的實體完整性規(guī)則:若屬性A是基本關系R的主屬性,則屬性A的值不能為空值。 實體完整性規(guī)則規(guī)定:基本關系的所有主屬性都不能取空值,而不僅是主碼不能取空值。實體完整性的主要作

6、用是: (1) 能夠保證實體的惟一性。 (2) 能夠保證實體的可區(qū)分性。 2. 關系模型的參照完整性 (1) 外碼和參照關系。 設F是基本關系R的一個或一組屬性,但不是關系R的主碼(或候選碼)。 (2) 參照完整性規(guī)則。 (3) 用戶定義的完整性。 3.2 關 系 代 數(shù) 關系代數(shù)是一種抽象的查詢語言,是關系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它是用對關系的運算來表達查詢的。 關系代數(shù)的運算對象是關系,運算結果亦為關系。關系代數(shù)所使用的運算符包括四類:集合運算符、專門的關系運算符、比較運算符和邏輯運算符。 (1) 集合運算符:(并運算),(差運算),(交運算),(廣義笛卡兒積)。 (2) 專門的關

7、系運算符:(選擇),(投影),(連接),(除)。 (3) 比較運算符:(大于),(大于等于),(小于),(小于等于),(等于),(不等于)。 (4) 邏輯運算符:(非),(與),(或)。 3.2.1 傳統(tǒng)的集合運算 傳統(tǒng)的集合運算是二目運算,它包括四種運算:并、差、 交、廣義笛卡兒積。 1. 并運算 關系R與關系S的并運算表示為 RS=t| t (Rt (S 上式說明,R和S并的結果仍為n目關系,其數(shù)據(jù)由屬于R或屬于S的元組組成。 2. 差運算 關系R與關系S的差運算為 R - S = t | t (Rt (S 上式說明,R和S差運算的結果關系仍為n目關系,其數(shù)據(jù)由屬于R而不屬于S的所有元組組

8、成。 3. 交運算 關系R與關系S的交運算為 RS = t | t(Rt (S 上式說明,R和S交運算的結果關系仍為n目關系,其數(shù)據(jù)由既屬于R同時又屬于S的元組組成。 關系的交可以用差來表示,即 RS = R-(R-S) 4. 廣義笛卡兒積運算 設兩個分別為n目和m目的關系R和S,它們的廣義笛卡兒積是一個(n+m)目的元組集合。元組的前n列是關系R的一個元組,后m列是關系S的一個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的廣義笛卡兒積應當有k1k2個元組。 R和S的笛卡兒積表示為 RS = tr ts | tr ( Rts ( S 表3-5 傳統(tǒng)集合運算的實例 3.2.2 專門的

9、關系運算 專門的關系運算包括選擇、投影、連接和除法運算。為了敘述上的方便,先引入幾個記號。 1. 記號說明 (1) 關系模式、關系、元組和分量。 (2) 域列和域列非。 (3) 元組連串。 (4) 屬性的像集。 2. 專門關系運算的定義 (1) 選擇運算。 選擇運算又稱為限制運算。選擇運算指在關系R中選擇滿足給定條件的元組,記作: F(R)= t | t (RF(t)= 真 【例3-1】用關系代數(shù)表示在學生課程數(shù)據(jù)庫中查詢計算機系的全體學生的操作。 所在系= 計算機系 (學生) 或 4 = 計算機系 (學生) 【例3-2】用關系代數(shù)表示在學生課程數(shù)據(jù)庫中查詢年齡小于20歲的學生的操作。 年齡2

10、0(學生) 或 320(學生) (2) 投影運算。 關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作: A(R)=t A | t (R 其中,A為R中的屬性列。 (3) 連接運算。 (4) 除運算。 【例3-3】在學生課程數(shù)據(jù)庫中,查詢學生的姓名和所在系,即求學生關系在學生姓名和所在系兩個屬性上的投影操作,表示為 姓名,所在系(學生) 或 2,4(學生) 在學生課程數(shù)據(jù)庫中,查詢學生關系中都有哪些系,即查詢關系學生在所在系屬性上的投影的操作,表示為 所在系(學生) 【例3-4】設學生和選課關系中的數(shù)據(jù)如下,學生與選課之間的笛卡兒積、等值連接和自然連接的結果如表3-6所示。表3-6 關系

11、間的笛卡兒積、等值連接和自然連接運算結果比較 【例3-5】給出選課、選修課和必修課三個關系,它們的關系模式為 選課(學號,課號,成績) 選修課(課號,課名) 必修課(課號,課名) “選課選修課”運算結果如表3-7所示,“選課必修課”以及“學號,課號(選課)必修課”的結果如表3-8所示。表3-7 關系除運算實例1 表3-8 關系除運算實例2 3.2.3 關系代數(shù)檢索實例 下面的檢索實例均基于學生選課庫,學生選課庫的關系模式為 學生(學號,姓名,性別,年齡,所在系) 課程(課程號,課程名,先行課) 選課(學號,課程號,成績) 【例3-6】求選修了課程號為“C2”課程的學生學號。 【例3-7】求選修

12、了課程號為“C2”課的學生學號和姓名。 【例3-8】求沒有選修課程號為“C2”課程的學生學號。 【例3-9】求既選修“C2”課程,又選修“C3”課程的學生學號。 【例3-10】求選修課程號為“C2”或“C3”課程的學生學號。 【例3-11】求選修了全部課程的學生學號。 【例3-12】一個學號為“04001”的學生所學過的所有課程可能也被其他學生選修,求這些學生的學號和姓名。(求至少選修了學號為“04001”的學生所學過的所有課程的學生的學號和姓名)。習 題 33.1 試述關系模型的特點和三個組成部分。3.2 解釋下列術語,說明它們之間的聯(lián)系與區(qū)別:(1) 主碼、候選碼、外碼。(2) 迪卡兒積、關系、元組、屬性、域。(3) 關系、關系模式、關系數(shù)據(jù)庫。 3.3 試述關系模型的完整性規(guī)則。在參照完整性中,為什么外碼屬性的值也可以為空?什么情況下才可以為空? 3.4 試述等值連接與自然連接的區(qū)別和聯(lián)系。 3.5 設屬性A是關系R的主屬性,則屬性A不能取空值(NULL),這是_。 A. 實體完整性規(guī)則 B. 參照完整性規(guī)則 C. 用戶定義完整性規(guī)則 D. 域完整性規(guī)則 3.6 下面對于關系的敘述中,哪個是不正確的? A. 關系中的每個屬性是不可分解的 B. 在關系中元組的順序是無關緊

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論