關(guān)系模型和關(guān)系運(yùn)算_第1頁
關(guān)系模型和關(guān)系運(yùn)算_第2頁
關(guān)系模型和關(guān)系運(yùn)算_第3頁
關(guān)系模型和關(guān)系運(yùn)算_第4頁
關(guān)系模型和關(guān)系運(yùn)算_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

關(guān)系模型和關(guān)系運(yùn)算第一頁,共一百一十三頁,2022年,8月28日

第二章關(guān)系模型和關(guān)系運(yùn)算

2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關(guān)系代數(shù)數(shù)據(jù)庫系統(tǒng)原理第二頁,共一百一十三頁,2022年,8月28日

第二章關(guān)系模型和關(guān)系運(yùn)算學(xué)習(xí)要求:

深刻理解關(guān)系模型的相關(guān)概念,即關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系完整性約束;掌握關(guān)系代數(shù)的基本運(yùn)算和應(yīng)用。學(xué)習(xí)重點(diǎn):關(guān)系模型的基本概念;關(guān)系模型的三類完整性約束;關(guān)系代數(shù)的選擇、連接、除等運(yùn)算數(shù)據(jù)庫系統(tǒng)原理第三頁,共一百一十三頁,2022年,8月28日第二章關(guān)系模型和關(guān)系運(yùn)算2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關(guān)系代數(shù)數(shù)據(jù)庫系統(tǒng)原理第四頁,共一百一十三頁,2022年,8月28日

第一節(jié)

關(guān)系模型概述一、關(guān)系理論的產(chǎn)生與發(fā)展系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國IBM公司的1970年提出關(guān)系數(shù)據(jù)模型之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)80年代后,關(guān)系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)第二章關(guān)系模型和關(guān)系運(yùn)算第五頁,共一百一十三頁,2022年,8月28日關(guān)系理論的產(chǎn)生與發(fā)展(續(xù))典型實(shí)驗(yàn)系統(tǒng)SystemRUniversityINGRES典型商用系統(tǒng)ORACLESYBASEINFORMIXDB2SQLSERVERINGRES第二章關(guān)系模型和關(guān)系運(yùn)算第六頁,共一百一十三頁,2022年,8月28日第一節(jié)關(guān)系模型概述二、關(guān)系模型的組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作關(guān)系完整性約束第二章關(guān)系模型和關(guān)系運(yùn)算第七頁,共一百一十三頁,2022年,8月28日(一)關(guān)系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)----關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。數(shù)據(jù)的邏輯結(jié)構(gòu)----二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是二維表。第二章關(guān)系模型和關(guān)系運(yùn)算

學(xué)號姓名性別專業(yè)宿舍0309113101陳浩男計(jì)算機(jī)松園2230309113102張立男計(jì)算機(jī)松園2250309113201王晨女通信梅園112第八頁,共一百一十三頁,2022年,8月28日(二)關(guān)系操作1、常用的關(guān)系操作查詢查找用戶所需要的數(shù)據(jù)數(shù)據(jù)更新插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分2、關(guān)系操作的特點(diǎn)集合操作方式,即操作的對象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄第二章關(guān)系模型和關(guān)系運(yùn)算第九頁,共一百一十三頁,2022年,8月28日

關(guān)系操作(續(xù))3、關(guān)系數(shù)據(jù)語言的種類關(guān)系代數(shù)語言

用對關(guān)系的運(yùn)算來表達(dá)查詢要求典型代表:ISBL關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量典型代表:ALPHA域關(guān)系演算語言謂詞變元的基本對象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言典型代表:SQL第二章關(guān)系模型和關(guān)系運(yùn)算第十頁,共一百一十三頁,2022年,8月28日(三)關(guān)系的完整性約束實(shí)體完整性通常由關(guān)系系統(tǒng)自動(dòng)支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動(dòng)支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束用戶定義后由系統(tǒng)支持第二章關(guān)系模型和關(guān)系運(yùn)算第十一頁,共一百一十三頁,2022年,8月28日第二章關(guān)系模型和關(guān)系運(yùn)算2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關(guān)系代數(shù)第二章關(guān)系模型和關(guān)系運(yùn)算第十二頁,共一百一十三頁,2022年,8月28日第二節(jié)關(guān)系數(shù)據(jù)結(jié)構(gòu)及完整性約束關(guān)系模型建立在集合代數(shù)的基礎(chǔ)上。關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念域笛卡兒積關(guān)系關(guān)鍵字主屬性非主屬性關(guān)系數(shù)據(jù)庫第二章關(guān)系模型和關(guān)系運(yùn)算第十三頁,共一百一十三頁,2022年,8月28日

一、概念1、域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。

例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)指定長度的字符串集合{‘男’,‘女’}介于某個(gè)取值范圍的日期第二章關(guān)系模型和關(guān)系運(yùn)算第十四頁,共一百一十三頁,2022年,8月28日2、笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Dn,這些域可以是相同的。D1

D2,…,Dn的笛卡爾積為:

D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡稱元組。分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量?;鶖?shù)(Cardinalnumber)若Di

為有限集,其基數(shù)為mi,則D1×D2×…×Dn的基數(shù)為:第二章關(guān)系模型和關(guān)系運(yùn)算第十五頁,共一百一十三頁,2022年,8月28日笛卡爾積(續(xù))例2.1:給出三個(gè)域:D1=SUPERVISOR={張清玫,劉逸}D2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),(張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇),(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),(劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨),(劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇),(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}第二章關(guān)系模型和關(guān)系運(yùn)算第十六頁,共一百一十三頁,2022年,8月28日

