數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章課件
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章,數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章現(xiàn)實世界的數(shù)據(jù)化過程概念化形式化用戶計算機(jī)12/20/,數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用第二章數(shù)據(jù)庫基礎(chǔ)與應(yīng)用,1,現(xiàn)實世界的數(shù)據(jù)化過程,學(xué)生,編號,名字,年齡,性別,班級,現(xiàn)實,世界,數(shù)據(jù),世界,信息世界,學(xué)生,概念化,形式化,用戶,計算機(jī),12/12/2024,2,,現(xiàn)實世界的數(shù)據(jù)化過程學(xué)生編號名字年齡性別班級現(xiàn)實數(shù)據(jù)信息世界,現(xiàn)實世界,由實際事物組成,事物之間聯(lián)系錯綜復(fù)雜,事物和事物特性,信息世界,現(xiàn)實世界在人腦中的反映,事物和事物特性實體和實體屬性,數(shù)據(jù)世界,信息世界數(shù)據(jù)化后的產(chǎn)物,實體和實體屬性記錄和數(shù)據(jù)項,數(shù)據(jù)抽象,12/12/2024,3,,現(xiàn)實世界數(shù)據(jù)抽象6/12/20233ftthdu.edu.,三個世界中概念的對應(yīng)關(guān)系:,一個事物 一類事物 事物的各種特性,現(xiàn)實世界,實體 實體集 屬性、域、碼,信息世界,元組 關(guān)系 屬性(字段)、,主碼、外部碼,數(shù)據(jù)世界,認(rèn)識,抽象,轉(zhuǎn)換,12/12/2024,4,,三個世界中概念的對應(yīng)關(guān)系:一個事物 一類事物 事物,數(shù)據(jù)模型定義,數(shù)據(jù)模型,是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的形式構(gòu)架,應(yīng)用,概念模型,關(guān)系模型,現(xiàn)實世界,信息世界,計算機(jī)世界,抽象化,數(shù)據(jù)化,12/12/2024,5,,數(shù)據(jù)模型定義數(shù)據(jù)模型應(yīng)用概念模型關(guān)系模型現(xiàn)實世界信息世界計算,示例,學(xué)生,課程,選修,姓名,學(xué)號,系別,課程名,學(xué)分,主講老師,成績,實體,聯(lián)系,屬性,m,n,實體的碼,12/12/2024,6,,示例學(xué)生課程選修姓名學(xué)號系別課程名學(xué)分主講老師成績實體聯(lián)系屬,概念及術(shù)語,實體和實體類型,實體,:可以相互區(qū)別的客觀事物和概念統(tǒng)一抽象,例:學(xué)生、回扣、醫(yī)療,實體類型,實體集,:將具有共性的一類實體抽象為實體類型,屬性和域,屬性,:,對實體特征的描述,域,:,屬性的取值范圍,同一實體類型所有實體都具有相同的屬性及相同的對應(yīng)域,但屬性在域上的取值不一定相同。,12/12/2024,7,,概念及術(shù)語實體和實體類型6/12/20237ftthdu.,屬性分類,:,實體與屬性、原子屬性與組合屬性的劃分存在一定的相對性,無絕對。(這是由于描述事物的抽象層次不同或觀察研究問題的角度不同而引起),實體碼(,KEY,,實體標(biāo)識符,又稱實體鍵),:能唯一標(biāo)識實體的屬性或極小屬性組,用,下劃線,標(biāo)出。,分類標(biāo)準(zhǔn),分類情況,性質(zhì),舉例,屬性,按組成分類,按取值分類,原子屬性,組合屬性,單值屬性,多值屬性,屬性不可再分,屬性可以再分,對應(yīng)域中的元素為單個值,對應(yīng)域中的元素為多個值,性別、顏色,工資、籍貫,一個人的性別,一個人的學(xué)校,12/12/2024,8,,屬性分類:分類標(biāo)準(zhǔn)分類情況性質(zhì)舉例按組成分類原子屬性屬性不可,E-R,圖中:,帶,下劃線,的屬性為,實體鍵或?qū)嶓w鍵的一部分,組合屬性,用一個,樹型,表示,多值屬性,用,虛線橢圓,表示或標(biāo)出,關(guān)系型數(shù)據(jù)庫系統(tǒng)不能處理組合屬性和多值屬性的情況,,實際操作是要轉(zhuǎn)化成,原子屬性和單值屬性,的情況。,學(xué)生,學(xué)號,姓名,年齡,性別,畢業(yè)學(xué)校,出生日期,年,月,日,12/12/2024,9,,E-R圖中:學(xué)生學(xué)號姓名年齡性別畢業(yè)學(xué)校出生日期年月日6/1,聯(lián)系,:,實體之間的關(guān)系抽象為聯(lián)系,聯(lián)系分類,1:1,一對一聯(lián)系,1:n,一對多聯(lián)系,m:n,多對多聯(lián)系,12/12/2024,10,,聯(lián)系:實體之間的關(guān)系抽象為聯(lián)系6/12/202310ftt,聯(lián)系的多樣性,實體型,B,實體型,A,聯(lián)系名,實體型,B,實體型,A,聯(lián)系名,實體型,B,實體型,A,聯(lián)系名,1:1,1:N,M:N,1,n,1,m,n,1,12/12/2024,11,,聯(lián)系的多樣性實體型B實體型A聯(lián)系名實體型B實體型A聯(lián)系名實體,對應(yīng)于關(guān)系模式的一個具體的表稱為,關(guān)系,,又稱,表(,Table,),。,關(guān)系數(shù)據(jù)庫是若干表(關(guān)系)的集合,關(guān)系模式?jīng)Q定其對應(yīng)關(guān)系的內(nèi)容,每一個關(guān)系都必須命名(通常取對應(yīng)的關(guān)系模式名),且同一關(guān)系數(shù)據(jù)模型中關(guān)系名互不相同。,關(guān)系模式與關(guān)系的聯(lián)系:,關(guān)系模式:型(關(guān)系的結(jié)構(gòu))、相對穩(wěn)定,關(guān)系:值(元組的集合)、隨時間變化,關(guān)系,(Relation),12/12/2024,12,,對應(yīng)于關(guān)系模式的一個具體的表稱為關(guān)系,又稱表(Table)。,元組(,Tuple,),:,關(guān)系中的每一行稱為關(guān)系的一個元組,又稱,行(,Row,),或,記錄,。,一個關(guān)系可由多個元組構(gòu)成,一個關(guān)系中的元組和不相同,屬性(,Attributes,),關(guān)系中的每一列稱為關(guān)系的一個屬性,又稱,列(,Column,),一個由,n,個屬性的關(guān)系稱為,n,元關(guān)系,關(guān)系的屬性名就是對應(yīng)關(guān)系模式的對應(yīng)屬性名,變域(,Domain,),關(guān)系中的每一屬性所對應(yīng)的取值范圍叫屬性的變域,簡稱,域,。,域是值的集合,關(guān)系中所有屬性的實際值均來自它所對應(yīng)的域,如整數(shù)的集合、字符串的集合、全體學(xué)生的集合,關(guān)系中每個屬性都必須有一個相應(yīng)的域,不同屬性的域可不同也可相同。,12/12/2024,13,,元組(Tuple):6/12/202313ftthdu.e,2,2,1,關(guān)系數(shù)據(jù)模型的要素,14,221關(guān)系數(shù)據(jù)模型的要素14,碼和外部碼,碼(又稱關(guān)鍵字,key,),超碼,在一個關(guān)系中,若某個屬性組的值對不同的元組互不相同,則稱該屬性組為該關(guān)系的超碼(超關(guān)鍵字)。,候選碼,若某一屬性組是一個關(guān)系的超碼,但去掉其中任何一個屬性后就不再是超碼,則稱該屬性組為該關(guān)系的候選碼。,候選碼是超碼的最小集合。,只有一個屬性的超碼一定是候選碼。,合成碼,當(dāng)候選碼包含多個屬性時,稱該候選碼為合成碼。,候選碼的每個構(gòu)成屬性稱為,主屬性,。,關(guān)系模式的候選碼由所有屬性構(gòu)成,稱為,全碼,(,all-key,)。,主碼,為關(guān)系組織物理文件時通常選用一個候選碼作為插入、刪除修改、檢索元組的操作變量,被選用的候選碼成為主碼。,主碼一經(jīng)選定通常不變,一個關(guān)系中只有一個主碼。,外部碼,如果關(guān)系,R,的某一屬性組不是該關(guān)系本身的候選碼,而是另一個關(guān)系的候選碼,則稱該屬性組是,R,的外部碼。,12/12/2024,15,,碼和外部碼碼(又稱關(guān)鍵字,key)6/12/202315ft,表的關(guān)聯(lián),供應(yīng)商號,供應(yīng)商名,所在城市,B01,紅星,北京,S10,宇宙,上海,T20,黎明,天津,Z01,立新,重慶,零件號,顏色,供應(yīng)商號,010,紅,B01,312,白,S10,201,藍(lán),T20,供應(yīng)商關(guān)系,S,(主碼是,“,供應(yīng)商號,”,),零件關(guān)系,P,(主碼是,“,零件號,”,,,外碼是,“,供應(yīng)商號,”,),表的關(guān)聯(lián):數(shù)據(jù)庫中的數(shù)據(jù)表與數(shù)據(jù)表之間使用,相應(yīng)的字段實現(xiàn)數(shù)據(jù)表的連接,12/12/2024,16,,表的關(guān)聯(lián)供應(yīng)商號供應(yīng)商名所在城市B01紅星北京S10宇宙上海,數(shù)據(jù)完整性,數(shù)據(jù)須符合的條件或數(shù)據(jù)之間的關(guān)系,數(shù)據(jù)類型準(zhǔn)確無誤,數(shù)據(jù)的值滿足范圍設(shè)置,同一表格數(shù)據(jù)之間不存在沖突,多個表格數(shù)據(jù)之間不存在沖突,分類,實體完整性,參照完整性,用戶自定義完整性,系統(tǒng)支持,實體完整性和參照完整性由系統(tǒng)自動支持,系統(tǒng)應(yīng)提供定義和檢驗用戶定義的完整性的機(jī)制,12/12/2024,17,,數(shù)據(jù)完整性數(shù)據(jù)須符合的條件或數(shù)據(jù)之間的關(guān)系6/12/2023,實體完整性(,entity integrity,),實體完整性規(guī)則:若屬性,A,是基本關(guān)系,R,的,關(guān)鍵字,(,KEY),,則屬性,A,不能取空值,.,。,若關(guān)鍵字為屬性集,則其每個屬性均不能為空值。,如:選修(學(xué)號,課號,成績)學(xué)號,課號是,KEY,,則其均不能為空。,18,實體完整性(entity integrity)實體完整性規(guī),實體完整性(,entity integrity,),說明:,1.,實體完整性是針對基本關(guān)系而言的。,一個基本關(guān)系通常對應(yīng)現(xiàn)實世界的一個實體集。例:學(xué)生關(guān)系,學(xué)生集合,2.,現(xiàn)實世界中的實體是可區(qū)分的,具有唯一標(biāo)識,3.,關(guān)系模型中以主碼作為唯一標(biāo)識。,4.,主碼中的屬性不能取空。,19,實體完整性(entity integrity)說,如果關(guān)系,R,2,的外部碼,F,k,與關(guān)系,R,1,的主碼,P,k,相對應(yīng),則,R,2,中的每一個元組的,F,k,值或者等于,R,1,中某個元組的,P,k,值,或者為空值,意義,如果關(guān)系,R,2,的某個元組,t,2,參照了關(guān)系,R,1,的某個元組,t,1,,則,t,1,必須存在,【例】,有關(guān)系,S,(,Sno,Sname,Sex,Dno,)和,DEPT,(,Dno,Dname,),則關(guān)系,S,在,Dno,上的取值有兩種可能,空值,表示該學(xué)生尚未分到任何系中,若非空值,則必須是,DEPT,關(guān)系中某個元組的,Dno,值,表示該學(xué)生不可能分到一個不存在的系中,參照完整性,12/12/2024,20,,如果關(guān)系R2的外部碼Fk與關(guān)系R1的主碼Pk相對應(yīng),則R2中,用戶針對具體的應(yīng)用環(huán)境定義的完整性約束條件,【例】有關(guān)系,S,(,Sno,Sname,Sex,Dno,),Sno,要求是,8,位整數(shù),Sex,要求取值為“男”或“女”,用戶定義完整性,12/12/2024,21,,用戶針對具體的應(yīng)用環(huán)境定義的完整性約束條件用戶定義完整性6/,示例,供應(yīng)商號,供應(yīng)商名,所在城市,B01,紅星,北京,S10,宇宙,上海,T20,黎明,天津,Z01,立新,重慶,零件號,顏色,供應(yīng)商號,010,紅,B01,312,白,S10,201,藍(lán),T20,供應(yīng)商關(guān)系,S,(主碼是,“,供應(yīng)商號,”,),零件關(guān)系,P,(主碼是,“,零件號,”,,,外碼是,“,供應(yīng)商號,”,),今要向關(guān)系,P,中插入新行,新行的值分別列出如下。哪些行能夠插入?,A,(,037,,,綠,,,null)B,(null,,,黃,,,T20,),C,(,201,,,紅,,,T20,)D,(,105,,,黑,,,B01,),E,(,101,,,黃,,,T11,),若另要求零件的顏色不能為黑色的,上述結(jié)果如何變化?,12/12/2024,22,,示例供應(yīng)商號供應(yīng)商名所在城市B01紅星北京S10宇宙上海T2,2,2,1,關(guān)系數(shù)據(jù)模型的要素,2.,關(guān)系數(shù)據(jù)模型的操縱與完整性約束,操縱:查詢、插入、刪除、修改,完整性約束:實體完整性、參照完整性、用戶定義的完整性,3.,存儲結(jié)構(gòu),實體及實體間的聯(lián)系用表表示,物理組織中,表以文件形式存儲,每一個表對應(yīng)一種文件結(jié)構(gòu),23,221關(guān)系數(shù)據(jù)模型的要素2.關(guān)系數(shù)據(jù)模型的操縱與完整性約,優(yōu)點(diǎn),簡單,表的概念直觀、單一,用戶易理解,非過程化的數(shù)據(jù)請求,數(shù)據(jù)請求可以不指明路徑,數(shù)據(jù)獨(dú)立性,用戶只需提出,“,做什么,”,,無須說明,“,怎么做,”,堅實的理論基礎(chǔ),缺點(diǎn),由存取路經(jīng)對用戶透明,查詢效率不高,速于度慢,需要進(jìn)行查詢優(yōu)化。,采用靜態(tài)數(shù)據(jù)模型。,關(guān)系數(shù)據(jù)模型優(yōu)缺點(diǎn),12/12/2024,24,,優(yōu)點(diǎn)關(guān)系數(shù)據(jù)模型優(yōu)缺點(diǎn)6/12/202324ftthdu.,關(guān)系代數(shù),關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達(dá)方式,它,是用對關(guān)系的運(yùn)算來表達(dá)查詢的,。,關(guān)系代數(shù)的運(yùn)算對象是關(guān)系,運(yùn)算結(jié)果也是關(guān)系。,25,關(guān)系代數(shù)關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一,關(guān)系代數(shù),2.4.1,傳統(tǒng)的集合運(yùn)算,2.4.2,專門的關(guān)系運(yùn)算,2.4.3,關(guān)系代數(shù)運(yùn)算表示方法,26,關(guān)系代數(shù)2.4.1傳統(tǒng)的集合運(yùn)算 26,2.4.1,傳統(tǒng)的集合運(yùn)算,傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,并(,union,),兩個度為,n,的關(guān)系,R1,和,R2,的并記為,R1UR2,,結(jié)果是度為,n,的關(guān)系。該關(guān)