數(shù)據(jù)庫(kù)系統(tǒng)概論之關(guān)系模型_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論之關(guān)系模型_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論之關(guān)系模型_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論之關(guān)系模型_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論之關(guān)系模型_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

第三章關(guān)系模型--本章內(nèi)容基礎(chǔ)知識(shí)回顧關(guān)系模型概述關(guān)系模型基本概念關(guān)系模型的完整性約束關(guān)系代數(shù)邏輯數(shù)據(jù)庫(kù)設(shè)計(jì):ER到關(guān)系的轉(zhuǎn)換關(guān)系演算基礎(chǔ)知識(shí)識(shí)回顧數(shù)據(jù)庫(kù)發(fā)發(fā)展以數(shù)據(jù)模模型劃分分第一代網(wǎng)狀、層次數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)。代表表:1969年年IBM的IMS((informationManagementSystem));美國(guó)CODASYL(ConferenceOnDataSystemLanguage))下屬的DBTG(DataBaseTaskGroup)于60年年代末70年代代初提議議的方法法。層次次數(shù)據(jù)庫(kù)庫(kù)是數(shù)據(jù)據(jù)庫(kù)的先先驅(qū),而而網(wǎng)狀數(shù)數(shù)據(jù)庫(kù)是是數(shù)據(jù)庫(kù)庫(kù)概念、、方法、、技術(shù)的的奠基者者。第二代關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)。1970年年IBM公司的研研究員E.F..Codd提出了數(shù)數(shù)據(jù)庫(kù)的的關(guān)系模模型,關(guān)關(guān)系方法法和關(guān)系系數(shù)據(jù)理理論的研研究。代代表:IBM的SystemR和Berkele大學(xué)的INGRES,,成果:奠奠定了關(guān)關(guān)系模型型的理論論基礎(chǔ);;研究了了關(guān)系數(shù)數(shù)據(jù)庫(kù)語(yǔ)語(yǔ)言,有有關(guān)系代代數(shù)、關(guān)關(guān)系演算算、SQL語(yǔ)言、QBE等;研制制了大量量的RDBMS的原型,,實(shí)現(xiàn)了了查詢優(yōu)優(yōu)化、并并發(fā)控制制、故障障恢復(fù)等等關(guān)鍵技技術(shù);基礎(chǔ)知識(shí)識(shí)回顧數(shù)據(jù)庫(kù)發(fā)發(fā)展第三代以面向?qū)?duì)象數(shù)據(jù)據(jù)模型為為主要特特征的數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)。模型更加加豐富、、數(shù)據(jù)管管理功能能功能更更加強(qiáng)大大、能支支持傳統(tǒng)統(tǒng)數(shù)據(jù)庫(kù)庫(kù)難以支支持的新新的應(yīng)用用。特征:支支持?jǐn)?shù)據(jù)據(jù)管理、、對(duì)象管管理和知知識(shí)管理理;保持持或者繼繼承第二二代數(shù)據(jù)據(jù)庫(kù)的技技術(shù);對(duì)對(duì)其他系系統(tǒng)開(kāi)放放(支持持?jǐn)?shù)據(jù)庫(kù)庫(kù)語(yǔ)言標(biāo)標(biāo)準(zhǔn)和標(biāo)標(biāo)準(zhǔn)網(wǎng)絡(luò)絡(luò)協(xié)議))。僅支持面面向?qū)ο笙髷?shù)據(jù)模模型并不不能稱為為第三代代數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)。。基礎(chǔ)知識(shí)識(shí)回顧關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)。產(chǎn)品品的發(fā)展展情況::(1)對(duì)對(duì)關(guān)系模模型的支支持:第一階段段(70年代)):僅支支持關(guān)系系數(shù)據(jù)結(jié)結(jié)構(gòu)、基基本的關(guān)關(guān)系操作作(選擇擇、投影影、連接接)。如如:dBASE第二階段段(80年代)):SQL成為關(guān)系系數(shù)據(jù)庫(kù)庫(kù)語(yǔ)言的的國(guó)際標(biāo)標(biāo)準(zhǔn)第三階段段(90年代)):加強(qiáng)強(qiáng)了完整整性、安安全性的的支持。。(2)運(yùn)運(yùn)行環(huán)境境:第一階段段:在大大、中、、小型機(jī)機(jī)上的RDBMS,多用戶系系統(tǒng)第二階段段:提高高可移植植性,能能在多種種硬件平平臺(tái)、和和操作系系統(tǒng)環(huán)境境下運(yùn)行行;聯(lián)網(wǎng)網(wǎng),向分分布式發(fā)發(fā)展,支支持多種種協(xié)議。。第三階段段:分分布式數(shù)數(shù)據(jù)庫(kù)和和客戶//服務(wù)器器結(jié)構(gòu)的的數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)的的推出。。追求開(kāi)開(kāi)放性((可移植植性、可可連接性性、可伸伸縮性))?;A(chǔ)知識(shí)識(shí)回顧關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)。產(chǎn)品品的發(fā)展展情況::(3)RDBMS系統(tǒng)構(gòu)成成:第一階段段:早期期的RDBMS產(chǎn)品主要要提供數(shù)數(shù)據(jù)定義義、數(shù)據(jù)據(jù)存取、、數(shù)據(jù)控控制等基基本操作作和數(shù)據(jù)據(jù)存儲(chǔ)組組織、并并發(fā)控制制、安全全性、完完整性檢檢查、系系統(tǒng)恢復(fù)復(fù)等RDBMS的核心功功能。第二階段段:以RDBMS基本功能能為核心心,開(kāi)發(fā)發(fā)外圍軟軟件系統(tǒng)統(tǒng),如::FORM報(bào)表生成成系統(tǒng),,REPORT報(bào)表系統(tǒng)統(tǒng)、MENU菜單生成成系統(tǒng)、、GRAPHIC圖形軟件件等等。。為用戶戶提供了了良好的的第四代代應(yīng)用開(kāi)開(kāi)發(fā)環(huán)境境。(4)對(duì)對(duì)應(yīng)用的的支持:第一階段段:用于于信息管管理、輔輔助決策策等應(yīng)用用領(lǐng)域。。第二階段段:聯(lián)機(jī)機(jī)事務(wù)處處理的應(yīng)應(yīng)用領(lǐng)域域,提高高RDBMS事務(wù)處理理的能力力。第三階段段:由集集中到分分布,由由局部到到整個(gè)企企業(yè)甚至至整個(gè)行行業(yè)。支支持整個(gè)個(gè)企業(yè)的的聯(lián)機(jī)事事務(wù)處理理。關(guān)系模型型概述為什么要要學(xué)習(xí)關(guān)關(guān)系模型型?關(guān)系模型型是目前前廣泛使使用的一一種數(shù)據(jù)據(jù)模型IBMDB2,MiscrosoftSQLServer,,Informix,Oracle,,Sybase,…………………..僅有少量量的遺產(chǎn)產(chǎn)系統(tǒng)使使用舊的的數(shù)據(jù)模模型IBM的IMS目前仍在在使用目前關(guān)系系模型的的競(jìng)爭(zhēng)者者:面向向?qū)ο蟮牡臄?shù)據(jù)模模型Objectstore,Versant,Ontos,,………….對(duì)象關(guān)系系模型::InformixUniversalServer,UniSQL,,O2,ORACLE,DB2,,…………....關(guān)系模型型概述關(guān)系數(shù)據(jù)據(jù)模型是是由E.F..Codd于1970年提提出在此之前前大多數(shù)數(shù)數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)是是基于層層次數(shù)據(jù)據(jù)模型和和網(wǎng)狀數(shù)數(shù)據(jù)模型型的關(guān)系模型型給數(shù)據(jù)據(jù)庫(kù)領(lǐng)域域帶來(lái)了了一場(chǎng)革革命,并并取代了了舊的數(shù)數(shù)據(jù)模型型,E.F..Codd并因此于于1983年獲獲得TuringAwards在70年年代中期期,IBM和UC-Berkeley開(kāi)發(fā)了早早期的關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)管管理系統(tǒng)統(tǒng)關(guān)系模型型概述現(xiàn)在的關(guān)關(guān)系型數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)有IBM的DB2InformixOracleSybaseMicrosoft的Access,,SQLServerFox--xParadox關(guān)系模型型概述關(guān)系模型型是十分分簡(jiǎn)單的的關(guān)系模型型的數(shù)據(jù)據(jù)結(jié)構(gòu)非非常單一一,實(shí)體體、聯(lián)系系都表示示成關(guān)系系一個(gè)關(guān)系系是一個(gè)個(gè)具有行行和列的的二維表表關(guān)系模型型給出關(guān)關(guān)系操作作的能力力,但不不對(duì)RDBMS語(yǔ)言給出出具體的的語(yǔ)法要要求查詢操作作:選擇擇、投影影、連接接、除、、并、交交、差等等更新操作作:增加加、刪除除和修改改一次一集集合關(guān)系代數(shù)數(shù)和關(guān)系系演算高度非過(guò)過(guò)程化關(guān)系模型型概述關(guān)系模型型的三類類完整性性約束系統(tǒng)支持持:實(shí)體體完整性性和參照照完整性性用戶定義義:用戶戶定義的的完整性性本章主要要討論以以下問(wèn)題題關(guān)系模型型是如何何表示數(shù)數(shù)據(jù)的關(guān)系模型型可以表表示何種種完整性性約束數(shù)據(jù)是如如何被查查詢的如何將由由ER模型表示示數(shù)據(jù)庫(kù)庫(kù)概念模模式轉(zhuǎn)換換為關(guān)系系模式((模式))的視圖(外外模式))問(wèn)題關(guān)系模型型基本概概念關(guān)系域:一組組具有相相同數(shù)據(jù)據(jù)類型值值的集合合笛卡爾積積:給定定一組域域D1,D2,…,Dn,它們的笛笛卡爾積積為:D1XD2X…Dn={(d1,d2,…,dn)|di∈Di,i=1,2,,…n))元組:每每一個(gè)元元素(d1,d2,…,dn)叫做一個(gè)個(gè)n元組,或或元組分量:元元素中的的每一個(gè)個(gè)值di叫做一個(gè)個(gè)分量基數(shù):若若Di為有限集集,其基基數(shù)為mi,則D1XD2X…Dn的基數(shù)為為:關(guān)系模型型基本概概念例如:給定三個(gè)個(gè)域D1=MAN=={王兵,李李平,張張英},,D2=WOMAN={{丁梅,吳吳芳}D3=CHILD={{王一,李李一,李李二}D1XD2XD3={{(王兵,丁丁梅,王王一),,(王兵,丁丁梅,李李一),,(王兵,丁丁梅,李李二),,(王兵,吳吳芳,王王一),,(王兵,吳吳芳,李李一),,…}笛卡爾積積可以表表示為一一個(gè)二維維表,表表中的每每一行對(duì)對(duì)應(yīng)一個(gè)個(gè)元組,,每一列列對(duì)應(yīng)一一個(gè)域關(guān)系模型型基本概概念MANWOMANCHILD王兵丁丁梅王王一一王兵丁丁梅李李一一王兵丁丁梅李李二二王兵吳吳芳王王一一王兵吳吳芳李李一一王兵吳吳芳李李二二李平丁丁梅王王一一李平丁丁梅李李一一李平丁丁梅李李二二李平吳吳芳王王一一李平吳吳芳李李一一李平吳吳芳李李二二MANWOMANCHILD張英丁丁梅王王一一張英丁丁梅李李一一張英丁丁梅李李二二張英吳吳芳王王一一張英吳吳芳李李一一張英吳吳芳李李二二續(xù)左表關(guān)系模型型基本概概念關(guān)系:D1XD2X…Dn的子集叫叫做在域域D1,D2,…,,Dn上的關(guān)系系表示為R(D1,D2,…,,Dn)關(guān)系的目目或度::n單元關(guān)系系:n=1二元關(guān)系系:n=2關(guān)系是一一個(gè)二維維表(子子集)例如:假假設(shè)王兵兵的妻子子是丁梅梅,他們們的孩子子是王一一,李平平的妻子子是吳芳芳,他們們的孩子子是李一一和李二二,則取取笛卡爾爾積的一一個(gè)子集集構(gòu)造一一個(gè)關(guān)系系FAMILY關(guān)系模型型基本概概念在R(D1,D2,…,,Dn)表示中,,域可以以重名,,給每列列一個(gè)名名字,稱稱為屬性性,關(guān)系系表示為為:R(A1,A2,…,,An)例如:FAMILY((FATHER,MOTHER,,CHILD)MANWOMANCHILD王兵丁丁梅王王一一李平吳吳芳李李一一李平吳吳芳李李二二FAMILY關(guān)系模型型基本概概念候選碼::能夠唯唯一標(biāo)識(shí)識(shí)一個(gè)元元組的最最小屬性性組主碼:主屬性::候選碼碼中的屬屬性非碼屬性性:不包包含在任任何候選選碼中的的屬性關(guān)系的性性質(zhì):關(guān)系模型型要求在在一個(gè)關(guān)關(guān)系中不不能存在在完全相相同的元元組(但但實(shí)際商商用關(guān)系系數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)支支持重復(fù)復(fù)元組))關(guān)系中元元組行的的序并不不重要關(guān)系中列列的序并并不重要要(但有些系系統(tǒng)例外外)關(guān)系模型型基本概概念分量必須須取原子子值不同的列列可以出出自同一一個(gè)域給定域::person=={王兵,李李平,張張英,丁丁梅,吳吳芳}child={{王義,李李一,李李二}MANWOMANCHILDfirstsecond王兵丁丁梅王王一李平吳吳芳李李一李李二二FAMILYbad關(guān)系模型型基本概概念構(gòu)造FAMILY關(guān)系,仍仍然取personXpersonXchild的子集,,表示為為:FAMILY(FATHER,MOTHER,,CHILD)此處dom((FATHER))=dom(MOTHER))=person關(guān)系模式式:關(guān)系系的描述述形式化表表示:R(U,,D,,dom,F),簡(jiǎn)記為R(U))或R(A1,A2,…,,An)屬性向域域的映象象常常說(shuō)說(shuō)明為屬屬性的類類型和長(zhǎng)長(zhǎng)度關(guān)系模式式是型,,關(guān)系是是值關(guān)系模型型基本概概念在關(guān)系模模型中,,實(shí)體和和聯(lián)系都都是用關(guān)關(guān)系表示示的例如:左左圖學(xué)生(學(xué)號(hào),姓名,,性別,,專業(yè),,年齡))課程(課程號(hào),課程名名,學(xué)時(shí)時(shí),學(xué)分分)選修(學(xué)號(hào),課程號(hào),成績(jī)))一個(gè)關(guān)系系數(shù)據(jù)庫(kù)庫(kù)是一組組關(guān)系的的集合;;關(guān)系數(shù)數(shù)據(jù)庫(kù)模模式則是是該數(shù)據(jù)據(jù)庫(kù)所有有關(guān)系模模式的集集合學(xué)生課程選修mn關(guān)系模型型--關(guān)關(guān)系的完完整性關(guān)系模型型的完整整性是對(duì)對(duì)關(guān)系的的某種約約束實(shí)體完整整性:主主碼中的的屬性不不可取空空值(例例子)參照完整整性:例子:對(duì)對(duì)于關(guān)系系模式學(xué)生(學(xué)號(hào),姓名,,性別,,專業(yè),,年齡))課程(課程號(hào),課程名名,學(xué)時(shí)時(shí),學(xué)分分)選修(學(xué)號(hào),課程號(hào),成績(jī)))外碼:設(shè)設(shè)F是關(guān)系R的一個(gè)或或一組屬屬性,但但不是關(guān)關(guān)系R的碼,如如果F與關(guān)系S的主碼Ks相對(duì)應(yīng),,則稱F為關(guān)系R的外碼關(guān)系模型型--關(guān)關(guān)系的完完整性參照關(guān)系系R,被參照關(guān)關(guān)系S參照完整整性:F的取值必必須為::或者取空空值或者等于于S中某個(gè)元元組的主主碼值例如:部門(部門號(hào),部門名名,電話話)雇員(雇員號(hào),雇員名名,職稱稱,部門門號(hào))雇員中部部門號(hào)的的取值部門雇員擁有1n關(guān)系模型型--關(guān)關(guān)系的完完整性用戶定義義的完整整性:任何關(guān)系系數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)都都應(yīng)支持持實(shí)體完完整性和和參照完完整性用戶定義義的完整整性定義義某一具具體應(yīng)用用中所涉涉及的數(shù)數(shù)據(jù)必須須滿足的的語(yǔ)義要要求,例例如年齡齡的取值值關(guān)系數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng)提供定定義和檢檢驗(yàn)這類類完整性性機(jī)制關(guān)系模型型--關(guān)關(guān)系代數(shù)數(shù)關(guān)系代數(shù)數(shù)運(yùn)算分分為:傳傳統(tǒng)的集集合運(yùn)算算和專門門的關(guān)系系運(yùn)算集合運(yùn)算算前提:關(guān)關(guān)系R和關(guān)系S具有相同同的目,,相應(yīng)的的屬性取取自同一一個(gè)域并:關(guān)系系R和關(guān)系S的并記作作:RS(下頁(yè))差:關(guān)系系R和關(guān)系S的差記作作:R-S交:關(guān)系系R和關(guān)系S的交記作作:RS關(guān)系模型型--關(guān)關(guān)系代數(shù)數(shù)ABCABCABCa1b1c1a1b2c2a1b1c1a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a2b2c1a1b3c2ABCABCa1b2c2a1b1c1a2b2c1RSRSRSR-S關(guān)系模型型--關(guān)關(guān)系代數(shù)數(shù)R×SABCABCABCa1b1c1a1b1c1a1b2c2a1b2c2a1b1c1a1b3c2a2b2c1a1b1c1a2b2c1a1b2c2a1b2c2ABCa1b2c2a1b3c2a1b2c2a1b2c2a2b2c1a1b3c2a2b2c1a1b2c2a2b2c1a2b2c1a1b3c2a2b2c1a2b2c1RS關(guān)系模型型--關(guān)關(guān)系代數(shù)數(shù)廣義笛卡卡爾積::兩個(gè)分分別為n和m目的關(guān)系系R和S的廣義笛笛卡爾積積是一個(gè)個(gè)n+m列的元組組的集合合。若R有k1個(gè)元組,,S有k2個(gè)元組,,則廣義義笛卡爾爾積有k1×k2個(gè)元組記作:R×S關(guān)系的建建立和修修改---SQL--92SQL語(yǔ)言的簡(jiǎn)簡(jiǎn)單發(fā)展展歷史SQL語(yǔ)言是由由IBM公司在SystemR系統(tǒng)中首首先提出出SQL在1986年被被ANSI采納為標(biāo)標(biāo)準(zhǔn),稱稱為SQL--86在1989又對(duì)對(duì)SQL標(biāo)準(zhǔn)進(jìn)行行了少量量修改,,稱為SQL--89在1992年ANSI和ISO對(duì)SQL標(biāo)準(zhǔn)進(jìn)行行主要修修改,稱稱之為SQL--92在1999年又又對(duì)SQL--92進(jìn)行大量量修改((面向?qū)?duì)象的特特點(diǎn)),,稱之為為SQL--3,有時(shí)也稱稱為SQL--99關(guān)系的建建立和修修改關(guān)系表建建立CREATETABLEStudents((sidCHAR((20)),nameCHAR(30),loginCHAR(20),,ageINTEGER,gpaREAL)關(guān)系表刪刪除DROPTABLEStudents關(guān)系表修修改ALTERTABLEStudentsADDCOLUMNmaiden-nameCHAR((10))關(guān)鍵字約約束---實(shí)現(xiàn)實(shí)實(shí)體完整整性通過(guò)UNIQUE子句來(lái)定定義候選選碼(候選關(guān)鍵鍵字)通過(guò)PRIMARYKEY子句來(lái)定定義主碼碼(主關(guān)鍵字字)CREATETABLEStudents((sidCHAR((20)),nameCHAR((30)),loginCHAR(20),ageINTEGER,gpaREAL,UNIQUE((name,,age),,UNIQUE((login)),PRIMARYKEY((sid)))外鍵約束束--實(shí)實(shí)現(xiàn)參照照完整性性外鍵約束束指的是是兩個(gè)關(guān)關(guān)系之間間的關(guān)鍵鍵字約束束關(guān)系,,考慮下下列關(guān)系系Students(sid,,name,,login,age,,gpa)Enrolled(sid,,cid,grade))從語(yǔ)義上上來(lái)講,,在關(guān)系系Enrolled中出現(xiàn)的的sid值,在關(guān)關(guān)系Students中必須存存在,Enrolled中的sid稱為外鍵鍵,引用用關(guān)系Students中的主關(guān)關(guān)鍵字sid外鍵必須須與被引引用關(guān)系系中的主主關(guān)鍵字字相匹配配可以有不不同的名名字列數(shù)要相相同,且且要具有有兼容的的數(shù)據(jù)類類型外鍵約束束-----示示例外鍵約束束的語(yǔ)義義在被參照照關(guān)系中中關(guān)鍵字字的值在在參照關(guān)關(guān)系中不不一定出出現(xiàn)但在參照照關(guān)系中中出現(xiàn)的的關(guān)鍵字字值在被被參照關(guān)關(guān)系中必必須要出出現(xiàn)如果我們們向關(guān)系系Enrolled中插入元元組<55555,Art104,,A>>,這個(gè)操作作將被拒拒絕因?yàn)闉檫`反了了外鍵約約束外鍵約束束的語(yǔ)義義對(duì)于操作作:將關(guān)關(guān)系Students中的<53666,Jones,joines@cs,18,3..4>刪除,有有兩種處處理禁止這種種刪除操操作同時(shí)刪除除參照關(guān)關(guān)系中的的相關(guān)元元組值得注意意的是外外鍵可能能來(lái)自于于同一關(guān)關(guān)系,也也就是被被參照關(guān)關(guān)系就是是參照關(guān)關(guān)系Students(sid,,name,,login,age,,gpa,partner),,partner是對(duì)sid的一個(gè)外外鍵約束束Courses(cid,name,desc,preq),,preq是對(duì)cid的一個(gè)外外鍵約束束當(dāng)一門課課程沒(méi)有有前期課課程時(shí),,preq可以為空空,空值值并不違違反外鍵鍵約束外鍵約束束的定義義----SQL--92邏輯數(shù)據(jù)據(jù)庫(kù)設(shè)計(jì)計(jì):ER到關(guān)系的的轉(zhuǎn)換實(shí)體集到到表的轉(zhuǎn)轉(zhuǎn)換實(shí)體集中中的屬性性映射為為表中的的屬性實(shí)體集中中的(主主)關(guān)鍵鍵字映射射為關(guān)系系中的((主)關(guān)關(guān)鍵字實(shí)體集中中屬性的的域映射射為關(guān)系系中屬性性的域?qū)嶓w集到到表的轉(zhuǎn)轉(zhuǎn)換---示示例多對(duì)多聯(lián)聯(lián)系集到到表的轉(zhuǎn)轉(zhuǎn)換多對(duì)多聯(lián)聯(lián)系被映映射為一一個(gè)關(guān)系系表,包包括屬性性:每個(gè)參加加聯(lián)系的的實(shí)體集集的主關(guān)關(guān)鍵字屬屬性,作作為外鍵鍵存在所有外鍵鍵構(gòu)成該該實(shí)體集集的主關(guān)關(guān)鍵字聯(lián)系集本本身的屬屬性---一一般屬性性多對(duì)多聯(lián)聯(lián)系集到到表的轉(zhuǎn)轉(zhuǎn)換---例1mn多對(duì)多聯(lián)聯(lián)系集到到表的轉(zhuǎn)轉(zhuǎn)換---例1多對(duì)多聯(lián)聯(lián)系集到到表的轉(zhuǎn)轉(zhuǎn)換---例2mnp多對(duì)多聯(lián)聯(lián)系集到到表的轉(zhuǎn)轉(zhuǎn)換---例2CREATETABLEWork3--In((ssnCHAR(11),,didinteger,fromdate,,todate,,PRIMARYKEY(ssn,,did,from,to))FOREIGKEY(ssn))REFERENCESEmployees,ONDELETENOACTION,FOREIGKEY(did))REFERENCESDepartments,,FOREIGNKEY((from)REFERENCEDURATION,FOREIGNKEY((to))REFERENCEDURATION)一對(duì)多聯(lián)聯(lián)系集的的翻譯1n一對(duì)多聯(lián)聯(lián)系集的的翻譯------方法法一將一對(duì)多多聯(lián)系翻翻譯為一一個(gè)獨(dú)立立的表一對(duì)多聯(lián)聯(lián)系集的的翻譯------方法法二將Manages和Departments翻譯為一一個(gè)關(guān)系系關(guān)于聯(lián)系系集到關(guān)關(guān)系映射射的思考考題在一對(duì)多多聯(lián)系中中,Manages和Departments為什么可可以合并并為一個(gè)個(gè)關(guān)系??對(duì)于一對(duì)對(duì)多聯(lián)系系翻譯的的兩種方方法的優(yōu)優(yōu)缺點(diǎn)是是什么??對(duì)于一個(gè)個(gè)多對(duì)多多聯(lián)系集集為什么么必須映映射為一一個(gè)獨(dú)立立的關(guān)系系表?一對(duì)一聯(lián)聯(lián)系應(yīng)如如何翻譯譯?思考題部部分答案案方法一和和方法二二的優(yōu)缺缺點(diǎn)方法一多多產(chǎn)生一一個(gè)關(guān)系系對(duì)于有些些查詢,,方法一一需要兩兩次連接接,而方方法二只只需要一一次連接接即可方法二的的缺點(diǎn)是是浪費(fèi)空空間,如如果有些些部門沒(méi)沒(méi)有經(jīng)理理的話具有參加加約束的的聯(lián)系集集的翻譯譯1nnm具有參加加約束的的1:n(1::1)聯(lián)系集的的翻譯具有參加加約束的的聯(lián)系集集的翻譯譯ssn的非空定定義反映映了參加加約束使用上面面的第一一種方法法也可以以表示Manages和Departments,但使用方方法二比比方法一一好,((why?因?yàn)榉椒ǚǘ速M(fèi)費(fèi)空間的的缺點(diǎn)已已不復(fù)存存在)弱實(shí)體集集的翻譯譯一個(gè)弱實(shí)實(shí)體總是是參加一一個(gè)二元元一對(duì)多多聯(lián)系((?)全參加約約束1m弱實(shí)體集集的翻譯譯使用具有有1:n聯(lián)系的第第二種翻翻譯方法法(Why??),但必須考考慮下面面的具體體要求必須考慮慮弱實(shí)體體集有一一個(gè)部分分關(guān)鍵字字當(dāng)一個(gè)Owner實(shí)體被刪刪除以后后,弱實(shí)實(shí)體集中中相應(yīng)的的實(shí)體也也應(yīng)被刪刪除弱實(shí)體集集的翻譯譯類層次的的翻譯類層次的的翻譯---方法一三個(gè)實(shí)體體集翻譯譯成三個(gè)個(gè)關(guān)系實(shí)體集Employees的翻譯比比較簡(jiǎn)單單關(guān)系Hourly__Emps的屬性包包括:ssn,,hourly_wages,hours__worked,;ssn是主關(guān)鍵鍵字;同同時(shí)ssn一個(gè)外鍵鍵;當(dāng)當(dāng)超類中中實(shí)體被被刪除時(shí)時(shí)子類中中的對(duì)象象也必須須刪除Contract_Emps的翻譯相相類似思考題::為什么么在關(guān)系系Hourly__Emps的屬性中中不包含含屬性name和lot??體現(xiàn)繼承承性了嗎嗎?類層次的的翻譯---方法一CREATETABLEHourly_Emps((ssnCHAR(20),hourly__wagesREAL,,hours_workedINTEGER,,PRIMARYKEY(ssn),FOREIGKEY(ssn)REFERENCESEmployees,ONDELETECASCADE))類層次的的翻譯---方法二三個(gè)實(shí)體體集翻譯譯成兩個(gè)個(gè)關(guān)系僅生成兩兩個(gè)關(guān)系系:Hourly__Emps和Contract_Emps,他們都包包含超類類Employees的屬性,,除了主主關(guān)鍵字字約束以以外,不不需要定定義任何何約束當(dāng)然,對(duì)對(duì)于overlap約束只能能用通用用約束機(jī)機(jī)制來(lái)實(shí)實(shí)現(xiàn)對(duì)于方法法一來(lái)講講,covering約束也只只能用通通用約束束機(jī)制來(lái)來(lái)實(shí)現(xiàn)類層次的的翻譯---兩兩種方法法的比較較方法一::當(dāng)查詢?cè)兩婕暗降紼mployees的屬性和和其它一一些細(xì)節(jié)節(jié)屬性時(shí)時(shí)需要連連接操作作;當(dāng)查查詢僅涉涉及到Employees的屬性時(shí)時(shí)則在Employees關(guān)系上進(jìn)進(jìn)行即可可;另一一個(gè)優(yōu)點(diǎn)點(diǎn)是可以以存儲(chǔ)非非Hourly__Emps和Contract_Emps的實(shí)體方法二::主要確確定無(wú)法法存儲(chǔ)非非Hourly__Emps和Contract_Emps的實(shí)體,,且name和lot出現(xiàn)了兩兩次;優(yōu)優(yōu)點(diǎn)是僅僅涉及到到Hourly__Emps或Contract_Emps的查詢僅僅在一個(gè)個(gè)關(guān)系上上進(jìn)行即即可,不不需要額額外的連連接操作作,但涉涉及到所所有雇員員的查詢?cè)儎t需要要在兩個(gè)個(gè)關(guān)系上上進(jìn)行;;實(shí)例分析析一個(gè)公司司數(shù)據(jù)庫(kù)庫(kù)需要存存儲(chǔ)雇員員、部門門和雇員員小孩的的信息。。雇員工工作在部部門(一一個(gè)雇員員只能工工作

溫馨提示

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