第2章關(guān)系數(shù)據(jù)模型V2.1_第1頁
第2章關(guān)系數(shù)據(jù)模型V2.1_第2頁
第2章關(guān)系數(shù)據(jù)模型V2.1_第3頁
第2章關(guān)系數(shù)據(jù)模型V2.1_第4頁
第2章關(guān)系數(shù)據(jù)模型V2.1_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《數(shù)據(jù)庫原理及應(yīng)用》第2章關(guān)系數(shù)據(jù)模型電子科技大學(xué)計(jì)算機(jī)學(xué)院鄭莉華cd_zhenglh@163.com05二月2023ClicktoaddTitle1

數(shù)據(jù)模型1ClicktoaddTitle2

關(guān)系數(shù)據(jù)模型2ClicktoaddTitle2關(guān)系3ClicktoaddTitle1

關(guān)系代數(shù)4

了解數(shù)據(jù)模型的基本構(gòu)成和發(fā)展過程;掌握關(guān)系數(shù)據(jù)模型的結(jié)構(gòu)和關(guān)系數(shù)據(jù)的操作與約束;了解域、笛卡爾積的基本內(nèi)容,掌握關(guān)系完整性的基本內(nèi)容;掌握基本的集合運(yùn)算知識(shí);

在數(shù)據(jù)庫中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)

客觀對(duì)象的抽象過程兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次?,F(xiàn)實(shí)世界認(rèn)識(shí)抽象信息世界概念模型機(jī)器世界

DBMS支持的數(shù)據(jù)模型數(shù)據(jù)模型抽象過程

數(shù)據(jù)模型的不同層次概念模型邏輯模型物理模型

概念數(shù)據(jù)模型(ConceptualDataModel,CDM)面向現(xiàn)實(shí)世界建模主要用來描述現(xiàn)實(shí)世界的概念化結(jié)構(gòu),與具體的DBMS無關(guān)現(xiàn)實(shí)世界的事物經(jīng)過人腦的抽象加工,提取出對(duì)用戶有用的信息,經(jīng)過組織整理加工形成介于現(xiàn)實(shí)世界和計(jì)算機(jī)世界之間的中間模型;CDM只關(guān)心現(xiàn)實(shí)世界中的事物、事務(wù)特征、聯(lián)系,完全沒有與具體DBMS相關(guān)的任何概念;CDM是系統(tǒng)分析員、程序設(shè)計(jì)員、維護(hù)人員、用戶之間相互理解的共同語言;CDM能對(duì)數(shù)據(jù)庫的設(shè)計(jì)人員在設(shè)計(jì)的初始階段擺脫計(jì)算機(jī)系統(tǒng)及DBMS的具體技術(shù)問題,集中精力分析數(shù)據(jù)、數(shù)據(jù)之間的聯(lián)系;概念模型必須轉(zhuǎn)換成邏輯模型,才能在DBMS中實(shí)現(xiàn);最常用的概念模型表達(dá)工具是E-R模型

邏輯數(shù)據(jù)模型(LogicalDataModel,LDM)面向用戶建模用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型;是具體的DBMS所支持的數(shù)據(jù)模型(網(wǎng)狀/層次/關(guān)系/面向?qū)ο螅?;既要面向用戶,也要面向系統(tǒng);LDM表示數(shù)據(jù)間聯(lián)系的方法一般的DBMS支持一種LDM(特殊的DBMS支持多種LDM)

物理數(shù)據(jù)模型(PhysicalDataModel,PDM)面向具體的DBMS,面向機(jī)器描述數(shù)據(jù)在存儲(chǔ)介質(zhì)上的組織結(jié)構(gòu)PDM不僅與具體的DBMS有關(guān),還與操作系統(tǒng)和硬件有關(guān)每一種邏輯模型在實(shí)現(xiàn)時(shí)都有其對(duì)應(yīng)的物理模型PDM加入了概念模型中要考慮的因素:觸發(fā)器、存儲(chǔ)過程、主鍵、外鍵、索引等DBMS為保證其獨(dú)立性和可以執(zhí)行,大部分PDM的實(shí)現(xiàn)工作由系統(tǒng)自動(dòng)完成,而設(shè)計(jì)者只設(shè)計(jì)索引、聚簇等特殊結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的約束條件