笛卡爾積(續(xù))例2.2假設(shè)D1是學(xué)號集合,D2是課程集合,例如:D1={s2,s4,s7,s9},D2={管理學(xué),經(jīng)濟(jì)學(xué),運(yùn)籌學(xué)}則D1×D2={(s2,管理學(xué)),(s2,經(jīng)濟(jì)學(xué))(s2,運(yùn)籌學(xué)),(s4,管理學(xué)),(s4,經(jīng)濟(jì)學(xué)),(s4,運(yùn)籌學(xué)),(s7,管理學(xué)),(s7,經(jīng)濟(jì)學(xué)),(s7,運(yùn)籌學(xué)),(s9,管理學(xué)),(s9,經(jīng)濟(jì)學(xué)),(s9,運(yùn)籌學(xué))}笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對應(yīng)一個(gè)元組,表中的每列對應(yīng)一個(gè)域。第二章關(guān)系模型和關(guān)系運(yùn)算第十七頁,共一百一十三頁,2022年,8月28日

第二章關(guān)系模型和關(guān)系運(yùn)算第十八頁,共一百一十三頁,2022年,8月28日3.關(guān)系(Relation)笛卡兒積D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為:

R(D1,D2,…,Dn)

R:關(guān)系名

n:關(guān)系的目或度(Degree)關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unaryrelation)。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binaryrelation)。

第二章關(guān)系模型和關(guān)系運(yùn)算第十九頁,共一百一十三頁,2022年,8月28日例2.3在表2.1的笛卡爾積中取出有實(shí)際意義的元組來構(gòu)造關(guān)系。

