版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
關系模型和關系運算第一頁,共一百一十三頁,2022年,8月28日
第二章關系模型和關系運算
2.1關系模型概述2.2關系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關系代數(shù)數(shù)據(jù)庫系統(tǒng)原理第二頁,共一百一十三頁,2022年,8月28日
第二章關系模型和關系運算學習要求:
深刻理解關系模型的相關概念,即關系模型的數(shù)據(jù)結(jié)構(gòu)、關系操作和關系完整性約束;掌握關系代數(shù)的基本運算和應用。學習重點:關系模型的基本概念;關系模型的三類完整性約束;關系代數(shù)的選擇、連接、除等運算數(shù)據(jù)庫系統(tǒng)原理第三頁,共一百一十三頁,2022年,8月28日第二章關系模型和關系運算2.1關系模型概述2.2關系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關系代數(shù)數(shù)據(jù)庫系統(tǒng)原理第四頁,共一百一十三頁,2022年,8月28日
第一節(jié)
關系模型概述一、關系理論的產(chǎn)生與發(fā)展系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的1970年提出關系數(shù)據(jù)模型之后,提出了關系代數(shù)和關系演算的概念1972年提出了關系的第一、第二、第三范式1974年提出了關系的BC范式關系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng)80年代后,關系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)第二章關系模型和關系運算第五頁,共一百一十三頁,2022年,8月28日關系理論的產(chǎn)生與發(fā)展(續(xù))典型實驗系統(tǒng)SystemRUniversityINGRES典型商用系統(tǒng)ORACLESYBASEINFORMIXDB2SQLSERVERINGRES第二章關系模型和關系運算第六頁,共一百一十三頁,2022年,8月28日第一節(jié)關系模型概述二、關系模型的組成關系數(shù)據(jù)結(jié)構(gòu)關系操作關系完整性約束第二章關系模型和關系運算第七頁,共一百一十三頁,2022年,8月28日(一)關系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)----關系現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關系來表示。數(shù)據(jù)的邏輯結(jié)構(gòu)----二維表從用戶角度,關系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是二維表。第二章關系模型和關系運算
學號姓名性別專業(yè)宿舍0309113101陳浩男計算機松園2230309113102張立男計算機松園2250309113201王晨女通信梅園112第八頁,共一百一十三頁,2022年,8月28日(二)關系操作1、常用的關系操作查詢查找用戶所需要的數(shù)據(jù)數(shù)據(jù)更新插入、刪除、修改查詢的表達能力是其中最主要的部分2、關系操作的特點集合操作方式,即操作的對象和結(jié)果都是集合。非關系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄第二章關系模型和關系運算第九頁,共一百一十三頁,2022年,8月28日
關系操作(續(xù))3、關系數(shù)據(jù)語言的種類關系代數(shù)語言
用對關系的運算來表達查詢要求典型代表:ISBL關系演算語言:用謂詞來表達查詢要求元組關系演算語言謂詞變元的基本對象是元組變量典型代表:ALPHA域關系演算語言謂詞變元的基本對象是域變量典型代表:QBE具有關系代數(shù)和關系演算雙重特點的語言典型代表:SQL第二章關系模型和關系運算第十頁,共一百一十三頁,2022年,8月28日(三)關系的完整性約束實體完整性通常由關系系統(tǒng)自動支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動支持用戶定義的完整性反映應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束用戶定義后由系統(tǒng)支持第二章關系模型和關系運算第十一頁,共一百一十三頁,2022年,8月28日第二章關系模型和關系運算2.1關系模型概述2.2關系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關系代數(shù)第二章關系模型和關系運算第十二頁,共一百一十三頁,2022年,8月28日第二節(jié)關系數(shù)據(jù)結(jié)構(gòu)及完整性約束關系模型建立在集合代數(shù)的基礎上。關系數(shù)據(jù)結(jié)構(gòu)的基本概念域笛卡兒積關系關鍵字主屬性非主屬性關系數(shù)據(jù)庫第二章關系模型和關系運算第十三頁,共一百一十三頁,2022年,8月28日
一、概念1、域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。
例:整數(shù)實數(shù)介于某個取值范圍的整數(shù)指定長度的字符串集合{‘男’,‘女’}介于某個取值范圍的日期第二章關系模型和關系運算第十四頁,共一百一十三頁,2022年,8月28日2、笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Dn,這些域可以是相同的。D1
D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}元組(Tuple)笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組。分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量。基數(shù)(Cardinalnumber)若Di
為有限集,其基數(shù)為mi,則D1×D2×…×Dn的基數(shù)為:第二章關系模型和關系運算第十五頁,共一百一十三頁,2022年,8月28日笛卡爾積(續(xù))例2.1:給出三個域:D1=SUPERVISOR={張清玫,劉逸}D2=SPECIALITY={計算機專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨),(張清玫,計算機專業(yè),王敏),(張清玫,信息專業(yè),李勇),(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),(劉逸,計算機專業(yè),李勇),(劉逸,計算機專業(yè),劉晨),(劉逸,計算機專業(yè),王敏),(劉逸,信息專業(yè),李勇),(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}第二章關系模型和關系運算第十六頁,共一百一十三頁,2022年,8月28日
笛卡爾積(續(xù))例2.2假設D1是學號集合,D2是課程集合,例如:D1={s2,s4,s7,s9},D2={管理學,經(jīng)濟學,運籌學}則D1×D2={(s2,管理學),(s2,經(jīng)濟學)(s2,運籌學),(s4,管理學),(s4,經(jīng)濟學),(s4,運籌學),(s7,管理學),(s7,經(jīng)濟學),(s7,運籌學),(s9,管理學),(s9,經(jīng)濟學),(s9,運籌學)}笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。第二章關系模型和關系運算第十七頁,共一百一十三頁,2022年,8月28日
第二章關系模型和關系運算第十八頁,共一百一十三頁,2022年,8月28日3.關系(Relation)笛卡兒積D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關系,表示為:
R(D1,D2,…,Dn)
R:關系名
n:關系的目或度(Degree)關系中的每個元素是關系中的元組,通常用t表示。單元關系與二元關系當n=1時,稱該關系為單元關系(Unaryrelation)。當n=2時,稱該關系為二元關系(Binaryrelation)。
第二章關系模型和關系運算第十九頁,共一百一十三頁,2022年,8月28日例2.3在表2.1的笛卡爾積中取出有實際意義的元組來構(gòu)造關系。
關系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假設:專業(yè)與導師:1:n,導師與研究生:1:nSAP關系可以包含三個元組{(張清玫,計算機專業(yè),李勇),(張清玫,計算機專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}
SupervisorSpecialitypostgraduate張清玫計算機專業(yè)李勇張清玫計算機專業(yè)劉晨劉逸信息專業(yè)王敏關系(續(xù))第二章關系模型和關系運算第二十頁,共一百一十三頁,2022年,8月28日例2.4:
對例2.2取子集:R{(s2,管理學),(s4,經(jīng)濟學),(s7,經(jīng)濟學),(s9,運籌學)}取子集,并將D1、D2分別命名為學號和課程名稱關系(續(xù))第二章關系模型和關系運算第二十一頁,共一百一十三頁,2022年,8月28日關系可以有三種類型:基本關系:實際存在的表,它是實際存儲數(shù)據(jù)的邏輯表示。查詢表:查詢結(jié)果對應的表。視圖表:由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數(shù)據(jù)。第二章關系模型和關系運算
關系(續(xù))第二十二頁,共一百一十三頁,2022年,8月28日
關系(續(xù))基本關系具有以下六條性質(zhì)每一列中的分量是統(tǒng)一類型的數(shù)據(jù),來自同一個域不同列可以出自同一個域,不同屬性要給予不同的屬性名。列的次序可以任意交換。關系中不允許出現(xiàn)重復元組。關系中行的次序可以任意交換。每一個分量都必須是不可分的數(shù)據(jù)項。SupervisorSpecialitypostgraduatePG1PG2張清玫計算機專業(yè)李勇劉晨劉逸信息專業(yè)王敏第二章關系模型和關系運算D1=PERSON={張清玫,劉逸,李勇,劉晨,王敏}D2=SPECIALITY={計算機專業(yè),信息專業(yè)}定義導師屬性名為SUPERVISOR-PERSON定義研究生屬性名為POSTGRADUATE-PERSON第二十三頁,共一百一十三頁,2022年,8月28日4、屬性
關系中不同列可以對應相同的域,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。n目關系必有n個屬性。關系中屬性個數(shù)稱為“元數(shù)”,元組個數(shù)稱為“基數(shù)”。
第二章關系模型和關系運算第二十四頁,共一百一十三頁,2022年,8月28日
5、關鍵字
(1)候選鍵若關系中的某一最小屬性組的值能唯一地標識一個元組,則稱該屬性組稱為候選鍵(Candidatekey)。在最簡單的情況下,候選鍵只包含一個屬性。在最極端的情況下,關系的所有屬性組是這個關系模式的候選鍵,稱為全碼(All-key)。(2)主鍵若一個關系有多個候選鍵,則選定其中一個為主鍵(Primarykey)。主鍵中的各屬性稱為主屬性(Primeattribute)。不包含在任何侯選鍵中的屬性稱為非主屬性(Non-keyattribute)。第二章關系模型和關系運算第二十五頁,共一百一十三頁,2022年,8月28日
關系小結(jié)關系舉例:第二章關系模型和關系運算第二十六頁,共一百一十三頁,2022年,8月28日(3)外鍵如果關系R2的一個或一組屬性X不是R2的主鍵,而是另一關系R1的主鍵,則該屬性或?qū)傩越MX稱為關系R2的外部關系鍵或外碼。并稱關系R2為參照關系(ReferencingRelation),關系R1為被參照關系(ReferencedRelation)。
關鍵字(續(xù))
第二章關系模型和關系運算第二十七頁,共一百一十三頁,2022年,8月28日例2.5產(chǎn)品關系Products(ProductID,ProductName,UnitPrice,SupplierID,UnitsInstock)供應商關系Suppliers(SupplierID,CompanyName,Address)SupplierID是Suppliers關系的主鍵,但它不是Products關系的主鍵(是其中一個屬性),所以SupplierID是Products關系的外部關系鍵。Suppliers為被參照關系,Products關系為參照關系。由外部關系鍵的定義可知,被參照關系的主鍵和參照關系的外鍵必須定義在同一個域上。
外鍵(續(xù))
第二章關系模型和關系運算第二十八頁,共一百一十三頁,2022年,8月28日
外鍵(續(xù))
例2.6第二章關系模型和關系運算第二十九頁,共一百一十三頁,2022年,8月28日6、關系數(shù)據(jù)庫在一個給定的應用領域中,所有實體及實體之間的聯(lián)系的關系的集合構(gòu)成一個關系數(shù)據(jù)庫。第二章關系模型和關系運算第三十頁,共一百一十三頁,2022年,8月28日
二、
關系模型的三級體系結(jié)構(gòu)關系模式(模式)子模式(外模式)存儲模式(內(nèi)模式)第二章關系模型和關系運算應用A
數(shù)據(jù)庫應用B應用C應用D應用E外模式1外模式2外模式3模式內(nèi)模式模式:數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。內(nèi)模式:是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述。外模式:是用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。第三十一頁,共一百一十三頁,2022年,8月28日
(一)關系模式關系模式(RelationSchema)是對關系的描述,主要包括:元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關系元組語義笛卡爾積中符合元組語義的部分元素的全體構(gòu)成該關系模式的關系完整性約束條件屬性取值范圍的限定屬性間的相互關聯(lián)第二章關系模型和關系運算第三十二頁,共一百一十三頁,2022年,8月28日1、定義關系模式關系的描述稱為關系模式。它可以形式化地表示為:
R(U,D,DOM,F)R關系名U
組成該關系的屬性名集合D
屬性組U中屬性所來自的域DOM
屬性向域的映象集合F
屬性間的數(shù)據(jù)依賴關系集合第二章關系模型和關系運算第三十三頁,共一百一十三頁,2022年,8月28日
定義關系模式(續(xù))例2.7
在上面例子中,由于導師和研究生出自同一個域——人,所以要取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個域,如:
DOM(SUPERVISOR-PERSON)=DOM(POSTGRADUATE-PERSON)=PERSON第二章關系模型和關系運算第三十四頁,共一百一十三頁,2022年,8月28日
定義關系模式(續(xù))關系模式通??梢院営洖?/p>
R(U)
或R(A1,A2,…,An)R關系名A1,A2,…,An屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度。第二章關系模型和關系運算第三十五頁,共一百一十三頁,2022年,8月28日2、關系模式與關系關系模式對關系的描述靜態(tài)的、穩(wěn)定的關系關系模式在某一時刻的狀態(tài)或內(nèi)容動態(tài)的、隨時間不斷變化的關系數(shù)據(jù)庫中,關系模式是型(二維表的表框架或結(jié)構(gòu)),關系是值。在實際中,通常把關系模式和關系統(tǒng)稱為關系。第二章關系模型和關系運算第三十六頁,共一百一十三頁,2022年,8月28日(二)子模式子模式是用戶所用到的那部分數(shù)據(jù)的描述,以及數(shù)據(jù)與關系模式中相應數(shù)據(jù)的聯(lián)系。OrderIDProductIDProductNameQuantity1110248Queso80OrderIDProductIDQuantity111024880客戶訂單子模式D(OrderID,ProductID,ProductName,Quantity)
ProductIDProductNameUnitPriceSupplierID10248Queso215DProductOrderDetail第二章關系模型和關系運算第三十七頁,共一百一十三頁,2022年,8月28日(三)存儲模式存儲模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述。存儲的方法堆存儲索引存儲聚簇存儲第二章關系模型和關系運算第三十八頁,共一百一十三頁,2022年,8月28日(四)關系模型三級模式體系舉例以學生信息管理數(shù)據(jù)庫為例:1、關系模式學生(學號,姓名,性別,出生日期,專業(yè),家庭住址,聯(lián)系電話)專業(yè)(專業(yè)號,專業(yè)名稱,所在院系)課程(課程號,課程名稱,學時,學分,學期)教師(教師號,姓名,性別,所在院系,聯(lián)系電話)選課(學期,課程號,學號,成績)課程安排表(課程號,教師號,上課時間)第二章關系模型和關系運算第三十九頁,共一百一十三頁,2022年,8月28日關系模式的三級體系結(jié)構(gòu)(續(xù))SQLServer2005數(shù)據(jù)庫中表的設計第二章關系模型和關系運算第四十頁,共一百一十三頁,2022年,8月28日2、外模式關系模式的三級體系結(jié)構(gòu)(續(xù))第二章關系模型和關系運算第四十一頁,共一百一十三頁,2022年,8月28日3、存儲模式在C:\ProgramFiles\MicrosoftSQLServer\MSSQL.2\MSSQL\Data目錄下存放student數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件。關系模式的三級體系結(jié)構(gòu)(續(xù))第二章關系模型和關系運算第四十二頁,共一百一十三頁,2022年,8月28日
三、關系模型的完整性規(guī)則關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型中三類完整性約束:實體完整性參照完整性用戶定義的完整性實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統(tǒng)自動支持。第二章關系模型和關系運算第四十三頁,共一百一十三頁,2022年,8月28日
(一)實體完整性1、實體完整性規(guī)則(EntityIntegrity)定義
若屬性A是基本關系R的主屬性,則屬性A不能取空值。例2.8:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設研究生不會重名),則其不能取空值。第二章關系模型和關系運算第四十四頁,共一百一十三頁,2022年,8月28日
實體完整性示例說明Teacher關系第二章關系模型和關系運算第四十五頁,共一百一十三頁,2022年,8月28日保存時提示錯誤信息第二章關系模型和關系運算第四十六頁,共一百一十三頁,2022年,8月28日
實體完整性(續(xù))
2、關系模型必須遵守實體完整性規(guī)則的原因?qū)嶓w完整性規(guī)則是針對基本關系而言的。一個基本表通常對應現(xiàn)實世界的一個實體集?,F(xiàn)實世界中的實體都是可區(qū)分的,即它們具有某種唯一性標識。相應地,關系模型中以主碼作為唯一性標識。主碼中的屬性即主屬性不能取空值。所謂空值就是“不知道”或“無意義”的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性。第二章關系模型和關系運算第四十七頁,共一百一十三頁,2022年,8月28日實體完整性(續(xù))3、注意實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值。例2.9:
學生選課關系:選修(學號,課程號,成績)“學號、課程號”為主碼,則“學號”和“課程號”兩個屬性都不能取空值。
第二章關系模型和關系運算第四十八頁,共一百一十三頁,2022年,8月28日
(二)參照完整性1、關系間的引用在關系模型中實體及實體間的聯(lián)系都是用關系來描述的,因此可能存在著關系與關系間的引用。例2.10學生實體、專業(yè)實體以及專業(yè)與學生間的一對多聯(lián)系學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)第二章關系模型和關系運算第四十九頁,共一百一十三頁,2022年,8月28日關系間的引用(續(xù))學生專業(yè)第二章關系模型和關系運算第五十頁,共一百一十三頁,2022年,8月28日關系間的引用(續(xù))例2.11學生、課程、學生與課程之間的多對多聯(lián)系。學生(學號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)第二章關系模型和關系運算第五十一頁,共一百一十三頁,2022年,8月28日
學生學生選課課程第二章關系模型和關系運算關系間的引用(續(xù))第五十二頁,共一百一十三頁,2022年,8月28日關系間的引用(續(xù))例2.12學生實體及其內(nèi)部的領導聯(lián)系(一對多)
學生(學號,姓名,性別,專業(yè)號,年齡,班長)第二章關系模型和關系運算第五十三頁,共一百一十三頁,2022年,8月28日關系間的引用(小結(jié))第二章關系模型和關系運算參照關系被參照關系學生關系專業(yè)關系專業(yè)號學生關系選修關系課程關系學號課程號學生關系學號第五十四頁,共一百一十三頁,2022年,8月28日參照完整性(續(xù))參照完整性規(guī)則就是定義外鍵與主鍵之間的引用規(guī)則。2、參照完整性規(guī)則定義若屬性(或?qū)傩越M)F是基本關系R的外鍵,它與基本關系S的主鍵Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值)或者等于S中某個元組的主碼值第二章關系模型和關系運算第五十五頁,共一百一十三頁,2022年,8月28日
參照完整性(續(xù))說明關系R和S不一定是不同的關系。外鍵并不一定要與相應的主鍵同名。當外鍵與相應的主碼屬于不同關系時,往往取相同的名字,以便于識別。目標關系S的主鍵Ks和參照關系的外鍵F必須定義在同一個(或一組)域上。第二章關系模型和關系運算第五十六頁,共一百一十三頁,2022年,8月28日
參照完整性(續(xù))例2.10中,學生關系中的“專業(yè)號”是專業(yè)關系的主碼,但不是學生關系的碼,因此,“專業(yè)號”是學生關系的外碼。學生關系中每個元組的“專業(yè)號”屬性只能取下面兩類值:空值,表示尚未給該學生分配專業(yè);非空值,這時該值必須是專業(yè)關系中某個元組的“專業(yè)號”值,表示該學生不可能分配到一個不存在的專業(yè)中。第二章關系模型和關系運算第五十七頁,共一百一十三頁,2022年,8月28日
參照完整性規(guī)則(續(xù))例2.11中,選修關系中的“學號”是學生關系的主碼,選修關系中的“課程號”是課程關系的主碼,但它們每個都不是選修關系的碼;因此,“學號”和“課程號”都是選修關系的外碼。
由于“學號”和“課程號”是選修關系中的主屬性,按照實體完整性和參照完整性規(guī)則,它們只能取相應被參照關系中已經(jīng)存在的主碼值。第二章關系模型和關系運算第五十八頁,共一百一十三頁,2022年,8月28日
參照完整性規(guī)則(續(xù))例2.12中,“班長”不是學生關系的碼,但對應于學生關系的碼“學號”,從而是學生關系的外碼?!鞍嚅L”屬性值可以取兩類值:空值,表示該學生所在班級尚未選出班長,或該學生本人即是班長;非空值,這時該值必須是本關系中某個元組的學號值。第二章關系模型和關系運算第五十九頁,共一百一十三頁,2022年,8月28日
參照完整性(續(xù))例2.13在產(chǎn)品關系中有下列兩個關系模式:產(chǎn)品關系Products(ProductID,ProductName,UnitPrice,SupplierID,UnitsInstock)
訂單明細關系:OrdersDetails(OrderID,ProductID,UnitPrice,Quantity)問題:(1)兩個關系的主鍵是什么?(2)訂單明細關系的外鍵是什么?其值能否為空?第二章關系模型和關系運算第六十頁,共一百一十三頁,2022年,8月28日例2.14設課程之間有先修、后續(xù)聯(lián)系。關系模式如下:R(CourseID,Cname,PCourseID)問題:如果規(guī)定:每門課的直接先修課至多只有一門,那么關系R的主鍵是什么,外鍵是什么?外鍵能否為空?第二章關系模型和關系運算
參照完整性(續(xù))第六十一頁,共一百一十三頁,2022年,8月28日如:第二章關系模型和關系運算
參照完整性(續(xù))CourseIDCNamePCourseIDC01數(shù)據(jù)庫系統(tǒng)原理C03C02數(shù)據(jù)庫高級應用C01
C03數(shù)據(jù)結(jié)構(gòu)C04信息系統(tǒng)開發(fā)C02第六十二頁,共一百一十三頁,2022年,8月28日
參照完整性示例說明學院關系建立學院關系和teacher關系的參照關系第二章關系模型和關系運算第六十三頁,共一百一十三頁,2022年,8月28日
參照完整性示例說明插入新的記錄(所在學院屬性值為4)結(jié)果第二章關系模型和關系運算第六十四頁,共一百一十三頁,2022年,8月28日
(三)用戶定義的完整性用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不需要由應用程序承擔這一功能。第二章關系模型和關系運算第六十五頁,共一百一十三頁,2022年,8月28日
用戶定義的完整性(續(xù))例2.15:
課程(課程號,課程名,學分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學分”屬性只能取值{1,2,3,4}第二章關系模型和關系運算第六十六頁,共一百一十三頁,2022年,8月28日第二章關系模型和關系運算2.1關系模型概述2.2關系數(shù)據(jù)結(jié)構(gòu)及完整性約束2.3關系代數(shù)第二章關系模型和關系運算第六十七頁,共一百一十三頁,2022年,8月28日
第三節(jié)關系代數(shù)關系代數(shù)以一個或兩個關系為輸入,產(chǎn)生一個新的關系作為結(jié)果。關系代數(shù)運算的主要類型包括:傳統(tǒng)的集合運算專門的關系運算
第二章關系模型和關系運算第六十八頁,共一百一十三頁,2022年,8月28日關系代數(shù)(續(xù))關系運算符運算符含義運算符含義
集合運算符∪﹣∩×并差交笛卡爾積
比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于
專門的關系運算符
選擇投影連接除
邏輯運算符非與或第二章關系模型和關系運算第六十九頁,共一百一十三頁,2022年,8月28日關系運算類型傳統(tǒng)的關系運算(集合運算):并、差、交、(廣義)笛卡爾積專門的關系運算:選擇、投影、連接、除五種基本的關系運算:并、差、笛卡爾積、投影、選擇。其他運算都可以用五種基本運算表示。第二章關系模型和關系運算關系代數(shù)(續(xù))第七十頁,共一百一十三頁,2022年,8月28日
1、分量
設R(A1,A2,…,An)是關系模式,R是它的關系。tR表示t是R的一個元組。t[Ai]表示元組t在屬性Ai上的一個分量。2、連接
設R是n目關系,S是m目關系。trR,tsS,trts稱為元組tr和ts的連接或串接,它是一個n+m列的元組,前n個分量為tr,后m個分量為ts
。第二章關系模型和關系運算︵
一、若干記號第七十一頁,共一百一十三頁,2022年,8月28日若干記號(續(xù))3、象集
給定一個關系R(X,Z),X和Z為屬性組。當t[X]=x時,定義x在R中的象集為
Zx={t[Z]|tR,t[X]=x}
它表示R中屬性組X的值為x的諸元組在Z上的分量的集合。第二章關系模型和關系運算第七十二頁,共一百一十三頁,2022年,8月28日
象集舉例例如下圖中,x1在R中的象集Zx1={Z1,Z2,Z3},
x2在R中的象集Zx2={Z2,Z3},
x3在R中的象集Zx3={Z1,Z3}Rx1
Z1x1Z2x1Z3x2Z2x2Z3x3Z1x3Z3第二章關系模型和關系運算第七十三頁,共一百一十三頁,2022年,8月28日二、傳統(tǒng)的集合運算傳統(tǒng)的集合運算都是二元運算。并、差、交要求兩個運算對象具有相同的目n(即兩個關系都有n個屬性),
且相應的屬性取自同一個域,t是元組變量,t∈R表示t是R的一個元組。1、并(Union)設R和S都是n目關系,R和S的并是由屬于R或?qū)儆赟的元組組成,即
R∪S={t|tRtS}第二章關系模型和關系運算第七十四頁,共一百一十三頁,2022年,8月28日
傳統(tǒng)的集合運算(續(xù))2、差(Difference)設R和S都是n目關系,R和S的差由屬于R而不屬于S的元組組成,即
R-S={t|tRtS}3、交(Intersection)設R和S都是n目關系,R和S的交由既屬于R,又屬于S的元組組成,即
R∩S={t|tRtS}第二章關系模型和關系運算第七十五頁,共一百一十三頁,2022年,8月28日
傳統(tǒng)的集合運算(續(xù))4、廣義笛卡爾積(ExtendedCartesianProduct)設R和S分別為n目和m目關系,R和S的廣義笛卡爾積是一個(n+m)目關系,其每個元組的前n個分量是關系R的一個元組,后m個分量是關系S的一個元組。 RS={trts|trRtsS}
若R和S分別有k1和k2個元組,則R和S的廣義笛卡爾積有(k1*k2)個元組。第二章關系模型和關系運算︵第七十六頁,共一百一十三頁,2022年,8月28日
傳統(tǒng)的集合運算的例子
ABCa1a1a2b1b2b2c1c2c1ABCa1a1a2b2b3b2c2c2c1ABCa1a1a2a1b1b2b2b3c1c2c1c2RSABCa1a2b2b2c2c1ABCa1b1c1R∪SR∩
SR-S第二章關系模型和關系運算第七十七頁,共一百一十三頁,2022年,8月28日傳統(tǒng)的集合運算的例子(續(xù))
R.AR.BR.CS.AS.BS.Ca1a1a1a1a1a1a2a2a2b1b1b1b2b2b2b2b2b2c1c1c1c2c2c2c1c1c1a1a1a2a1a1a2a1a1a2b2b3b2b2b3b2b2b3b2c2c2c1c2c2c1c2c2c1RS第二章關系模型和關系運算第七十八頁,共一百一十三頁,2022年,8月28日三、專門的關系運算1、選擇(Selection)
由關系R中選擇滿足條件F的元組,記作F(R)
F(R)={t|tRF(t)=‘真’}其中,F是邏輯表達式,F(xiàn)中的運算對象為屬性名(或?qū)傩孕蛱?、常量、函數(shù),運算符可以為邏輯運算符、、,比較運算符、、=、、、。F(R)表示從R中選擇滿足公式F的元組所構(gòu)成的關系。選擇又稱限制(restriction),是一元運算。從行的角度進行運算。第二章關系模型和關系運算第七十九頁,共一百一十三頁,2022年,8月28日一個示例數(shù)據(jù)庫
學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001950029500395004李勇劉晨王敏張立男女女男20191819CSISMAISStudent課程號Cno課程名Cname先行課Cpno學分Ccredit1234567數(shù)據(jù)庫數(shù)學信息系統(tǒng)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)處理PASCAL語言516764243424Course學號Sno課程號Cno成績Grade9500195001950019500295002123239285889080SC第二章關系模型和關系運算第八十頁,共一百一十三頁,2022年,8月28日
選擇查詢的例子例2.16查詢信息系(IS系)的全體學生
Sdept=‘IS’(Student)或5=‘IS’(Student)SnoSnameSsexSageSdept9500295004劉晨張立女男1919ISIS結(jié)果如下:
第二章關系模型和關系運算第八十一頁,共一百一十三頁,2022年,8月28日選擇查詢的例子
Sage<20(Student)或4<20(Student)SnoSnameSsexSageSdept950029500395004劉晨王敏張立女女男191819ISMAIS例2.17查詢年齡小于20的學生。結(jié)果如下:
第二章關系模型和關系運算第八十二頁,共一百一十三頁,2022年,8月28日例2.18查詢年齡小于20歲的信息系的女同學。第二章關系模型和關系運算選擇查詢的例子
Sage<20∧Ssex=‘女’∧Sdept=‘IS’(Student)SnoSnameSsexSageSdept95002劉晨女19IS第八十三頁,共一百一十三頁,2022年,8月28日
專門的關系運算(續(xù))2、投影(projection)關系R在屬性列A上的投影是從R中選擇屬性列A組成新關系,記作A(R)
A(R)={t[A]|tR}
其中,A是屬性名(號)的列表。投影是一元運算,從列的角度進行運算。由于去掉了原關系中的一些列,可能導致不相同的元組投影后相同,因此需要刪除結(jié)果中的重復元組。第二章關系模型和關系運算第八十四頁,共一百一十三頁,2022年,8月28日
投影查詢的例子例2.19查詢學生的姓名和所在的系。
Sname,Sdept(Student)
或2,5(Student)
查詢的結(jié)果如下:SnameSdept李勇劉晨王敏張立CSISMAIS第二章關系模型和關系運算第八十五頁,共一百一十三頁,2022年,8月28日
投影查詢的例子(續(xù))Sdept(Student)
或5(Student)
查詢的結(jié)果如下:SdeptCSISMA例2.20查詢關系Student中包含的系。第二章關系模型和關系運算第八十六頁,共一百一十三頁,2022年,8月28日
專門的關系運算(續(xù))3、連接(Join)
是從兩個關系的笛卡爾積中選擇屬性間滿足一定條件的元組,記作:
其中A和B分別為R和S上度數(shù)相等且可比的屬性組。是比較運算符(、、、、、)。連接運算從R和S的笛卡爾積R×S中選取R關系在A屬性組上的值與S關系在B屬性組上滿足比較關系的元組。
︵第二章關系模型和關系運算第八十七頁,共一百一十三頁,2022年,8月28日連接(續(xù))連接運算的類型:等值連接(Equijoin):為等號的連接運算。自然連接(Naturaljoin):
是一種特殊的等值連接。它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中去掉重復屬性。設屬性組B是關系R和S的相同屬性。R和S在B上的自然連接記作:第二章關系模型和關系運算︵︵第八十八頁,共一百一十三頁,2022年,8月28日
連接運算舉例例2.21求關系R、S的一般連接、等值連接、自然連接。ABCa1a1a2a2b1b2b3b456812BEb1b2b3b3b5371022AR.BCS.BEa1a1a1a1a2b1b1b2b2b355668b2b3b2b3b371071010RS第二章關系模型和關系運算RSC<E第八十九頁,共一百一十三頁,2022年,8月28日
連接運算舉例(續(xù))
AR.BCS.BEa1a1a2a2b1b2b3
b35688b1b2b3
b337102ABCEa1a1a2a2b1b2b3
b3568837102等值連接RS自然連接RS第二章關系模型和關系運算R.B=S.B第九十頁,共一百一十三頁,2022年,8月28日例2.22已知關系R和關系S,求、和。第二章關系模型和關系運算
連接運算舉例(續(xù))RSB<DRSR.A=S.CRSABC327465247733CD3236RSRSB<DABR.CS.CD27745224733323226366第九十一頁,共一百一十三頁,2022年,8月28日第二章關系模型和關系運算RSR.A=S.CRS
連接運算舉例(續(xù))ABR.CS.CD3265773236ABCD74243333一般連接:在兩個關系的笛卡爾積中選取屬性間的分量滿足一定條件的元組。
等值連接:在兩個關系的笛卡爾積中選取屬性間分量值相等的元組。
自然連接:兩個關系中進行比較的分量必須是相同的屬性組,在結(jié)果中把重復的屬性列去掉。第九十二頁,共一百一十三頁,2022年,8月28日
專門的關系運算(續(xù))4、除(Division)
給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須在相同的域上取值。R與S的商(除運算的結(jié)果),記作RS是一個新關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。
RS={tr[X]|trR
Yx}第二章關系模型和關系運算第九十三頁,共一百一十三頁,2022年,8月28日(1)除運算的步驟①計算S在屬性組Y上的投影。②計算關系R在屬性組X上的投影。③計算(2)結(jié)果中各元素在關系R中的象集。④判斷各個象集與(1)中投影的包含關系,若某個象集包含S在屬性組Y上的投影,則該象集對應的X上的分量值即為除運算的結(jié)果元素。第二章關系模型和關系運算除運算(續(xù))第九十四頁,共一百一十三頁,2022年,8月28日
除運算舉例例2.23已知關系R,S,求RS。ABCa1a2a3a1a4a2a1b1b3b4b2b6b2b2c2c7c6c3c6c3c1RBCDb1b2b2c2c1c3d1d1d2SRSAa1(2)關系R在A上的投影為{a1,a2,a3,a4}(3)(2)中各個元素的象集:a1的象集為{(b1,c2),(b2,c3)(b2,c1)}a2的象集為{(b3,c7),(b2,c3)}a3的象集為{(b4,c6)}a4的象集為{(b6,c6)}
(4)判斷:a1的象集包含了S在(B,C)屬性組上的投影,a1所在的元組為滿足條件的元組。第二章關系模型和關系運算(1)S在(B,C)上的投影為{(b1,c2),(b2,c1),(b2,c3)}滿足條件的元組ABCa1a1a1b1b2b2c2c3c1第九十五頁,共一百一十三頁,2022年,8月28日(2)除法運算的含義
數(shù)學中一般整數(shù)除法運算:對于兩個整數(shù)R和S,它們的除法運算R/S
是滿足以下條件的最大整數(shù)Q。類似的在關系代數(shù)中對于關系R和S,它們的除法運算是滿足以下條件的最大的一個關系實例Q。
即Q與的笛卡爾積應包含于關系R。其中除運算(續(xù))第二章關系模型和關系運算第九十六頁,共一百一十三頁,2022年,8月28日
上例子中為{a1,a2,a3,a4}。
當Q分別等于{a1}、{a2}、{a3}、{a4}時,的結(jié)果分別記為:R1
R2
R3
R4顯然,只有R1
是包含于R的,因而Q={a1}是滿足條件的最大的關系實例,也即為。第二章關系模型和關系運算除運算含義(續(xù))ABCa1a1a1b1b2b2c2c1c3ABCa2a2a2b1b2b2c2c1c3ABCa3a3a3b1b2b2c2c1c3ABCa4a4a4b1b2b2c2c1c3第九十七頁,共一百一十三頁,2022年,8月28日(3)除法運算的基本運算符等效表達形式根據(jù)關系除法本質(zhì)含義,可以看出的求解過程即為在的集合中選擇滿足下列條件的元素x:這個過程等價于將中不滿足以上條件的元素剔除。對于中的元素,若使得Q={x}時不能滿足條件,則該元素應被剔除。相應地,這些應被剔除的元素集合可以通過下列公式獲得:因而的基本運算符表達式即為:
第二章關系模型和關系運算除運算(續(xù))第九十八頁,共一百一十三頁,2022年,8月28日除法運算的等效表達形式(續(xù))Aa1a2a3a4第二章關系模型和關系運算BCb1b2b2c2c1c3ABCa1a1a1a2a2a2a3a3a3a4a4a4b1b2b2b1b2b2b1b2b2b1b2b2c2c1c3c2c1c3c2c1c3c2c1c3ABCa2a2a3a3a3a4a4a4b1b2b1b2b2b1b2b2c2c1c2c1c3c2c1c3第九十九頁,共一百一十三頁,2022年,8月28日例2.24求選修了2號課程的學生的學號。Sno(Cno=‘2’(SC))專門的關系運算(續(xù))第二章關系模型和關系運算學號Sno課程號Cno成績Grade95001950019500195002950021232392858890805、綜合應用舉例第一百頁,共一百一十三頁,2022年,8月28日例2.25查詢學生95001的姓名和所在系。
πSname,Sdept
(σSno=‘95001’(Student))
第二章關系模型和關系運算綜合應用舉例(續(xù))學號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001950029500395004李勇劉晨王敏張立男女女男20191819CSISMAIS第一百零一頁,共一百一十三頁,2022年,8月28日例2.26查詢選修了1號課程的學生姓名。Student(Sno,Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno)SC(Sno,Cno,Grade)
πSname(σCno=’1’
(Student
SC))第二章關系模型和關系運算綜合應用舉例(續(xù))第一百零二頁,共一百一十三頁,2022年,8月28日例2.27查詢至少選修了兩門課程的學生學號。SC×SC的部分元組
πSno
(σ1=4∧2≠5(SC×SC))第二章關系模型和關系運算學號Sno課程號Cno成績Grade學號Sno課程號Cno成績Grade9500195001950019500195001950029500295002950029500211111222229292929292909090909095001950019500195002950029500195001950019500295002123231232392858890809285889080綜合應用舉例(續(xù))學號Sno課程號Cno成績Grade9500195001950019500295002123239285889080第一百零三頁,共一百一十三頁,2022年,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 平面解析幾何-直線與圓
- 蘇教版高中生物選修1 第一節(jié)生物成分的分離與測定技術(shù)
- 制造業(yè)考勤管理制度評估與改進
- 體育賽事消防應急預案制定
- 基金從業(yè)科目二證券投資基金基礎知識試題200道15
- 2024-2025學年上海市閔行區(qū)八年級(上)期中數(shù)學試卷
- 物業(yè)安保人員禮儀培訓
- 養(yǎng)老機構(gòu)突發(fā)傷害事件處理預案
- 《鮮艷的紅領巾》公開課教案
- 2020年房地產(chǎn)行業(yè)競爭分析總結(jié)
- 專有技術(shù)授權(quán)協(xié)議模板
- SJG 130-2023 混凝土模塊化建筑技術(shù)規(guī)程
- 新入職員工心理培訓
- ISO22000、BRC、IFS三合一體系一整套程序文件匯編
- 浙江省杭州市杭州外國語學校2023-2024學年七年級上學期期末英語試題
- 幼兒園教師外出學習培訓考察審批表(文檔良心出品)
- 內(nèi)鏡下痔瘡套扎治療術(shù)
- 尼莫地平口服溶液-臨床用藥解讀
- 2024年國企改革培訓
- 特種設備“日管控”安全檢查記錄、每周安全排查治理報告
- 2023年江蘇南京航空航天大學工作人員招聘56人筆試《行政職業(yè)能力測驗》模擬試卷(答案詳解版)
評論
0/150
提交評論