與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象,如關(guān)系模型中的域、屬性、關(guān)系等與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象。數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特征的描述。

數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中各種對(duì)象的實(shí)例允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號(hào)、操作規(guī)則(如優(yōu)先級(jí))及實(shí)現(xiàn)操作的語言。 數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。

數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是指給定的數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。在關(guān)系模型中,任何關(guān)系必須滿足實(shí)體完整性和參照完整性兩個(gè)條件。提供定義完整性約束條件的機(jī)制,自定義完整性,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。例如,在醫(yī)院的數(shù)據(jù)庫中規(guī)定醫(yī)生的年齡在18到60歲之間。

層次模型網(wǎng)狀模型關(guān)系模型面向?qū)ο竽P?/p>

層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體及實(shí)體間的聯(lián)系。有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn);根以外的其他結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)。

R1

根結(jié)點(diǎn)

R2

兄弟結(jié)點(diǎn)

R3

葉結(jié)點(diǎn)

R4

兄弟結(jié)點(diǎn)

R5

葉結(jié)點(diǎn)

葉結(jié)點(diǎn)

層次模型優(yōu)點(diǎn)概念簡(jiǎn)單數(shù)據(jù)庫的安全性數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫完整性效率高層次模型缺點(diǎn)實(shí)現(xiàn)復(fù)雜難于管理缺乏結(jié)構(gòu)獨(dú)立性應(yīng)用程序編寫和使用復(fù)雜性實(shí)現(xiàn)的限制缺乏標(biāo)準(zhǔn)

R1

根結(jié)點(diǎn)

R2

兄弟結(jié)點(diǎn)

R3

葉結(jié)點(diǎn)

R4

兄弟結(jié)點(diǎn)

R5

葉結(jié)點(diǎn)

葉結(jié)點(diǎn)

在網(wǎng)狀數(shù)據(jù)模型中,一個(gè)聯(lián)系可以被稱為一個(gè)系。每個(gè)系至少由兩種記錄類型組成:一種等同于層次模型中父節(jié)點(diǎn)的首記錄,另一種等同于層次模型中子節(jié)點(diǎn)的屬記錄。

網(wǎng)狀模型優(yōu)點(diǎn)概念簡(jiǎn)單數(shù)據(jù)訪問的靈活性提高了數(shù)據(jù)庫的完整性數(shù)據(jù)獨(dú)立性符合標(biāo)準(zhǔn)網(wǎng)狀模型缺點(diǎn)系統(tǒng)復(fù)雜性缺乏結(jié)構(gòu)獨(dú)立性

關(guān)系模型是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了關(guān)系數(shù)據(jù)庫系統(tǒng)的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ)。20世紀(jì)80年代以來,計(jì)算機(jī)廠商新推出的關(guān)系數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型,非關(guān)系模型的產(chǎn)品也大都加上了關(guān)系接口。數(shù)據(jù)庫領(lǐng)域當(dāng)前的研究工作也都是以關(guān)系方法為基礎(chǔ)。后面專門講述

面向?qū)ο髷?shù)據(jù)模型至少由以下這些部分組成:數(shù)據(jù)模型的對(duì)象是真實(shí)世界實(shí)體或事件的抽象。屬性描述一個(gè)對(duì)象的特性。共有一些相似特征的對(duì)象被歸為一類。類是一組具有共同結(jié)構(gòu)和行為的相近的集合。類在一個(gè)類層次結(jié)構(gòu)中組織起來。類層次結(jié)構(gòu)像一個(gè)自頂向下的樹,每個(gè)類只能有一個(gè)父類。