關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假設(shè):專業(yè)與導(dǎo)師:1:n,導(dǎo)師與研究生:1:nSAP關(guān)系可以包含三個(gè)元組{(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}

SupervisorSpecialitypostgraduate張清玫計(jì)算機(jī)專業(yè)李勇張清玫計(jì)算機(jī)專業(yè)劉晨劉逸信息專業(yè)王敏關(guān)系(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算第二十頁,共一百一十三頁,2022年,8月28日例2.4:

對例2.2取子集:R{(s2,管理學(xué)),(s4,經(jīng)濟(jì)學(xué)),(s7,經(jīng)濟(jì)學(xué)),(s9,運(yùn)籌學(xué))}取子集,并將D1、D2分別命名為學(xué)號和課程名稱關(guān)系(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算第二十一頁,共一百一十三頁,2022年,8月28日關(guān)系可以有三種類型:基本關(guān)系:實(shí)際存在的表,它是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示。查詢表:查詢結(jié)果對應(yīng)的表。視圖表:由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。第二章關(guān)系模型和關(guān)系運(yùn)算

關(guān)系(續(xù))第二十二頁,共一百一十三頁,2022年,8月28日

關(guān)系(續(xù))基本關(guān)系具有以下六條性質(zhì)每一列中的分量是統(tǒng)一類型的數(shù)據(jù),來自同一個(gè)域不同列可以出自同一個(gè)域,不同屬性要給予不同的屬性名。列的次序可以任意交換。關(guān)系中不允許出現(xiàn)重復(fù)元組。關(guān)系中行的次序可以任意交換。每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。SupervisorSpecialitypostgraduatePG1PG2張清玫計(jì)算機(jī)專業(yè)李勇劉晨劉逸信息專業(yè)王敏第二章關(guān)系模型和關(guān)系運(yùn)算D1=PERSON={張清玫,劉逸,李勇,劉晨,王敏}D2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}定義導(dǎo)師屬性名為SUPERVISOR-PERSON定義研究生屬性名為POSTGRADUATE-PERSON第二十三頁,共一百一十三頁,2022年,8月28日4、屬性

關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。關(guān)系中屬性個(gè)數(shù)稱為“元數(shù)”,元組個(gè)數(shù)稱為“基數(shù)”。

第二章關(guān)系模型和關(guān)系運(yùn)算第二十四頁,共一百一十三頁,2022年,8月28日

5、關(guān)鍵字

(1)候選鍵若關(guān)系中的某一最小屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組稱為候選鍵(Candidatekey)。在最簡單的情況下,候選鍵只包含一個(gè)屬性。在最極端的情況下,關(guān)系的所有屬性組是這個(gè)關(guān)系模式的候選鍵,稱為全碼(All-key)。(2)主鍵若一個(gè)關(guān)系有多個(gè)候選鍵,則選定其中一個(gè)為主鍵(Primarykey)。主鍵中的各屬性稱為主屬性(Primeattribute)。不包含在任何侯選鍵中的屬性稱為非主屬性(Non-keyattribute)。第二章關(guān)系模型和關(guān)系運(yùn)算第二十五頁,共一百一十三頁,2022年,8月28日

關(guān)系小結(jié)關(guān)系舉例:第二章關(guān)系模型和關(guān)系運(yùn)算第二十六頁,共一百一十三頁,2022年,8月28日(3)外鍵如果關(guān)系R2的一個(gè)或一組屬性X不是R2的主鍵,而是另一關(guān)系R1的主鍵,則該屬性或?qū)傩越MX稱為關(guān)系R2的外部關(guān)系鍵或外碼。并稱關(guān)系R2為參照關(guān)系(ReferencingRelation),關(guān)系R1為被參照關(guān)系(ReferencedRelation)。

關(guān)鍵字(續(xù))

第二章關(guān)系模型和關(guān)系運(yùn)算第二十七頁,共一百一十三頁,2022年,8月28日例2.5產(chǎn)品關(guān)系Products(ProductID,ProductName,UnitPrice,SupplierID,UnitsInstock)供應(yīng)商關(guān)系Suppliers(SupplierID,CompanyName,Address)SupplierID是Suppliers關(guān)系的主鍵,但它不是Products關(guān)系的主鍵(是其中一個(gè)屬性),所以SupplierID是Products關(guān)系的外部關(guān)系鍵。Suppliers為被參照關(guān)系,Products關(guān)系為參照關(guān)系。由外部關(guān)系鍵的定義可知,被參照關(guān)系的主鍵和參照關(guān)系的外鍵必須定義在同一個(gè)域上。

外鍵(續(xù))

第二章關(guān)系模型和關(guān)系運(yùn)算第二十八頁,共一百一十三頁,2022年,8月28日

外鍵(續(xù))

例2.6第二章關(guān)系模型和關(guān)系運(yùn)算第二十九頁,共一百一十三頁,2022年,8月28日6、關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間的聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。第二章關(guān)系模型和關(guān)系運(yùn)算第三十頁,共一百一十三頁,2022年,8月28日

二、

關(guān)系模型的三級體系結(jié)構(gòu)關(guān)系模式(模式)子模式(外模式)存儲(chǔ)模式(內(nèi)模式)第二章關(guān)系模型和關(guān)系運(yùn)算應(yīng)用A

數(shù)據(jù)庫應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E外模式1外模式2外模式3模式內(nèi)模式模式:數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。內(nèi)模式:是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述。外模式:是用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。第三十一頁,共一百一十三頁,2022年,8月28日

(一)關(guān)系模式關(guān)系模式(RelationSchema)是對關(guān)系的描述,主要包括:元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義笛卡爾積中符合元組語義的部分元素的全體構(gòu)成該關(guān)系模式的關(guān)系完整性約束條件屬性取值范圍的限定屬性間的相互關(guān)聯(lián)第二章關(guān)系模型和關(guān)系運(yùn)算第三十二頁,共一百一十三頁,2022年,8月28日1、定義關(guān)系模式關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為:

R(U,D,DOM,F)R關(guān)系名U

組成該關(guān)系的屬性名集合D

屬性組U中屬性所來自的域DOM

屬性向域的映象集合F

屬性間的數(shù)據(jù)依賴關(guān)系集合第二章關(guān)系模型和關(guān)系運(yùn)算第三十三頁,共一百一十三頁,2022年,8月28日

定義關(guān)系模式(續(xù))例2.7

在上面例子中,由于導(dǎo)師和研究生出自同一個(gè)域——人,所以要取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個(gè)域,如:

DOM(SUPERVISOR-PERSON)=DOM(POSTGRADUATE-PERSON)=PERSON第二章關(guān)系模型和關(guān)系運(yùn)算第三十四頁,共一百一十三頁,2022年,8月28日

定義關(guān)系模式(續(xù))關(guān)系模式通??梢院営洖?/p>

R(U)

或R(A1,A2,…,An)R關(guān)系名A1,A2,…,An屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度。第二章關(guān)系模型和關(guān)系運(yùn)算第三十五頁,共一百一十三頁,2022年,8月28日2、關(guān)系模式與關(guān)系關(guān)系模式對關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系數(shù)據(jù)庫中,關(guān)系模式是型(二維表的表框架或結(jié)構(gòu)),關(guān)系是值。在實(shí)際中,通常把關(guān)系模式和關(guān)系統(tǒng)稱為關(guān)系。第二章關(guān)系模型和關(guān)系運(yùn)算第三十六頁,共一百一十三頁,2022年,8月28日(二)子模式子模式是用戶所用到的那部分?jǐn)?shù)據(jù)的描述,以及數(shù)據(jù)與關(guān)系模式中相應(yīng)數(shù)據(jù)的聯(lián)系。OrderIDProductIDProductNameQuantity1110248Queso80OrderIDProductIDQuantity111024880客戶訂單子模式D(OrderID,ProductID,ProductName,Quantity)

