數(shù)據(jù)庫(kù)原理與技術(shù):第2章 關(guān)系數(shù)據(jù)庫(kù)1_第1頁(yè)
數(shù)據(jù)庫(kù)原理與技術(shù):第2章 關(guān)系數(shù)據(jù)庫(kù)1_第2頁(yè)
數(shù)據(jù)庫(kù)原理與技術(shù):第2章 關(guān)系數(shù)據(jù)庫(kù)1_第3頁(yè)
數(shù)據(jù)庫(kù)原理與技術(shù):第2章 關(guān)系數(shù)據(jù)庫(kù)1_第4頁(yè)
數(shù)據(jù)庫(kù)原理與技術(shù):第2章 關(guān)系數(shù)據(jù)庫(kù)1_第5頁(yè)
已閱讀5頁(yè),還剩57頁(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、1數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database System第二章 關(guān)系數(shù)據(jù)庫(kù)2第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 小結(jié)32.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)42.1.1 關(guān)系單一的數(shù)據(jù)結(jié)構(gòu)-關(guān)系 現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示 數(shù)據(jù)的邏輯結(jié)構(gòu)-二維表 從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。5例如,教學(xué)數(shù)據(jù)庫(kù)中教師與課程的關(guān)系模型如圖所示。教師關(guān)系課程關(guān)系C 授課關(guān)系SCTNO教師號(hào)TN姓名SEX性別AGE年齡PR

2、OF職稱SAL工資COMM崗位津貼DEPT系CNO課程號(hào)CN課程名CT課時(shí)TNO教師號(hào)CNO課程號(hào)關(guān)聯(lián)聯(lián)系關(guān)聯(lián)實(shí)體實(shí)體6關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義-從集合論角度 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation) 7域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合,又稱為值域。(用D表示)。域中所包含的值的個(gè)數(shù)稱為域的基數(shù)(用m表示)。例如: D1=李力,王平,劉偉 m1=D2=男,女 m2=D3=47,28,30 m3=3238笛卡爾積(Cartesian Product)笛卡爾積 給定一組域D1,D2,Dn,這些域中可以有相同的。D1

3、,D2,Dn的笛卡爾積為:D1D2Dn(d1,d2,dn)diDi,i1,2,n其中:每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組。 元素(d1,d2,dn)中的每一個(gè)值di叫作一個(gè)分量。 所有域的所有取值的一個(gè)組合9笛卡爾積(續(xù))若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為:10笛卡爾積(續(xù))笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。11圖2.1 笛卡爾積是所有域中所有取值的一個(gè)組合。12關(guān)系(Relation)關(guān)系D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān)系,表示為

4、 R(D1,D2,Dn) R:關(guān)系名 n:關(guān)系的目或度(Degree)13關(guān)系(續(xù))元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unary relation)。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binary relation)。14關(guān)系(續(xù))關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。元組tD1XD2XD3的子集關(guān)系名15關(guān)系(續(xù))屬性(Attribute) 關(guān)系中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性。 n 目關(guān)系必有n個(gè)屬性。16關(guān)系(續(xù))候選碼(Candidate key) 若

5、關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼。在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)17思考:候選碼是什么?學(xué)院+系+教研室18關(guān)系(續(xù))主碼(Primary key) 若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼。候選碼的諸屬性稱為主屬性(Prime attribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-key attribute) 19主碼(鍵)是關(guān)系模型中的一個(gè)重要概念。它具有以下特點(diǎn):每個(gè)關(guān)系有且僅有一個(gè)主碼,主碼一旦選定后不能隨意改變。通常用較小的屬性組合作為

6、主關(guān)系碼。如:“控制點(diǎn)號(hào)”,“X+Y+H”都可作為主鍵,但一般選“控制點(diǎn)號(hào)”作為主鍵。20主碼非碼非碼21關(guān)系(續(xù))關(guān)系的三種類型基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)22基本關(guān)系的性質(zhì) 列是同質(zhì)的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來(lái)自同一個(gè)域 不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名23 列的順序無(wú)所謂 列的次序可以任意交換,但交換時(shí),應(yīng)連同屬性名一起交換,否則將得到不同的關(guān)系。 任意兩個(gè)元組的候選碼不能相同注意:有的關(guān)系數(shù)據(jù)

7、庫(kù)產(chǎn)品沒(méi)有遵循這一性質(zhì)。允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件。24 分量必須取原子值 每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī)范條件中最基本的一條 行的順序無(wú)所謂行的次序可以任意交換。252.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)262.1.2 關(guān)系模式1什么是關(guān)系模式2. 定義關(guān)系模式3關(guān)系模式與關(guān)系271什么是關(guān)系模式關(guān)系模式(Relation Schema)是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來(lái)自的域 屬性與域之間的映象關(guān)系元組語(yǔ)義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合282定義關(guān)

8、系模式關(guān)系模式可以形式化地表示為: R(U,D,dom,F(xiàn)) R 關(guān)系名U 組成該關(guān)系的屬性名集合D 屬性組U中屬性所來(lái)自的域dom 屬性向域的映象集合F 屬性間的數(shù)據(jù)依賴關(guān)系集合29關(guān)系模式通??梢院?jiǎn)記為 R (U ) 或 R (A1,A2,An) 其中:R 關(guān)系名A1,A2,An 屬性名如:學(xué)生(學(xué)號(hào),姓名,性別,年齡,系別)注:域及屬性向域的映象常常直接說(shuō)明為 屬性的類型、長(zhǎng)度303關(guān)系模式與關(guān)系關(guān)系模式(Relation Schema)是對(duì)關(guān)系的描述,它是相對(duì)穩(wěn)定和不隨時(shí)間改變的。 關(guān)系是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容,它是動(dòng)態(tài)的隨時(shí)間不斷變化的。關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系。關(guān)系模式