面向?qū)ο髷?shù)據(jù)模型優(yōu)點(diǎn):增加了語義內(nèi)容可視化表達(dá)包含了語義內(nèi)容數(shù)據(jù)庫完整性結(jié)構(gòu)獨(dú)立性和數(shù)據(jù)獨(dú)立性面向?qū)ο髷?shù)據(jù)模型缺點(diǎn):面向?qū)ο髷?shù)據(jù)模型標(biāo)準(zhǔn)缺乏復(fù)雜的導(dǎo)航式數(shù)據(jù)訪問過高的系統(tǒng)開銷減慢了事物處理的速度ClicktoaddTitle1

數(shù)據(jù)模型1ClicktoaddTitle2

關(guān)系數(shù)據(jù)模型2ClicktoaddTitle2關(guān)系3ClicktoaddTitle1

關(guān)系代數(shù)4

基本概念關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的數(shù)據(jù)約束關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)

關(guān)系實(shí)例關(guān)系實(shí)例是由命名的若干列和行組成的表格。一般情況下,關(guān)系指代實(shí)例。關(guān)系中的行稱為元組,類似于文件中的記錄,但與文件記錄的不同之處是,所有的元組的列數(shù)相同,并且一個(gè)關(guān)系中不存在兩個(gè)相同的元組。關(guān)系實(shí)例中元組的數(shù)目稱為基數(shù)(Cardinality)。在關(guān)系模型中,關(guān)系中的列一般都應(yīng)該被命名。由于關(guān)系是元組的集合,所以元組的次序是無關(guān)緊要的。

關(guān)系模式(RelationSchema),包括如下組成部分:關(guān)系名關(guān)系中的屬性的名字及相關(guān)聯(lián)的域名完整性約束關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件(第一范式,1NF):關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),即不能表中有表。

關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫是關(guān)系的有限集合。因?yàn)殛P(guān)系由兩部分組成,所以關(guān)系數(shù)據(jù)庫也是由兩部分組成,即關(guān)系模式的集合及對(duì)應(yīng)的關(guān)系實(shí)例的集合。關(guān)系模式的集合稱為數(shù)據(jù)庫模式,對(duì)應(yīng)的關(guān)系實(shí)例的集合稱為數(shù)據(jù)庫實(shí)例。

基本術(shù)語:關(guān)系關(guān)系(Relation)是笛卡爾積的一個(gè)有意義的子集,一個(gè)關(guān)系就是一張二維表,通常將一個(gè)沒有重復(fù)行、重復(fù)列的二維表看成一個(gè)關(guān)系。每個(gè)關(guān)系都有一個(gè)關(guān)系名。二維表存放兩類數(shù)據(jù):實(shí)體本身的數(shù)據(jù)實(shí)體之間的聯(lián)系

基本術(shù)語:關(guān)系關(guān)系關(guān)系名:患者元組屬性分量

基本術(shù)語:關(guān)系元組(Tuple)

表中的一行,表示一個(gè)實(shí)體,關(guān)系是由元組組成的。屬性(Attribute)

表中的每一列在關(guān)系中稱為屬性,每個(gè)屬性都有一個(gè)屬性名,屬性值則是各元組屬性的取值。例如,屬性:“Pno”,“Pname”,“Psex”,“Page”,“Pid”。域(Domain)屬性的取值范圍稱為域。同一屬性只能在相同域中取值。例如,性別屬性“Psex”的域?yàn)椤澳小焙汀芭狈至浚–omponent)元組中的一個(gè)屬性值。