ProductIDProductNameUnitPriceSupplierID10248Queso215DProductOrderDetail第二章關(guān)系模型和關(guān)系運(yùn)算第三十七頁,共一百一十三頁,2022年,8月28日(三)存儲(chǔ)模式存儲(chǔ)模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述。存儲(chǔ)的方法堆存儲(chǔ)索引存儲(chǔ)聚簇存儲(chǔ)第二章關(guān)系模型和關(guān)系運(yùn)算第三十八頁,共一百一十三頁,2022年,8月28日(四)關(guān)系模型三級模式體系舉例以學(xué)生信息管理數(shù)據(jù)庫為例:1、關(guān)系模式學(xué)生(學(xué)號,姓名,性別,出生日期,專業(yè),家庭住址,聯(lián)系電話)專業(yè)(專業(yè)號,專業(yè)名稱,所在院系)課程(課程號,課程名稱,學(xué)時(shí),學(xué)分,學(xué)期)教師(教師號,姓名,性別,所在院系,聯(lián)系電話)選課(學(xué)期,課程號,學(xué)號,成績)課程安排表(課程號,教師號,上課時(shí)間)第二章關(guān)系模型和關(guān)系運(yùn)算第三十九頁,共一百一十三頁,2022年,8月28日關(guān)系模式的三級體系結(jié)構(gòu)(續(xù))SQLServer2005數(shù)據(jù)庫中表的設(shè)計(jì)第二章關(guān)系模型和關(guān)系運(yùn)算第四十頁,共一百一十三頁,2022年,8月28日2、外模式關(guān)系模式的三級體系結(jié)構(gòu)(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算第四十一頁,共一百一十三頁,2022年,8月28日3、存儲(chǔ)模式在C:\ProgramFiles\MicrosoftSQLServer\MSSQL.2\MSSQL\Data目錄下存放student數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件。關(guān)系模式的三級體系結(jié)構(gòu)(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算第四十二頁,共一百一十三頁,2022年,8月28日

三、關(guān)系模型的完整性規(guī)則關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。第二章關(guān)系模型和關(guān)系運(yùn)算第四十三頁,共一百一十三頁,2022年,8月28日

(一)實(shí)體完整性1、實(shí)體完整性規(guī)則(EntityIntegrity)定義

若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。例2.8:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設(shè)研究生不會(huì)重名),則其不能取空值。第二章關(guān)系模型和關(guān)系運(yùn)算第四十四頁,共一百一十三頁,2022年,8月28日

實(shí)體完整性示例說明Teacher關(guān)系第二章關(guān)系模型和關(guān)系運(yùn)算第四十五頁,共一百一十三頁,2022年,8月28日保存時(shí)提示錯(cuò)誤信息第二章關(guān)系模型和關(guān)系運(yùn)算第四十六頁,共一百一十三頁,2022年,8月28日

實(shí)體完整性(續(xù))

2、關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因?qū)嶓w完整性規(guī)則是針對基本關(guān)系而言的。一個(gè)基本表通常對應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集?,F(xiàn)實(shí)世界中的實(shí)體都是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)。相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個(gè)不可標(biāo)識(shí)的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性。第二章關(guān)系模型和關(guān)系運(yùn)算第四十七頁,共一百一十三頁,2022年,8月28日實(shí)體完整性(續(xù))3、注意實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值。例2.9:

學(xué)生選課關(guān)系:選修(學(xué)號,課程號,成績)“學(xué)號、課程號”為主碼,則“學(xué)號”和“課程號”兩個(gè)屬性都不能取空值。

第二章關(guān)系模型和關(guān)系運(yùn)算第四十八頁,共一百一十三頁,2022年,8月28日

(二)參照完整性1、關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例2.10學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對多聯(lián)系學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)第二章關(guān)系模型和關(guān)系運(yùn)算第四十九頁,共一百一十三頁,2022年,8月28日關(guān)系間的引用(續(xù))學(xué)生專業(yè)第二章關(guān)系模型和關(guān)系運(yùn)算第五十頁,共一百一十三頁,2022年,8月28日關(guān)系間的引用(續(xù))例2.11學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)第二章關(guān)系模型和關(guān)系運(yùn)算第五十一頁,共一百一十三頁,2022年,8月28日

學(xué)生學(xué)生選課課程第二章關(guān)系模型和關(guān)系運(yùn)算關(guān)系間的引用(續(xù))第五十二頁,共一百一十三頁,2022年,8月28日關(guān)系間的引用(續(xù))例2.12學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對多)

學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)第二章關(guān)系模型和關(guān)系運(yùn)算第五十三頁,共一百一十三頁,2022年,8月28日關(guān)系間的引用(小結(jié))第二章關(guān)系模型和關(guān)系運(yùn)算參照關(guān)系被參照關(guān)系學(xué)生關(guān)系專業(yè)關(guān)系專業(yè)號學(xué)生關(guān)系選修關(guān)系課程關(guān)系學(xué)號課程號學(xué)生關(guān)系學(xué)號第五十四頁,共一百一十三頁,2022年,8月28日參照完整性(續(xù))參照完整性規(guī)則就是定義外鍵與主鍵之間的引用規(guī)則。2、參照完整性規(guī)則定義若屬性(或?qū)傩越M)F是基本關(guān)系R的外鍵,它與基本關(guān)系S的主鍵Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值第二章關(guān)系模型和關(guān)系運(yùn)算第五十五頁,共一百一十三頁,2022年,8月28日

參照完整性(續(xù))說明關(guān)系R和S不一定是不同的關(guān)系。外鍵并不一定要與相應(yīng)的主鍵同名。當(dāng)外鍵與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別。目標(biāo)關(guān)系S的主鍵Ks和參照關(guān)系的外鍵F必須定義在同一個(gè)(或一組)域上。第二章關(guān)系模型和關(guān)系運(yùn)算第五十六頁,共一百一十三頁,2022年,8月28日

參照完整性(續(xù))例2.10中,學(xué)生關(guān)系中的“專業(yè)號”是專業(yè)關(guān)系的主碼,但不是學(xué)生關(guān)系的碼,因此,“專業(yè)號”是學(xué)生關(guān)系的外碼。學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號”屬性只能取下面兩類值:空值,表示尚未給該學(xué)生分配專業(yè);非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中。第二章關(guān)系模型和關(guān)系運(yùn)算第五十七頁,共一百一十三頁,2022年,8月28日

參照完整性規(guī)則(續(xù))例2.11中,選修關(guān)系中的“學(xué)號”是學(xué)生關(guān)系的主碼,選修關(guān)系中的“課程號”是課程關(guān)系的主碼,但它們每個(gè)都不是選修關(guān)系的碼;因此,“學(xué)號”和“課程號”都是選修關(guān)系的外碼。