9、是型,關(guān)系是值。312.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.1.1 關(guān)系2.1.2 關(guān)系模式2.1.3 關(guān)系數(shù)據(jù)庫(kù)321 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù):在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)。如:學(xué)生課程數(shù)據(jù)庫(kù)是三個(gè)關(guān)系的集合學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))332. 關(guān)系數(shù)據(jù)庫(kù)的型與值關(guān)系數(shù)據(jù)庫(kù)的型稱為關(guān)系數(shù)據(jù)庫(kù)模式,是對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述。包括:若干域的定義以及在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫(kù)的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)34第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形

10、式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 小結(jié)352.2.1基本關(guān)系操作 常用的關(guān)系操作查詢:選擇、投影、連接、除、并、交、差、笛卡爾集數(shù)據(jù)更新:插入、刪除、修改關(guān)系操作的特點(diǎn)集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式362.2.2 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的分類 關(guān)系代數(shù)語(yǔ)言用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求代表:ISBL關(guān)系演算語(yǔ)言:用謂詞來(lái)表達(dá)查詢要求元組關(guān)系演算語(yǔ)言謂詞變?cè)幕緦?duì)象是元組變量代表:APLHA, QUEL域關(guān)系演算語(yǔ)言 謂詞變?cè)幕緦?duì)象是域變量代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言代表:SQL(Structured Query Lan

11、guage) 37第二章 關(guān)系數(shù)據(jù)庫(kù)2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2 關(guān)系操作2.3 關(guān)系的完整性2.4 關(guān)系代數(shù)2.5 小結(jié)382.3 關(guān)系的完整性關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。39關(guān)系的完整性(續(xù))2.3.1 實(shí)體完整性2.3.2. 參照完整性2.3.3. 用戶定義的完整性40實(shí)體完整性規(guī)則 若屬性A(一個(gè)或一組屬性)是基本關(guān)系R的主屬性,則屬性A不能取空值。實(shí)體完整性(Entity Integrity

12、)41實(shí)體完整性規(guī)則的原因:(1) 實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對(duì)多聯(lián)系。(2) 現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。(3) 相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。(4) 主碼中的屬性即主屬性不能取空值。主屬性取空值,就說(shuō)明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性。422.3.1 實(shí)體完整性2.3.2. 參照完整性2.3.3. 用戶定義的完整性43參照完整性1. 關(guān)系間的引用2. 外碼3. 參照完整性規(guī)則441. 關(guān)系間的引用 在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)

13、系都是用關(guān)系來(lái)描述的,因此可能存在著關(guān)系與關(guān)系間的引用。45例1 學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名)學(xué)生專業(yè)主碼主碼學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號(hào)”。 學(xué)生關(guān)系中的“專業(yè)號(hào)”值必須是確實(shí)存在的專業(yè)的專業(yè)號(hào) ,即專業(yè)關(guān)系中有該專業(yè)的記錄。46例2 學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī))47 學(xué)生選修課程48例3 學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))492外碼(Foreign Key)定

14、義:設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼。學(xué)生專業(yè)關(guān)系R關(guān)系SF:外碼主碼Ks思考:外碼是什么?50基本關(guān)系R稱為參照關(guān)系(Referencing Relation)基本關(guān)系S稱為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(Target Relation)。51外碼(續(xù))例1:學(xué)生關(guān)系的“專業(yè)號(hào)”與專業(yè)關(guān)系的主碼“專業(yè)號(hào)”相對(duì)應(yīng)。“專業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼專業(yè)關(guān)系是被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系 52外碼(續(xù))例2: 選修關(guān)系的“學(xué)號(hào)” 與學(xué)生關(guān)系的主碼“學(xué)號(hào)”相對(duì)應(yīng) 選修關(guān)系的“課程號(hào)”與課程關(guān)

15、系的主碼“課程號(hào)”相對(duì)應(yīng)“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系的外碼學(xué)生關(guān)系和課程關(guān)系均為被參照關(guān)系選修關(guān)系為參照關(guān)系 53外碼(續(xù))例3:“班長(zhǎng)”與本身的主碼“學(xué)號(hào)”相對(duì)應(yīng)“班長(zhǎng)”是外碼學(xué)生關(guān)系既是參照關(guān)系也是被參照關(guān)系 54說(shuō)明關(guān)系R和S不一定是不同的關(guān)系。目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上。外碼并不一定要與相應(yīng)的主碼同名 當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別553. 參照完整性規(guī)則參照完整性規(guī)則(即定義外碼與主碼之間的引用規(guī)則) 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系)

16、,對(duì)于R中每個(gè)元組在F上的值必須為: 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值。56學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取下面兩類值:(1)空值,表示尚未給該學(xué)生分配專業(yè)(2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中例:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名)57例:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系中的主屬性,按照實(shí)體完整性原則它們不能取空值,所以只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。58例:學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))“班長(zhǎng)”屬性值可以取兩類值:(1)空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng),或該學(xué)生本人即是班長(zhǎng);(2)非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值59關(guān)系的完整性(續(xù))2.3.1 實(shí)體完整性2.3.2. 參照完整性2.3.3. 用戶定義的完整性60用戶定義的完整性用戶定義的完整

溫馨提示

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