鍵(Key)關(guān)系中能唯一區(qū)分不同元組的屬性或?qū)傩越M合,稱為關(guān)系的一個(gè)鍵,或者稱為關(guān)鍵字、碼。關(guān)鍵字的屬性值不能取“空值”。例如,“Pno”為患者關(guān)系的鍵,因?yàn)榛颊呔幪?hào)不允許重復(fù),它的每個(gè)值能唯一地把每個(gè)患者元組區(qū)分開來,而“Pname”則不能作為關(guān)鍵字,因?yàn)榛颊咧锌赡艹霈F(xiàn)重名。候選?。–andidateKey)關(guān)系中能夠成為關(guān)鍵字的屬性或?qū)傩越M合可能不是唯一的。凡在關(guān)系中能夠唯一區(qū)分確定不同元組的屬性或?qū)傩越M合,稱為候選健。包括在候選鍵中的屬性成為主屬性,不包括在候選鍵中的屬性稱為非主屬性。主鍵(PrimaryKey,PK)當(dāng)一個(gè)關(guān)系中有多個(gè)候選健的時(shí)候,則從中選定一個(gè)作為關(guān)系的主鍵。關(guān)系中主鍵是唯一的。每個(gè)關(guān)系中有且只有一個(gè)主鍵。

外鍵(ForeignKey,F(xiàn)K)關(guān)系中某個(gè)屬性或?qū)傩越M合并非該關(guān)系的鍵,但卻是另一個(gè)關(guān)系的主鍵,稱此屬性或?qū)傩越M合組合為本關(guān)系的外鍵。診斷編號(hào)患者編號(hào)醫(yī)生編號(hào)癥狀描述診斷描述就診時(shí)間醫(yī)生編號(hào)醫(yī)生姓名醫(yī)生性別醫(yī)生年齡所屬部門技術(shù)等級(jí)工資主鍵(PrimaryKey,PK)外鍵(ForeignKey,F(xiàn)K)

關(guān)系模式(RelationSchema)對(duì)關(guān)系的描述稱為關(guān)系模式,其格式為:

關(guān)系名(屬性名l,屬性名2,…,屬性名n)例如:患者(編號(hào),姓名,性別,年齡)

關(guān)系數(shù)據(jù)操作包括兩類:查詢更新(插入、刪除和修改)操作語言用戶可以通過關(guān)系語言來完成對(duì)數(shù)據(jù)的各種操作,關(guān)系語言特點(diǎn)是高度非過程化,即用戶只需說明“做什么”而不必說明“怎么做”。

關(guān)系數(shù)據(jù)約束:數(shù)據(jù)模型中固有的約束,如元組不能重復(fù)??梢栽跀?shù)據(jù)模型的模式中直接表述的約束,如數(shù)據(jù)定義語言(DDL)中指定的完整性約束。不能在數(shù)據(jù)模型的模式中直接表述的約束,由應(yīng)用程序表示和執(zhí)行。

關(guān)系數(shù)據(jù)模型的優(yōu)點(diǎn):關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰。更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性。豐富的完整性。關(guān)系數(shù)據(jù)模型的缺點(diǎn):對(duì)“現(xiàn)實(shí)世界”實(shí)體的表達(dá)能力弱。由于存取路徑對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。關(guān)系模型只有一些固定的操作集。不能很好的支持業(yè)務(wù)規(guī)則。

典型商業(yè)DBMS:SQLServer——MicrosoftORACLE——甲骨文SYBASE——SybaseDB/2——IBMMySQL——SunClicktoaddTitle1

數(shù)據(jù)模型1ClicktoaddTitle2

關(guān)系數(shù)據(jù)模型2ClicktoaddTitle2關(guān)系3ClicktoaddTitle1

關(guān)系代數(shù)4

域、笛卡爾積和關(guān)系關(guān)系的性質(zhì)關(guān)系模式關(guān)系完整性

域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例如:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)長(zhǎng)度指定長(zhǎng)度的字符串集合{‘男’,‘女’}介于某個(gè)取值范圍的日期

笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:

其中:每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組,元組中每一個(gè)值di叫做一個(gè)分量。D1D2…Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}