由于“學(xué)號”和“課程號”是選修關(guān)系中的主屬性,按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。第二章關(guān)系模型和關(guān)系運(yùn)算第五十八頁,共一百一十三頁,2022年,8月28日

參照完整性規(guī)則(續(xù))例2.12中,“班長”不是學(xué)生關(guān)系的碼,但對應(yīng)于學(xué)生關(guān)系的碼“學(xué)號”,從而是學(xué)生關(guān)系的外碼?!鞍嚅L”屬性值可以取兩類值:空值,表示該學(xué)生所在班級尚未選出班長,或該學(xué)生本人即是班長;非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號值。第二章關(guān)系模型和關(guān)系運(yùn)算第五十九頁,共一百一十三頁,2022年,8月28日

參照完整性(續(xù))例2.13在產(chǎn)品關(guān)系中有下列兩個(gè)關(guān)系模式:產(chǎn)品關(guān)系Products(ProductID,ProductName,UnitPrice,SupplierID,UnitsInstock)

訂單明細(xì)關(guān)系:OrdersDetails(OrderID,ProductID,UnitPrice,Quantity)問題:(1)兩個(gè)關(guān)系的主鍵是什么?(2)訂單明細(xì)關(guān)系的外鍵是什么?其值能否為空?第二章關(guān)系模型和關(guān)系運(yùn)算第六十頁,共一百一十三頁,2022年,8月28日例2.14設(shè)課程之間有先修、后續(xù)聯(lián)系。關(guān)系模式如下:R(CourseID,Cname,PCourseID)問題:如果規(guī)定:每門課的直接先修課至多只有一門,那么關(guān)系R的主鍵是什么,外鍵是什么?外鍵能否為空?第二章關(guān)系模型和關(guān)系運(yùn)算

參照完整性(續(xù))第六十一頁,共一百一十三頁,2022年,8月28日如:第二章關(guān)系模型和關(guān)系運(yùn)算

參照完整性(續(xù))CourseIDCNamePCourseIDC01數(shù)據(jù)庫系統(tǒng)原理C03C02數(shù)據(jù)庫高級應(yīng)用C01

C03數(shù)據(jù)結(jié)構(gòu)C04信息系統(tǒng)開發(fā)C02第六十二頁,共一百一十三頁,2022年,8月28日

參照完整性示例說明學(xué)院關(guān)系建立學(xué)院關(guān)系和teacher關(guān)系的參照關(guān)系第二章關(guān)系模型和關(guān)系運(yùn)算第六十三頁,共一百一十三頁,2022年,8月28日

參照完整性示例說明插入新的記錄(所在學(xué)院屬性值為4)結(jié)果第二章關(guān)系模型和關(guān)系運(yùn)算第六十四頁,共一百一十三頁,2022年,8月28日

(三)用戶定義的完整性用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需要由應(yīng)用程序承擔(dān)這一功能。第二章關(guān)系模型和關(guān)系運(yùn)算第六十五頁,共一百一十三頁,2022年,8月28日

用戶定義的完整性(續(xù))例2.15:

課程(課程號,課程名,學(xué)分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}第二章關(guān)系模型和關(guān)系運(yùn)算第六十六頁,共一百一十三頁,2022年,8月28日第二章關(guān)系模型和關(guān)系運(yùn)算2.1關(guān)系模型概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關(guān)系代數(shù)第二章關(guān)系模型和關(guān)系運(yùn)算第六十七頁,共一百一十三頁,2022年,8月28日

第三節(jié)關(guān)系代數(shù)關(guān)系代數(shù)以一個(gè)或兩個(gè)關(guān)系為輸入,產(chǎn)生一個(gè)新的關(guān)系作為結(jié)果。關(guān)系代數(shù)運(yùn)算的主要類型包括:傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算

第二章關(guān)系模型和關(guān)系運(yùn)算第六十八頁,共一百一十三頁,2022年,8月28日關(guān)系代數(shù)(續(xù))關(guān)系運(yùn)算符運(yùn)算符含義運(yùn)算符含義

集合運(yùn)算符∪﹣∩×并差交笛卡爾積

比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于

專門的關(guān)系運(yùn)算符

選擇投影連接除

邏輯運(yùn)算符非與或第二章關(guān)系模型和關(guān)系運(yùn)算第六十九頁,共一百一十三頁,2022年,8月28日關(guān)系運(yùn)算類型傳統(tǒng)的關(guān)系運(yùn)算(集合運(yùn)算):并、差、交、(廣義)笛卡爾積專門的關(guān)系運(yùn)算:選擇、投影、連接、除五種基本的關(guān)系運(yùn)算:并、差、笛卡爾積、投影、選擇。其他運(yùn)算都可以用五種基本運(yùn)算表示。第二章關(guān)系模型和關(guān)系運(yùn)算關(guān)系代數(shù)(續(xù))第七十頁,共一百一十三頁,2022年,8月28日

1、分量

設(shè)R(A1,A2,…,An)是關(guān)系模式,R是它的關(guān)系。tR表示t是R的一個(gè)元組。t[Ai]表示元組t在屬性Ai上的一個(gè)分量。2、連接

設(shè)R是n目關(guān)系,S是m目關(guān)系。trR,tsS,trts稱為元組tr和ts的連接或串接,它是一個(gè)n+m列的元組,前n個(gè)分量為tr,后m個(gè)分量為ts

。第二章關(guān)系模型和關(guān)系運(yùn)算︵

一、若干記號第七十一頁,共一百一十三頁,2022年,8月28日若干記號(續(xù))3、象集

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

Zx={t[Z]|tR,t[X]=x}

它表示R中屬性組X的值為x的諸元組在Z上的分量的集合。第二章關(guān)系模型和關(guān)系運(yùn)算第七十二頁,共一百一十三頁,2022年,8月28日

象集舉例例如下圖中,x1在R中的象集Zx1={Z1,Z2,Z3},

x2在R中的象集Zx2={Z2,Z3},

x3在R中的象集Zx3={Z1,Z3}Rx1

Z1x1Z2x1Z3x2Z2x2Z3x3Z1x3Z3第二章關(guān)系模型和關(guān)系運(yùn)算第七十三頁,共一百一十三頁,2022年,8月28日二、傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算都是二元運(yùn)算。并、差、交要求兩個(gè)運(yùn)算對象具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性),

且相應(yīng)的屬性取自同一個(gè)域,t是元組變量,t∈R表示t是R的一個(gè)元組。1、并(Union)設(shè)R和S都是n目關(guān)系,R和S的并是由屬于R或?qū)儆赟的元組組成,即

R∪S={t|tRtS}第二章關(guān)系模型和關(guān)系運(yùn)算第七十四頁,共一百一十三頁,2022年,8月28日

傳統(tǒng)的集合運(yùn)算(續(xù))2、差(Difference)設(shè)R和S都是n目關(guān)系,R和S的差由屬于R而不屬于S的元組組成,即

R-S={t|tRtS}3、交(Intersection)設(shè)R和S都是n目關(guān)系,R和S的交由既屬于R,又屬于S的元組組成,即

R∩S={t|tRtS}第二章關(guān)系模型和關(guān)系運(yùn)算第七十五頁,共一百一十三頁,2022年,8月28日

傳統(tǒng)的集合運(yùn)算(續(xù))4、廣義笛卡爾積(ExtendedCartesianProduct)設(shè)R和S分別為n目和m目關(guān)系,R和S的廣義笛卡爾積是一個(gè)(n+m)目關(guān)系,其每個(gè)元組的前n個(gè)分量是關(guān)系R的一個(gè)元組,后m個(gè)分量是關(guān)系S的一個(gè)元組。 RS={trts|trRtsS}

若R和S分別有k1和k2個(gè)元組,則R和S的廣義笛卡爾積有(k1*k2)個(gè)元組。第二章關(guān)系模型和關(guān)系運(yùn)算︵第七十六頁,共一百一十三頁,2022年,8月28日

傳統(tǒng)的集合運(yùn)算的例子

ABCa1a1a2b1b2b2c1c2c1ABCa1a1a2b2b3b2c2c2c1ABCa1a1a2a1b1b2b2b3c1c2c1c2RSABCa1a2b2b2c2c1ABCa1b1c1R∪SR∩

SR-S第二章關(guān)系模型和關(guān)系運(yùn)算第七十七頁,共一百一十三頁,2022年,8月28日傳統(tǒng)的集合運(yùn)算的例子(續(xù))

R.AR.BR.CS.AS.BS.Ca1a1a1a1a1a1a2a2a2b1b1b1b2b2b2b2b2b2c1c1c1c2c2c2c1c1c1a1a1a2a1a1a2a1a1a2b2b3b2b2b3b2b2b3b2c2c2c1c2c2c1c2c2c1RS第二章關(guān)系模型和關(guān)系運(yùn)算第七十八頁,共一百一十三頁,2022年,8月28日三、專門的關(guān)系運(yùn)算1、選擇(Selection)

由關(guān)系R中選擇滿足條件F的元組,記作F(R)

F(R)={t|tRF(t)=‘真’}其中,F是邏輯表達(dá)式,F(xiàn)中的運(yùn)算對象為屬性名(或?qū)傩孕蛱?、常量、函數(shù),運(yùn)算符可以為邏輯運(yùn)算符、、,比較運(yùn)算符、、=、、、。F(R)表示從R中選擇滿足公式F的元組所構(gòu)成的關(guān)系。選擇又稱限制(restriction),是一元運(yùn)算。從行的角度進(jìn)行運(yùn)算。第二章關(guān)系模型和關(guān)系運(yùn)算第七十九頁,共一百一十三頁,2022年,8月28日一個(gè)示例數(shù)據(jù)庫

學(xué)號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001950029500395004李勇劉晨王敏張立男女女男20191819CSISMAISStudent課程號Cno課程名Cname先行課Cpno學(xué)分Ccredit1234567數(shù)據(jù)庫數(shù)學(xué)信息系統(tǒng)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)處理PASCAL語言516764243424Course學(xué)號Sno課程號Cno成績Grade9500195001950019500295002123239285889080SC第二章關(guān)系模型和關(guān)系運(yùn)算第八十頁,共一百一十三頁,2022年,8月28日

選擇查詢的例子例2.16查詢信息系(IS系)的全體學(xué)生

Sdept=‘IS’(Student)或5=‘IS’(Student)SnoSnameSsexSageSdept9500295004劉晨張立女男1919ISIS結(jié)果如下:

第二章關(guān)系模型和關(guān)系運(yùn)算第八十一頁,共一百一十三頁,2022年,8月28日選擇查詢的例子