笛卡爾積舉例:給出3個(gè)域:D1=Student={張同學(xué),李同學(xué)}D2=Advisor={王老師,趙老師}D3=Department={外語系,計(jì)算機(jī)系}則D1,D2,D3的笛卡爾積為:D=D1×D2×D3={(張同學(xué),王老師,外語系),

(張同學(xué),王老師,計(jì)算機(jī)系),

(張同學(xué),趙老師,外語系),(張同學(xué),趙老師,計(jì)算機(jī)系),

(李同學(xué),王老師,外語系),

(李同學(xué),王老師,計(jì)算機(jī)系),

(李同學(xué),趙老師,外語系),

(李同學(xué),趙老師,計(jì)算機(jī)系)}D的基數(shù)為|D1|×|D2|×|D3|=?

笛卡兒積D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的n元關(guān)系(Relation)。用R(D1,D2,…,Dn)表示,R是關(guān)系名。關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t(tuple)表示。關(guān)系是笛卡兒積的有一定意義的、有限的子集,所以關(guān)系也是一個(gè)二維表。表的每一行對(duì)應(yīng)一個(gè)元組,表的每一列對(duì)應(yīng)一個(gè)域。關(guān)系可以有3種類型:基本關(guān)系(又稱基本表):實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表:查詢結(jié)果對(duì)應(yīng)的表視圖表:由基本表或其它視圖標(biāo)導(dǎo)出的表,虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)

關(guān)系的性質(zhì)有一個(gè)關(guān)系名,并且跟關(guān)系模式中所有其他關(guān)系不重名;每一個(gè)單元格都包含且僅包含一個(gè)原子值;每個(gè)屬性都有一個(gè)不同的名字(指同一關(guān)系中);同一屬性中的各個(gè)值都取自相同的域;各個(gè)元組互不相同,不存在重復(fù)元組;屬性的順序并不重要;理論上講,元組的順序并不重要。

關(guān)系數(shù)據(jù)庫模式S包含關(guān)系模式的集合R={R1,R2,…,Rm}和完整性約束的集合IC。例如:HIS={Dept,Doctor,Patient,Diagnosis}。

關(guān)系操作方式:集合操作操作的對(duì)象與結(jié)果都是集合。一次一集合(setatatime)。查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改關(guān)系數(shù)據(jù)庫語言

關(guān)系數(shù)據(jù)庫語言關(guān)系代數(shù)語言

如:ISBL關(guān)系演算語言兼有二者雙重特點(diǎn)語言,如:SQL元組關(guān)系演算語言如:ALPHA,QUEL域關(guān)系演算語言如:QBE

關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和一致性三類完整性約束實(shí)體完整性:主碼不能取空值參照完整性:外碼取值必須為:1)取空值;2)被參照關(guān)系表中某個(gè)元組的主碼值用戶定義的完整性:各類商業(yè)規(guī)則實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。ClicktoaddTitle1

數(shù)據(jù)模型1ClicktoaddTitle2

關(guān)系數(shù)據(jù)模型2ClicktoaddTitle2關(guān)系3ClicktoaddTitle1

關(guān)系代數(shù)4

基本集合運(yùn)算并差交笛卡爾積專門的關(guān)系代數(shù)運(yùn)算選擇運(yùn)算投影運(yùn)算連接運(yùn)算除運(yùn)算

并運(yùn)算:所有至少出現(xiàn)在兩個(gè)關(guān)系中之一的元組集合。兩個(gè)關(guān)系R和S若進(jìn)行并運(yùn)算,則它們必須是相容的:關(guān)系R和S必須是同元的,即它們的屬性數(shù)目必須相同。對(duì)i,R的第i個(gè)屬性的域必須和S的第i個(gè)屬性的域相同。語義是一致的RS={t|tRtS}

并運(yùn)算:舉例R1R2R1∪R2

差運(yùn)算:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合,記為:R與S必須是相容的RS={t|tRtS}

差運(yùn)算:舉例R1R2R1-R2

交運(yùn)算:關(guān)系R和S的交運(yùn)算結(jié)果仍為n目關(guān)系,由既屬于R又屬于S的元組組成,記為:關(guān)系的交可以用差來表示,即:RS=R(RS)=S(SR)RS={t|tRtS}

交運(yùn)算:舉例R1R2R1∩