Sage<20(Student)或4<20(Student)SnoSnameSsexSageSdept950029500395004劉晨王敏張立女女男191819ISMAIS例2.17查詢年齡小于20的學(xué)生。結(jié)果如下:

第二章關(guān)系模型和關(guān)系運(yùn)算第八十二頁,共一百一十三頁,2022年,8月28日例2.18查詢年齡小于20歲的信息系的女同學(xué)。第二章關(guān)系模型和關(guān)系運(yùn)算選擇查詢的例子

Sage<20∧Ssex=‘女’∧Sdept=‘IS’(Student)SnoSnameSsexSageSdept95002劉晨女19IS第八十三頁,共一百一十三頁,2022年,8月28日

專門的關(guān)系運(yùn)算(續(xù))2、投影(projection)關(guān)系R在屬性列A上的投影是從R中選擇屬性列A組成新關(guān)系,記作A(R)

A(R)={t[A]|tR}

其中,A是屬性名(號)的列表。投影是一元運(yùn)算,從列的角度進(jìn)行運(yùn)算。由于去掉了原關(guān)系中的一些列,可能導(dǎo)致不相同的元組投影后相同,因此需要?jiǎng)h除結(jié)果中的重復(fù)元組。第二章關(guān)系模型和關(guān)系運(yùn)算第八十四頁,共一百一十三頁,2022年,8月28日

投影查詢的例子例2.19查詢學(xué)生的姓名和所在的系。

Sname,Sdept(Student)

或2,5(Student)

查詢的結(jié)果如下:SnameSdept李勇劉晨王敏張立CSISMAIS第二章關(guān)系模型和關(guān)系運(yùn)算第八十五頁,共一百一十三頁,2022年,8月28日

投影查詢的例子(續(xù))Sdept(Student)

或5(Student)

查詢的結(jié)果如下:SdeptCSISMA例2.20查詢關(guān)系Student中包含的系。第二章關(guān)系模型和關(guān)系運(yùn)算第八十六頁,共一百一十三頁,2022年,8月28日

專門的關(guān)系運(yùn)算(續(xù))3、連接(Join)

是從兩個(gè)關(guān)系的笛卡爾積中選擇屬性間滿足一定條件的元組,記作:

其中A和B分別為R和S上度數(shù)相等且可比的屬性組。是比較運(yùn)算符(、、、、、)。連接運(yùn)算從R和S的笛卡爾積R×S中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上滿足比較關(guān)系的元組。

︵第二章關(guān)系模型和關(guān)系運(yùn)算第八十七頁,共一百一十三頁,2022年,8月28日連接(續(xù))連接運(yùn)算的類型:等值連接(Equijoin):為等號的連接運(yùn)算。自然連接(Naturaljoin):

是一種特殊的等值連接。它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中去掉重復(fù)屬性。設(shè)屬性組B是關(guān)系R和S的相同屬性。R和S在B上的自然連接記作:第二章關(guān)系模型和關(guān)系運(yùn)算︵︵第八十八頁,共一百一十三頁,2022年,8月28日

連接運(yùn)算舉例例2.21求關(guān)系R、S的一般連接、等值連接、自然連接。ABCa1a1a2a2b1b2b3b456812BEb1b2b3b3b5371022AR.BCS.BEa1a1a1a1a2b1b1b2b2b355668b2b3b2b3b371071010RS第二章關(guān)系模型和關(guān)系運(yùn)算RSC<E第八十九頁,共一百一十三頁,2022年,8月28日

連接運(yùn)算舉例(續(xù))

AR.BCS.BEa1a1a2a2b1b2b3

b35688b1b2b3

b337102ABCEa1a1a2a2b1b2b3

b3568837102等值連接RS自然連接RS第二章關(guān)系模型和關(guān)系運(yùn)算R.B=S.B第九十頁,共一百一十三頁,2022年,8月28日例2.22已知關(guān)系R和關(guān)系S,求、和。第二章關(guān)系模型和關(guān)系運(yùn)算

連接運(yùn)算舉例(續(xù))RSB<DRSR.A=S.CRSABC327465247733CD3236RSRSB<DABR.CS.CD27745224733323226366第九十一頁,共一百一十三頁,2022年,8月28日第二章關(guān)系模型和關(guān)系運(yùn)算RSR.A=S.CRS

連接運(yùn)算舉例(續(xù))ABR.CS.CD3265773236ABCD74243333一般連接:在兩個(gè)關(guān)系的笛卡爾積中選取屬性間的分量滿足一定條件的元組。

等值連接:在兩個(gè)關(guān)系的笛卡爾積中選取屬性間分量值相等的元組。

自然連接:兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,在結(jié)果中把重復(fù)的屬性列去掉。第九十二頁,共一百一十三頁,2022年,8月28日

專門的關(guān)系運(yùn)算(續(xù))4、除(Division)

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

RS={tr[X]|trR

Yx}第二章關(guān)系模型和關(guān)系運(yùn)算第九十三頁,共一百一十三頁,2022年,8月28日(1)除運(yùn)算的步驟①計(jì)算S在屬性組Y上的投影。②計(jì)算關(guān)系R在屬性組X上的投影。③計(jì)算(2)結(jié)果中各元素在關(guān)系R中的象集。④判斷各個(gè)象集與(1)中投影的包含關(guān)系,若某個(gè)象集包含S在屬性組Y上的投影,則該象集對應(yīng)的X上的分量值即為除運(yùn)算的結(jié)果元素。第二章關(guān)系模型和關(guān)系運(yùn)算除運(yùn)算(續(xù))第九十四頁,共一百一十三頁,2022年,8月28日

除運(yùn)算舉例例2.23已知關(guān)系R,S,求RS。ABCa1a2a3a1a4a2a1b1b3b4b2b6b2b2c2c7c6c3c6c3c1RBCDb1b2b2c2c1c3d1d1d2SRSAa1(2)關(guān)系R在A上的投影為{a1,a2,a3,a4}(3)(2)中各個(gè)元素的象集:a1的象集為{(b1,c2),(b2,c3)(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為{(b6,c6)}

(4)判斷:a1的象集包含了S在(B,C)屬性組上的投影,a1所在的元組為滿足條件的元組。第二章關(guān)系模型和關(guān)系運(yùn)算(1)S在(B,C)上的投影為{(b1,c2),(b2,c1),(b2,c3)}滿足條件的元組ABCa1a1a1b1b2b2c2c3c1第九十五頁,共一百一十三頁,2022年,8月28日(2)除法運(yùn)算的含義

數(shù)學(xué)中一般整數(shù)除法運(yùn)算:對于兩個(gè)整數(shù)R和S,它們的除法運(yùn)算R/S

是滿足以下條件的最大整數(shù)Q。類似的在關(guān)系代數(shù)中對于關(guān)系R和S,它們的除法運(yùn)算是滿足以下條件的最大的一個(gè)關(guān)系實(shí)例Q。

即Q與的笛卡爾積應(yīng)包含于關(guān)系R。其中除運(yùn)算(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算第九十六頁,共一百一十三頁,2022年,8月28日

上例子中為{a1,a2,a3,a4}。

當(dāng)Q分別等于{a1}、{a2}、{a3}、{a4}時(shí),的結(jié)果分別記為:R1

R2

R3

R4顯然,只有R1

是包含于R的,因而Q={a1}是滿足條件的最大的關(guān)系實(shí)例,也即為。第二章關(guān)系模型和關(guān)系運(yùn)算除運(yùn)算含義(續(xù))ABCa1a1a1b1b2b2c2c1c3ABCa2a2a2b1b2b2c2c1c3ABCa3a3a3b1b2b2c2c1c3ABCa4a4a4b1b2b2c2c1c3第九十七頁,共一百一十三頁,2022年,8月28日(3)除法運(yùn)算的基本運(yùn)算符等效表達(dá)形式根據(jù)關(guān)系除法本質(zhì)含義,可以看出的求解過程即為在的集合中選擇滿足下列條件的元素x:這個(gè)過程等價(jià)于將中不滿足以上條件的元素剔除。對于中的元素,若使得Q={x}時(shí)不能滿足條件,則該元素應(yīng)被剔除。相應(yīng)地,這些應(yīng)被剔除的元素集合可以通過下列公式獲得:因而的基本運(yùn)算符表達(dá)式即為:

第二章關(guān)系模型和關(guān)系運(yùn)算除運(yùn)算(續(xù))第九十八頁,共一百一十三頁,2022年,8月28日除法運(yùn)算的等效表達(dá)形式(續(xù))Aa1a2a3a4第二章關(guān)系模型和關(guān)系運(yùn)算BCb1b2b2c2c1c3ABCa1a1a1a2a2a2a3a3a3a4a4a4b1b2b2b1b2b2b1b2b2b1b2b2c2c1c3c2c1c3c2c1c3c2c1c3ABCa2a2a3a3a3a4a4a4b1b2b1b2b2b1b2b2c2c1c2c1c3c2c1c3第九十九頁,共一百一十三頁,2022年,8月28日例2.24求選修了2號課程的學(xué)生的學(xué)號。Sno(Cno=‘2’(SC))專門的關(guān)系運(yùn)算(續(xù))第二章關(guān)系模型和關(guān)系運(yùn)算學(xué)號Sno課程號Cno成績Grade95001950019500195002950021232392858890805、綜合應(yīng)用舉例第一百頁,共一百一十三頁,2022年,8月28日例2.25查詢學(xué)生95001的姓名和所在系。

πSname,Sdept

(σSno=‘95001’(Student))

第二章關(guān)系模型和關(guān)系運(yùn)算綜合應(yīng)用舉例(續(xù))學(xué)號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001950029500395004李勇劉晨王敏張立男女女男20191819CSISMAIS第一百零一頁,共一百一十三頁,2022年,8月28日例2.26查詢選修了1號課程的學(xué)生姓名。Student(Sno,Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno)SC(Sno,Cno,Grade)

πSname(σCno=’1’

(Student

SC))第二章關(guān)系模型和關(guān)系運(yùn)算綜合應(yīng)用舉例(續(xù))第一百零二頁,共一百一十三頁,2022年,8月28日例2.27查詢至少選修了兩門課程的學(xué)生學(xué)號。SC×SC的部分元組

πSno

(σ1=4∧2≠5(SC×SC))第二章關(guān)系模型和關(guān)系運(yùn)算學(xué)號Sno課程號Cno成績Grade學(xué)號Sno課程號Cno成績Grade9500195001950019500195001950029500295002950029500211111222229292929292909090909095001950019500195002950029500195001950019500295002123231232392858890809285889080綜合應(yīng)用舉例(續(xù))學(xué)號Sno課程號Cno成績Grade9500195001950019500295002123239285889080第一百零三頁,共一百一十三頁,2022年,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論