R2

兩個(gè)分別為n目和m目的關(guān)系R和S的笛卡爾積是一個(gè)(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的笛卡爾積有k1×k2個(gè)元組。記為:R×S的度為R與S的度之和,R×S的元組個(gè)數(shù)為R和S的元組個(gè)數(shù)的乘積。

笛卡爾積示例R1R3

從關(guān)系中找出滿足給定條件的所有元組稱為選擇。從行的角度進(jìn)行的運(yùn)算,即水平方向抽取元組。經(jīng)過選擇運(yùn)算得到的結(jié)果可以形成新的關(guān)系,其關(guān)系模式不變,但其中元組的數(shù)目小于或等于原來的關(guān)系中的元組的個(gè)數(shù),它是原關(guān)系的一個(gè)子集。選擇運(yùn)算記為:F(R)={t|tR,F(t)=‘真’}σ

選擇運(yùn)算示例:在患者信息中,把30歲以下男患者找出來。(患者性別=’男’)∧(患者年齡<’30’)(R)或(3=’男’)∧(4<’30’)(R)

從關(guān)系中挑選若干屬性組成的新的關(guān)系從列的角度進(jìn)行的運(yùn)算,即垂直方向抽取元組。投影的結(jié)果中要去掉相同的行。A(R)={t[A]|tR},AR

投影運(yùn)算示例:用投影運(yùn)算得到患者的姓名和社會(huì)保險(xiǎn)號(hào)。π患者姓名,社會(huì)保險(xiǎn)號(hào)(R)或π2,5(R)

條件連接(連接) RS={rs|rRsSr[A]s[B]}為算術(shù)運(yùn)算,為等號(hào)時(shí)稱為等值連接。A,B為R和S上度數(shù)相等且可比的屬性列。從定義上可以看出連接運(yùn)算就是在兩個(gè)關(guān)系的笛卡爾積上進(jìn)行的選擇運(yùn)算。

AθBRSAB

條件連接示例:關(guān)系R和S,求

RSC=E

RSC=E(R)(S)

自然連接:從兩個(gè)關(guān)系的廣義笛卡兒積中選取在相同屬性列B上取值相等的元組,并去掉重復(fù)的行。

R

S

={rs|rRsSr[B]=S[B]}自然連接中相等的分量必須是相同的屬性組,并且要在結(jié)果中去掉重復(fù)的屬性,而等值連接則不必。進(jìn)行自然連接的步驟如下:計(jì)算RS;選擇同時(shí)出現(xiàn)在R和S中屬性相等元組;去掉重復(fù)屬性。

可以看出,如果兩個(gè)關(guān)系沒有公共屬性,自然連接就是笛卡爾積。

自然連接示例:將關(guān)系R、S自然連接。(R)(S)

各種連接等值連接(Equijoin)θ為“=”的連接運(yùn)算稱為等值連接自然連接(Naturaljoin)特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉左連接(LeftJoin)R左連接S:所有來自R的元組和那些連接字段相等處的S的元組。右連接(RightJoin)R右連接S:所有來自S的元組和那些連接字段相等處的R的元組。

左連接與右連接示例RS(R)LJN(S)R.B=S.B

∧R.C=S.C(R)RJN(S)R.B=S.B

∧R.C=S.C

象集Z:給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|tR,t[X]=x}象集Z表示R中屬性組X上值為x的諸元組在Z上分量的集合。Zx=a1=?Zx=a2=?

給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(gè)新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S={tr[X]|tr

R∧πY(S)

Yx}

Yx:x在R中的象集,x=tr[X]÷RS

除法示例ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1Aa1RSR÷SBCDb1c2d1b2c1d1b2c3d2

除法示例關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4}a1的象集為{(b1,c2),(b2,c3),(b2,c1)}

a2的象集為{(b3,c7),(b2,c3)}

a3的象集為{(b4,c6)}

a4的象集為{(b6,c6)}S在(B,C)上的投影為:

{(b1,c2),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論