版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《MySQL數(shù)據(jù)庫原理及應(yīng)用》項(xiàng)目1理解數(shù)據(jù)庫.pptx項(xiàng)目2設(shè)計學(xué)生信息管理數(shù)據(jù)庫.pptx項(xiàng)目3安裝與啟動MySQL.pptx項(xiàng)目4創(chuàng)建與維護(hù)MySQL數(shù)據(jù)庫.pptx項(xiàng)目5創(chuàng)建與維護(hù)學(xué)生信息管理數(shù)據(jù)表.pptx項(xiàng)目6查詢與維護(hù)學(xué)生信息管理數(shù)據(jù)表.pptx項(xiàng)目7優(yōu)化查詢學(xué)生信息管理數(shù)據(jù)庫.pptx項(xiàng)目8以程序方式處理學(xué)生信息管理數(shù)據(jù)表.pptx項(xiàng)目9維護(hù)學(xué)生信息管理數(shù)據(jù)庫的安全性.pptx項(xiàng)目1理解數(shù)據(jù)庫學(xué)習(xí)目標(biāo):理解數(shù)據(jù)庫基本概念掌握數(shù)據(jù)模型相關(guān)概念掌握關(guān)系模型和關(guān)系運(yùn)算明確數(shù)據(jù)庫系統(tǒng)的組成及結(jié)構(gòu)任務(wù)1-1理解數(shù)據(jù)處理【任務(wù)分析】設(shè)計人員要理解數(shù)據(jù)庫的基本概念和基本原理,首先需要理解數(shù)據(jù)、信息及數(shù)據(jù)處理?!菊n堂任務(wù)】本節(jié)要理解的相關(guān)概念如下。信息和數(shù)據(jù)數(shù)據(jù)處理(一)信息與數(shù)據(jù)信息(Information)就是對各種事物的存在方式、運(yùn)動狀態(tài)和相互聯(lián)系特征的一種表達(dá)和陳述,是自然界、人類社會和人類思維活動普遍存在的一切物質(zhì)和事物的屬性,它存在于人們的周圍。1、信息(一)信息與數(shù)據(jù)數(shù)據(jù)(Data)是用來記錄信息的可識別的符號,是信息的具體表現(xiàn)形式。2、數(shù)據(jù)數(shù)據(jù)用型和值來表示,數(shù)據(jù)的型是指數(shù)據(jù)內(nèi)容存儲在媒體上的具體形式;值是指所描述的客觀事物的具體特性。數(shù)據(jù)不僅包括數(shù)字、文字形式,而且還包括圖形、圖像、聲音、動畫等多媒體數(shù)據(jù)。如一個人的身高可以表示為“1.80”或“1米8”,其中“1.80”和“1米8”是值,但這兩個值的型是不一樣的,一個用數(shù)字來描述,而另一個用字符來描述。(二)數(shù)據(jù)處理數(shù)據(jù)處理的內(nèi)容主要包括數(shù)據(jù)的收集、組織、整理、存儲、加工、維護(hù)、查詢和傳播等一系列活動。數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,也稱信息處理。數(shù)據(jù)處理的目的是從大量的數(shù)據(jù)中,根據(jù)數(shù)據(jù)自身的規(guī)律和它們之間固有的聯(lián)系,通過分析、歸納、推理等科學(xué)手段,提取出有效的信息資源。數(shù)據(jù)處理的工作分為以下3個方面。數(shù)據(jù)管理。主要任務(wù)是收集信息,將信息用數(shù)據(jù)表示并按類別組織保存。數(shù)據(jù)加工。主要任務(wù)是對數(shù)據(jù)進(jìn)行變換、抽取和運(yùn)算。數(shù)據(jù)傳播。通過數(shù)據(jù)傳播,信息在空間或時間上以各種形式傳遞。任務(wù)1-2理解數(shù)據(jù)描述【任務(wù)分析】為了使用計算機(jī)來管理現(xiàn)實(shí)世界的事物,技術(shù)人員必須將要管理的學(xué)生信息轉(zhuǎn)換為計算機(jī)能夠處理的數(shù)據(jù)。在理解了數(shù)據(jù)、信息及數(shù)據(jù)處理的概念后,要明確怎樣得到需要的數(shù)據(jù)。【課堂任務(wù)】本節(jié)要理解客觀存在的事物轉(zhuǎn)換為計算機(jī)存儲的數(shù)據(jù)需經(jīng)歷的3個領(lǐng)域及相關(guān)概念?,F(xiàn)實(shí)世界信息世界及相關(guān)術(shù)語數(shù)據(jù)世界現(xiàn)實(shí)世界是存在于人們頭腦之外的客觀世界?,F(xiàn)實(shí)世界存在各種事物,事物與事物之間存在聯(lián)系,這種聯(lián)系是由事物本身的性質(zhì)決定的。(一)現(xiàn)實(shí)世界例如,學(xué)校中有教師、學(xué)生、課程,教師為學(xué)生授課,學(xué)生選修課程并取得成績;圖書館中有圖書、管理員和讀者,讀者借閱圖書,管理員對圖書和讀者進(jìn)行管理等。信息世界是現(xiàn)實(shí)世界在人們頭腦中的反映,人們把它用文字或符號記載下來。實(shí)體(Entity):客觀存在并且可以相互區(qū)別的事物稱為實(shí)體。實(shí)體可以是具體的事物,也可以是抽象的事件。屬性(Attribute):描述實(shí)體的特性。一個實(shí)體可以用若干個屬性來描述。碼(Key):唯一標(biāo)識實(shí)體的屬性或?qū)傩缘慕M合。域(Domain):屬性的取值范圍稱為該屬性的域。實(shí)體型(EntityType):具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì),用實(shí)體名及其屬性名的集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號,姓名,性別,出生日期,系)實(shí)體集(EntitySet):同類實(shí)體的集合稱為實(shí)體集。例如全體學(xué)生、一批圖書等。(二)信息世界聯(lián)系(Relationship)在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實(shí)體(型)內(nèi)部的聯(lián)系和實(shí)體(型)之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。兩個實(shí)體型之間的聯(lián)系可以分為3類。(1)一對一聯(lián)系(One-to-OneRelationship)。(2)一對多聯(lián)系(One-to-ManyRelationship)。(3)多對多聯(lián)系(Many-to-ManyRelationship)。(二)信息世界數(shù)據(jù)世界又稱機(jī)器世界。信息世界的信息在機(jī)器世界中以數(shù)據(jù)形式存儲,在這里,每一個實(shí)體用記錄表示,相應(yīng)于實(shí)體的屬性用數(shù)據(jù)項(xiàng)(又稱字段)來表示,現(xiàn)實(shí)世界中的事物及其聯(lián)系用數(shù)據(jù)模型來表示。(三)數(shù)據(jù)世界現(xiàn)實(shí)世界中客觀對象的抽象過程如下圖所示:任務(wù)1-3掌握數(shù)據(jù)模型【任務(wù)分析】設(shè)計人員已經(jīng)理解如何將客觀存在的事物轉(zhuǎn)換為計算機(jī)存儲的數(shù)據(jù),接下來需要做的工作是選擇一種數(shù)據(jù)在計算機(jī)中的組織模式。在計算機(jī)中,處理的數(shù)據(jù)需要選擇什么組織形式才能最有效、方便和快捷,并能保證數(shù)據(jù)的正確性、一致性呢?那么,供設(shè)計人員選擇的數(shù)據(jù)結(jié)構(gòu)有哪些?【課堂任務(wù)】使用數(shù)據(jù)模型來表示和處理計算機(jī)中的數(shù)據(jù),即為數(shù)據(jù)選擇一種數(shù)據(jù)組織模式。數(shù)據(jù)模型概念模型關(guān)系模型關(guān)系模型的完整性約束概念數(shù)據(jù)模型(一)數(shù)據(jù)模型的分類簡稱為概念模型,表示實(shí)體類型及實(shí)體間的聯(lián)系,是獨(dú)立于計算機(jī)系統(tǒng)的模型。概念模型用于建立信息世界的數(shù)據(jù)模型,強(qiáng)調(diào)其語義表達(dá)功能,要求概念簡單、清晰,易于用戶理解,它是現(xiàn)實(shí)世界的第1層抽象,是用戶和數(shù)據(jù)庫設(shè)計人員之間進(jìn)行交流的工具。結(jié)構(gòu)數(shù)據(jù)模型簡稱為數(shù)據(jù)模型,它是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第2層抽象。數(shù)據(jù)模型涉及計算機(jī)系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)模型有嚴(yán)格的形式化定義,以便于在計算機(jī)系統(tǒng)中實(shí)現(xiàn)。概念模型是對信息世界的建模,它應(yīng)當(dāng)能夠全面、準(zhǔn)確地描述信息世界,是信息世界的基本概念。(二)概念模型概念模型的表示方法很多,其中最為著名和使用最為廣泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。E-R圖通用的表示方式如下。(二)概念模型(1)用矩形框表示實(shí)體型,在框內(nèi)寫上實(shí)體名。(2)用橢圓形框表示實(shí)體的屬性,并用無向邊把實(shí)體和屬性連接起來。(3)用菱形框表示實(shí)體間的聯(lián)系,在菱形框內(nèi)寫上聯(lián)系名,用無向邊分別把菱形框與有關(guān)實(shí)體連接起來,在無向邊旁注明聯(lián)系的類型。如果實(shí)體間的聯(lián)系也有屬性,則把屬性和菱形框也用無向邊連接起來。1、數(shù)據(jù)模型的三要素(三)數(shù)據(jù)模型的要素和種類(1)數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)用于描述系統(tǒng)的靜態(tài)特征,是所研究的對象類型的集合,這些對象是數(shù)據(jù)庫的組成部分,包括兩個方面。①數(shù)據(jù)本身:數(shù)據(jù)的類型、內(nèi)容和性質(zhì)等。例如關(guān)系模型中的域、屬性、關(guān)系等。②數(shù)據(jù)之間的聯(lián)系:數(shù)據(jù)之間是如何相互關(guān)聯(lián)的。例如關(guān)系模型中的主碼、外碼聯(lián)系等。(2)數(shù)據(jù)操作:數(shù)據(jù)操作是對數(shù)據(jù)庫中的各種對象(型)的實(shí)例(值)允許執(zhí)行的操作集合。數(shù)據(jù)操作包括操作對象及有關(guān)的操作規(guī)則,主要有檢索和更新(包括插入、刪除和修改)兩類。(3)數(shù)據(jù)約束條件:數(shù)據(jù)約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是給定數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。2、常見的數(shù)據(jù)模型(三)數(shù)據(jù)模型的要素和種類層次模型:用“樹”結(jié)構(gòu)來表示數(shù)據(jù)之間的關(guān)系網(wǎng)狀模型:用“圖”結(jié)構(gòu)來表示數(shù)據(jù)之間的關(guān)系關(guān)系模型:用“表”結(jié)構(gòu)(或稱關(guān)系)來表示數(shù)據(jù)之間的關(guān)系。
在層次模型、網(wǎng)狀模型、關(guān)系模型3種數(shù)據(jù)模型中,關(guān)系模型結(jié)構(gòu)簡單、數(shù)據(jù)之間的關(guān)系容易實(shí)現(xiàn),因此關(guān)系模型是目前廣泛使用的數(shù)據(jù)模型,并且關(guān)系數(shù)據(jù)庫也是目前流行的數(shù)據(jù)庫。(四)關(guān)系模型關(guān)系模型是目前最重要的一種數(shù)據(jù)模型,關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。關(guān)系模型是在20世紀(jì)70年代初由美國IBM公司的E.F.Codd提出的,為數(shù)據(jù)庫技術(shù)的發(fā)展奠定了理論基礎(chǔ)。由于E.F.Codd的杰出工作,他于1981年獲得ACM圖靈獎。(四)關(guān)系模型關(guān)系模型與以往的模型不同,它是建立在嚴(yán)格的數(shù)據(jù)概念基礎(chǔ)上的。關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。(1)關(guān)系(Relation)。一個關(guān)系就是一張二維表,見下表:1、關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)學(xué)
號姓
名年
齡性
別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機(jī)系…………………………(四)關(guān)系模型(2)元組(Tuple)。元組也稱記錄,關(guān)系表中的每行對應(yīng)一個元組,組成元組的元素稱為分量。數(shù)據(jù)庫中的一個實(shí)體或?qū)嶓w之間的一個聯(lián)系均使用一個元組來表示。(3)屬性(Attribute)。表中的一列即為一個屬性,給每個屬性取一個名稱為屬性名。屬性具有型和值兩層含義:屬性的型指屬性名和屬性值域;屬性的值是指屬性具體的取值。(四)關(guān)系模型(4)域(Domain)。屬性的取值范圍。(5)分量(Component)。元組中的一個屬性值。(6)候選碼(Candidatekey)。若關(guān)系中的某一屬性或?qū)傩越M的值能唯一標(biāo)識一個元組,且從這個屬性組中去除任何一個屬性,都不再具有這樣的性質(zhì),則稱該屬性或?qū)傩越M為候選碼(Candidatekey),候選碼簡稱為碼。(7)主碼(Primarykey)。若一個關(guān)系中有多個候選碼,則選定其中一個為主碼。(四)關(guān)系模型(8)全碼(All-key)。在最簡單的情況下,候選碼只包含一個屬性;在最極端的情況下,關(guān)系模式的所有屬性是這個關(guān)系模式的候選碼,稱為全碼。全碼是候選碼的特例。(9)主屬性(PrimeAttribute)和非主屬性(Non-primeAttribute)。在關(guān)系中,候選碼中的屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性。(10)關(guān)系模式(RelationSchema)。關(guān)系的描述稱為關(guān)系模式,它可以形式化地表示為R(U,D,Dom,F(xiàn)
)。其中,R為關(guān)系名;U為組成該關(guān)系的屬性的集合;D為屬性組U中的屬性所來自的域;Dom為屬性向域的映像集合;F為屬性間數(shù)據(jù)依賴關(guān)系的集合。關(guān)系模式通??梢院営洖镽(U
)或R(A1,A2,…,An)。(四)關(guān)系模型(1)同一屬性的數(shù)據(jù)具有同質(zhì)性,即每一列中的分量是同一類型的數(shù)據(jù),它們來自同一
個域。(2)同一關(guān)系的屬性名具有不可重復(fù)性,即同一關(guān)系中不同屬性的數(shù)據(jù)可出自同一個域,但不同的屬性要給予不同的屬性名。(3)關(guān)系中列的位置具有順序無關(guān)性,即列的次序可以任意交換、重新組織。(4)關(guān)系具有元組無冗余性,即關(guān)系中的任意兩個元組不能完全相同。(5)關(guān)系中元組的位置具有順序無關(guān)性,即元組的順序可以任意交換。(6)關(guān)系中每個分量必須取原子值,即每個分量都必須是不可分的數(shù)據(jù)項(xiàng)。2、關(guān)系的性質(zhì)(四)關(guān)系模型非規(guī)范化的關(guān)系結(jié)構(gòu)關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是關(guān)系的每個分量必須是一個不可分割的數(shù)據(jù)項(xiàng)。規(guī)范化的關(guān)系簡稱范式(NormalForm)。姓
名所在系成
績C語言VB語言李武計算機(jī)9590馬鳴信息工程8592姓
名所在系C成績VB成績李武計算機(jī)9590馬鳴信息工程8592修改后的關(guān)系結(jié)構(gòu)規(guī)則1.1實(shí)體完整性規(guī)則
若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。(五)關(guān)系的完整性1、實(shí)體完整性例如,學(xué)生關(guān)系“學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)”中,“學(xué)號”為主碼,則“學(xué)號”不能取空值。實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值,而不僅是指主碼不能取空值。(五)關(guān)系的完整性對于實(shí)體完整性規(guī)則說明如下。(1)實(shí)體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應(yīng)信息世界的一個實(shí)體集,例如學(xué)生關(guān)系對應(yīng)于學(xué)生的集合。(2)信息世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識。(3)關(guān)系模型中以主碼作為唯一性標(biāo)識。(4)主屬性不能取空值。所謂空值就是“不知道”或“不確定”的值,如果主屬性取空值,就說明存在某個不可標(biāo)識的實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2)點(diǎn)相矛盾,因此這個規(guī)則稱為實(shí)體完整性規(guī)則。(五)關(guān)系的完整性【例1.1】學(xué)生關(guān)系和專業(yè)關(guān)系表示如下,其中主碼用下劃線標(biāo)識。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)這兩個關(guān)系之間存在著屬性的引用,即學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼“專業(yè)號”。顯然,學(xué)生關(guān)系中的“專業(yè)號”值必須是確實(shí)存在的專業(yè)的專業(yè)號,即專業(yè)關(guān)系中有該專業(yè)的記錄,也就是說,學(xué)生關(guān)系中的某個屬性的取值需要參照專業(yè)關(guān)系的屬性來取值。2、參照完整性(五)關(guān)系的完整性【例1.2】學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系選修可以用如下3個關(guān)系表示。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)這3個關(guān)系之間也存在著屬性的引用,即選修關(guān)系引用了學(xué)生關(guān)系的主碼“學(xué)號”和課程關(guān)系的主碼“課程號”。同樣,選修關(guān)系中的“學(xué)號”值必須是確實(shí)存在的學(xué)生的學(xué)號,即學(xué)生關(guān)系中有該學(xué)生的記錄;選修關(guān)系中的“課程號”值也必須是確實(shí)存在的課程的課程號,即課程關(guān)系中有該課程的記錄。也就是說,選修關(guān)系中某些屬性的取值需要參照其他關(guān)系的屬性來取值。2、參照完整性(五)關(guān)系的完整性設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)系R的主碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼(ForeignKey),并稱基本關(guān)系R為參照關(guān)系(ReferencingRelation),基本關(guān)系S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。外碼(五)關(guān)系的完整性規(guī)則1.2參照完整性規(guī)則
若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S有可能是同一關(guān)系),則對于R中每個元組在F上的值必須為以下值之一。(1)或者取空值(F的每個屬性值均為空值)。(2)或者等于S中某個元組的主碼值。(五)關(guān)系的完整性用戶自定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。例如某個屬性必須取唯一值、屬性值之間應(yīng)滿足一定的函數(shù)關(guān)系、某屬性的取值范圍在0~100等。3、用戶自定義的完整性例如,性別只能取“男”或“女”;學(xué)生的成績必須在0~100分。任務(wù)1-4掌握關(guān)系代數(shù)【任務(wù)分析】在計算機(jī)上存儲數(shù)據(jù)的目的是為了使用數(shù)據(jù),當(dāng)選擇好了數(shù)據(jù)的組織形式后,接下來的任務(wù)是明確怎樣使用數(shù)據(jù)?!菊n堂任務(wù)】本節(jié)要理解對關(guān)系模型中的數(shù)據(jù)進(jìn)行哪些操作。什么是關(guān)系代數(shù)傳統(tǒng)的集合運(yùn)算關(guān)系的選擇、投影及連接操作關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達(dá)方式,它用關(guān)系的運(yùn)算來表達(dá)查詢。運(yùn)算對象、運(yùn)算符、運(yùn)算結(jié)果是運(yùn)算的三大要素。關(guān)系代數(shù)的運(yùn)算對象是關(guān)系,運(yùn)算結(jié)果亦為關(guān)系。關(guān)系代數(shù)中使用的運(yùn)算符包括以下4類:集合運(yùn)算符、專門的關(guān)系運(yùn)算符、比較運(yùn)算符和邏輯運(yùn)算符任務(wù)1-4掌握關(guān)系代數(shù)運(yùn)算符含
義運(yùn)算符含
義集合運(yùn)算符∪-∩×并差交廣義笛卡兒積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于專門的關(guān)系運(yùn)算符σπ∞÷選擇投影連接除邏輯運(yùn)算符?∧∨非與或(一)傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,包括并、交、差、廣義笛卡兒積4種運(yùn)算。1.并(Union)關(guān)系R與關(guān)系S的并記作:R∪S={t│t
R
t
S},t是元組變量2.差(Difference)關(guān)系R與關(guān)系S的差記作:R-S={t│t
R
tS},t是元組變量3.交(Intersection)關(guān)系R與關(guān)系S的交記作:R∩S={t│t
R
t
S},t是元組變量其結(jié)果關(guān)系仍為n目關(guān)系,由既屬于R又屬于S的元組組成。關(guān)系的交可以用差來表示,即
R∩S=R-(R-S
)(一)傳統(tǒng)的集合運(yùn)算4.廣義笛卡兒積(ExtendedCartesianProduct)兩個分別為n目和m目的關(guān)系R和S的廣義笛卡兒積是一個(n+m)列的元組的集合。元組的前n列是關(guān)系R的一個元組,后m列是關(guān)系S的一個元組。若R有k1個元組,S有k2個元組,則關(guān)系R和關(guān)系S的廣義笛卡兒積有kl×k2個元組。記作:R×S={│tr
R
ts
S}例如,關(guān)系R、S見下表(a)、(b)所示(一)傳統(tǒng)的集合運(yùn)算(c)R∪SABCa1b2c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2(d)R∩S(f)RXS(e)R-SR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b1c1專門的關(guān)系運(yùn)算包括選擇、投影、連接、除等。1.選擇(Selection)選擇又稱為限制(Restriction),它是在關(guān)系R中選擇滿足給定條件的諸元組,記作:σF(R)={t|t
R
F(t)='真'}其中,F(xiàn)表示選擇條件,它是一個邏輯表達(dá)式,取邏輯值為“真”或“假”。邏輯表達(dá)式F的基本形式為:X1θY1[ΦX2θY2…]【例1.4】查詢數(shù)學(xué)系學(xué)生的信息。σsdept='數(shù)學(xué)系'(Student)【例1.5】查詢年齡小于20歲的學(xué)生信息。σsage<20(Student)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算。(二)專門的關(guān)系運(yùn)算設(shè)有一個學(xué)生-課程數(shù)據(jù)庫,它包括以下內(nèi)容。其關(guān)系模式如下。Student(sno,sname,ssex,sage,sdept)Course(cno,cname)Score(sno,cno,degree)snosnamessexsagesdept000101李晨男18信息系000102王博女19數(shù)學(xué)系010101劉思思女18信息系010102王國美女20物理系020101范偉男19數(shù)學(xué)系cnocnamesnocnodegreeC1數(shù)學(xué)000101C190C2英語000101C287C3計算機(jī)000101C372C4制圖010101C185010101C242020101C370studentcoursescore(二)專門的關(guān)系運(yùn)算2.投影(Projection)關(guān)系R上的投影是從R中選擇出若干屬性列組成新的關(guān)系,記作:πA(R)={t[A]|t
R}其中,A為R中的屬性列。投影操作是從列的角度進(jìn)行的運(yùn)算。投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因?yàn)槿∠四承傩粤泻?,就可能出現(xiàn)重復(fù)元組,關(guān)系操作將自動取消相同的元組。【例1.6】查詢學(xué)生的學(xué)號和姓名。πsno,sname(Student)【例1.7】查詢學(xué)生關(guān)系Student中都有哪些系,即查詢學(xué)生關(guān)系Student在所在系屬性上的投影。πsdept(Student)(二)專門的關(guān)系運(yùn)算3.連接(Join)連接也稱為θ連接,它是從兩個關(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)系θ的元組。連接運(yùn)算中有兩種最為重要也最為常用的連接:等值連接自然連接(二)專門的關(guān)系運(yùn)算ABCBEa1b15b13a1b26b27a2b38b310a2b412b32b52AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310(一般連接)(二)專門的關(guān)系運(yùn)算等值連接θ為“=”的連接運(yùn)算稱為等值連接,它是從關(guān)系R與S的笛卡兒積中選取A、B屬性值相等的那些元組,等值連接為:自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,即若R和S具有相同的屬性組B,則自然連接可記作:(二)專門的關(guān)系運(yùn)算(二)專門的關(guān)系運(yùn)算ABCBEa1b15b13a1b26b27a2b38b310a2b412b32b52(等值連接)AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32R∞S(自然連接)ABCEa1b153a1b267a2B3810a2B382(二)專門的關(guān)系運(yùn)算關(guān)系代數(shù)操作舉例(強(qiáng)化訓(xùn)練)設(shè)學(xué)生-課程數(shù)據(jù)庫中有3個關(guān)系。學(xué)生關(guān)系:S(Sno,Sname,Ssex,Sage)課程關(guān)系:C(Cno,Cname,Teacher)學(xué)習(xí)關(guān)系:SC(Sno,Cno,Degree)(1)查詢學(xué)習(xí)課程號為C3號課程的學(xué)生學(xué)號和成績。πSno,Degree(σCno='C3'(SC))(2)查詢學(xué)習(xí)課程號為C4課程的學(xué)生學(xué)號和姓名。πSno,Sname(σCno='C4'(S∞SC))(3)查詢學(xué)習(xí)課程名為maths的學(xué)生學(xué)號和姓名。πSno,Sname(σCname='maths'(S∞SC∞C))(二)專門的關(guān)系運(yùn)算關(guān)系代數(shù)操作舉例(強(qiáng)化訓(xùn)練)設(shè)學(xué)生-課程數(shù)據(jù)庫中有3個關(guān)系。學(xué)生關(guān)系:S(Sno,Sname,Ssex,Sage)課程關(guān)系:C(Cno,Cname,Teacher)學(xué)習(xí)關(guān)系:SC(Sno,Cno,Degree)(4)查詢學(xué)習(xí)課程號為C1或C3課程的學(xué)生學(xué)號。πSno(σCno='C1'∨Cno='C3'(SC))(5)查詢不學(xué)習(xí)課程號為C2的學(xué)生的姓名和年齡。πSname,Sage(S)-πSname,Sage(σCno='C2''(S∞SC))任務(wù)1-5明確數(shù)據(jù)庫系統(tǒng)的組成和結(jié)構(gòu)【任務(wù)分析】設(shè)計人員現(xiàn)在的任務(wù)是要明確數(shù)據(jù)模型怎樣在計算機(jī)上實(shí)現(xiàn),同時要理解與之相關(guān)的基本概念。【課堂任務(wù)】如何在計算機(jī)上實(shí)現(xiàn)對數(shù)據(jù)的管理,本節(jié)的任務(wù)是明確數(shù)據(jù)在計算機(jī)上的存在形式。數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)1、數(shù)據(jù)庫(一)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫(DataBase,DB)是長期存放在計算機(jī)內(nèi)、有組織的、可共享的相關(guān)數(shù)據(jù)的集合,它將數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性、可被各類用戶共享等特點(diǎn)。2、數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制,它是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理系統(tǒng)一般由計算機(jī)軟件公司提供,目前比較流行的DBMS有Oracle、Access、SQLServer、MySQL、PostgreSQL等。(一)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫管理系統(tǒng)的主要功能(1)數(shù)據(jù)定義功能。DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用戶通過它可以方便地對數(shù)據(jù)庫中的數(shù)據(jù)對象進(jìn)行定義。(2)數(shù)據(jù)操縱功能。DBMS還提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶可以使用DML操縱數(shù)據(jù)實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。(3)數(shù)據(jù)庫的運(yùn)行管理。數(shù)據(jù)庫在創(chuàng)建、運(yùn)用和維護(hù)時由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。(4)數(shù)據(jù)庫的創(chuàng)建和維護(hù)功能。數(shù)據(jù)庫的創(chuàng)建和維護(hù)功能包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)功能,數(shù)據(jù)庫的組織功能和性能監(jiān)視、分析功能等。這些功能通常是由一些實(shí)用程序完成的。3、數(shù)據(jù)庫應(yīng)用系統(tǒng)(一)數(shù)據(jù)庫相關(guān)概念凡使用數(shù)據(jù)庫技術(shù)管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)(DataBaseApplicationSystem)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的應(yīng)用非常廣泛,它可以用于事務(wù)管理、計算機(jī)輔助設(shè)計、計算機(jī)圖形分析和處理及人工智能等系統(tǒng)中。4、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),它由計算機(jī)硬件、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、數(shù)據(jù)庫應(yīng)用系統(tǒng)、數(shù)據(jù)庫用戶構(gòu)成。(一)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫用戶包括數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計人員及應(yīng)用程序開發(fā)人員和終端用戶。數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)是高級用戶,他的任務(wù)是對使用中的數(shù)據(jù)庫進(jìn)行整體維護(hù)和改進(jìn),負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行,他是數(shù)據(jù)庫系統(tǒng)的專職管理和維護(hù)人員。系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,要和用戶及DBA結(jié)合,確定系統(tǒng)的硬件軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計;數(shù)據(jù)庫設(shè)計人員負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設(shè)計;應(yīng)用程序開發(fā)人員負(fù)責(zé)設(shè)計和編寫應(yīng)用程序的程序模塊,并進(jìn)行調(diào)試和安裝。終端用戶是數(shù)據(jù)庫的使用者,主要是使用數(shù)據(jù),并對數(shù)據(jù)進(jìn)行增加、刪除、修改、查詢、統(tǒng)計等操作,方式有兩種,使用系統(tǒng)提供的操作命令或程序開發(fā)人員提供的應(yīng)用程序。(一)數(shù)據(jù)庫相關(guān)概念數(shù)據(jù)庫系統(tǒng)的各組成部分的層次關(guān)系如下圖所示。數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級模式和兩級映像,如下圖所示。(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫的三級模式結(jié)構(gòu)是數(shù)據(jù)3個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS去處理,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機(jī)中的表示和存儲,這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。三級結(jié)構(gòu)之間差別往往很大,為了實(shí)現(xiàn)這3個抽象級別的聯(lián)系和轉(zhuǎn)換,DBMS在三級結(jié)構(gòu)之間提供了兩級映像(Mapping):外模式/模式映像,模式/內(nèi)模式映像。正是這兩級映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)1、模式(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)模式(Schema)也稱概念模式(ConceptualSchema)或邏輯模式,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也不涉及具體的應(yīng)用程序及所使用的應(yīng)用開發(fā)工具和高級程序設(shè)計語言。模式實(shí)際上是數(shù)據(jù)庫數(shù)據(jù)在概念級上的視圖,一個數(shù)據(jù)庫只有一個模式。定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu),例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名稱、類型、取值范圍等,而且還要定義數(shù)據(jù)項(xiàng)之間的聯(lián)系,定義不同記錄之間的聯(lián)系,以及定義與數(shù)據(jù)有關(guān)的完整性、安全性等要求。數(shù)據(jù)庫管理系統(tǒng)提供模式描述語言(SchemaDataDefinitionLanguage,模式DDL)來定義模式。2、外模式(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)外模式(ExternalSchema)也稱子模式(Subschema)或用戶模式,它是對數(shù)據(jù)庫用戶(包括程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,即個別用戶涉及的數(shù)據(jù)的邏輯結(jié)構(gòu)。外模式通常是模式的子集,一個數(shù)據(jù)庫可以有多個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有效措施,每個用戶只能看見或訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。數(shù)據(jù)庫管理系統(tǒng)提供外模式描述語言(外模式DDL)來定義外模式。3、內(nèi)模式(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)內(nèi)模式(InternalSchema)也稱存儲模式(StorageSchema)或物理模式,一個數(shù)據(jù)庫只有一個內(nèi)模式。內(nèi)模式是對數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,記錄的存儲方式是順序存儲、按照B樹結(jié)構(gòu)存儲還是按hash方法存儲;索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲,是否加密;數(shù)據(jù)的存儲記錄結(jié)構(gòu)有何規(guī)定等。內(nèi)模式的設(shè)計目標(biāo)是將系統(tǒng)的模式(全局邏輯結(jié)構(gòu))組織成最優(yōu)的物理模式,以提高數(shù)據(jù)的存取效率,改善系統(tǒng)的性能指標(biāo)。數(shù)據(jù)庫管理系統(tǒng)提供內(nèi)模式描述語言(內(nèi)模式DDL)來定義外模式。4、外模式/模式映像(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),對應(yīng)于同一個模式可以有任意多個外模式。對于每個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系。這些映像定義通常包含在各自外模式的描述中。數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的。該映像定義通常包含在模式描述中。5、模式/內(nèi)模式映像6、兩級數(shù)據(jù)獨(dú)立性(二)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)獨(dú)立性(DataIndependence)是指應(yīng)用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。(1)邏輯數(shù)據(jù)獨(dú)立性。當(dāng)模式改變時(如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式映像作相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,因而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱邏輯數(shù)據(jù)獨(dú)立性。(2)物理數(shù)據(jù)獨(dú)立性。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(如選用了另一種存儲結(jié)構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,可以保證模式保持不變,因而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱物理數(shù)據(jù)獨(dú)立性。任務(wù)1-6了解數(shù)據(jù)管理技術(shù)的發(fā)展歷程【任務(wù)分析】應(yīng)用計算機(jī)進(jìn)行數(shù)據(jù)處理之前,首先要把大量的信息以數(shù)據(jù)的形式存放在存儲器中。存儲器的容量、存儲速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。數(shù)據(jù)管理技術(shù)的發(fā)展與計算機(jī)硬件(主要是外部存儲器)、系統(tǒng)軟件及計算機(jī)應(yīng)用的范圍有著密切的聯(lián)系。設(shè)計人員要了解數(shù)據(jù)管理技術(shù)的發(fā)展歷程,加強(qiáng)對數(shù)據(jù)庫相關(guān)概念的理解?!菊n堂任務(wù)】了解數(shù)據(jù)管理技術(shù)的發(fā)展歷程,加強(qiáng)對數(shù)據(jù)庫相關(guān)概念的理解。人工管理文件系統(tǒng)數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)數(shù)據(jù)倉庫數(shù)據(jù)挖掘云計算與大數(shù)據(jù)(一)人工管理階段20世紀(jì)50年代前期,計算機(jī)主要用于科學(xué)計算,數(shù)據(jù)處理都是通過手工方式進(jìn)行的。當(dāng)時的計算機(jī)上沒有專門管理數(shù)據(jù)的軟件,也沒有像磁盤這樣可以隨機(jī)存取的外部存儲設(shè)備。數(shù)據(jù)由計算或處理它的程序自行攜帶,數(shù)據(jù)和應(yīng)用程序一一對應(yīng)。因此,這一時期計算機(jī)數(shù)據(jù)管理的特點(diǎn)是:數(shù)據(jù)的獨(dú)立性差,數(shù)據(jù)不能被長期保存,數(shù)據(jù)的冗余度大等。人工管理階段應(yīng)用程序與數(shù)據(jù)之間的關(guān)系如下圖所示:(二)文件系統(tǒng)階段20世紀(jì)50年代后期至60年代中后期,磁盤成為計算機(jī)的主要外存儲器。在軟件方面,出現(xiàn)了高級語言和操作系統(tǒng)。在此階段,數(shù)據(jù)以文件的形式進(jìn)行組織,并能長期保留在外存儲器上,用戶能對數(shù)據(jù)文件進(jìn)行查詢、修改、插入和刪除等操作。程序與數(shù)據(jù)有了一定的獨(dú)立性,程序和數(shù)據(jù)分開存儲,然而依舊存在數(shù)據(jù)的冗余度大及數(shù)據(jù)的不一致性等缺點(diǎn)。文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的關(guān)系如下圖所示:(三)數(shù)據(jù)庫系統(tǒng)階段20世紀(jì)60年代后期,計算機(jī)的硬件和軟件都有了進(jìn)一步的發(fā)展,信息量的爆炸式膨脹帶來了數(shù)據(jù)量的急劇增長,為了解決日益增長的數(shù)據(jù)量帶來的數(shù)據(jù)管理上的嚴(yán)重問題,數(shù)據(jù)庫技術(shù)逐漸發(fā)展和成熟起來。文件系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的關(guān)系如下圖所示:數(shù)據(jù)庫技術(shù)使數(shù)據(jù)有了統(tǒng)一的結(jié)構(gòu),對所有的數(shù)據(jù)進(jìn)行統(tǒng)一、集中、獨(dú)立的管理,以實(shí)現(xiàn)數(shù)據(jù)的共享,保證數(shù)據(jù)的完整和安全,提高了數(shù)據(jù)管理效率。在應(yīng)用程序和數(shù)據(jù)庫之間有數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)。數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)的處理方式與文件系統(tǒng)不同,它把所有應(yīng)用程序中使用的數(shù)據(jù)匯集在一起,并以記錄為單位存儲起來,便于應(yīng)用程序使用。(四)分布式數(shù)據(jù)庫系統(tǒng)隨著地理上分散的用戶對數(shù)據(jù)共享的要求日益增強(qiáng),以及計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,在傳統(tǒng)的集中式數(shù)據(jù)庫系統(tǒng)基礎(chǔ)上產(chǎn)生和發(fā)展了分布式數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)(DistributedDataBaseSystem,簡稱為DDBS)并不是簡單地把集中式數(shù)據(jù)庫安裝在不同場地,用網(wǎng)絡(luò)連接起來以便實(shí)現(xiàn)(這是分散的數(shù)據(jù)庫系統(tǒng)),而是具有自己的性質(zhì)和特征。集中式數(shù)據(jù)庫系統(tǒng)中的許多概念和技術(shù),如數(shù)據(jù)獨(dú)立性的概念,數(shù)據(jù)共享和減少冗余的控制策略,并發(fā)控制和事務(wù)恢復(fù)的概念及實(shí)現(xiàn)技術(shù)等,在分布式數(shù)據(jù)庫中有了不同的、更加豐富的內(nèi)容。分布式數(shù)據(jù)庫系統(tǒng)(DDBS)包含分布式數(shù)據(jù)庫管理系統(tǒng)(DDBMS)和分布式數(shù)據(jù)庫(DDB)。在分布式數(shù)據(jù)庫系統(tǒng)中,一個應(yīng)用程序可以對數(shù)據(jù)庫進(jìn)行透明操作,數(shù)據(jù)庫中的數(shù)據(jù)分別在不同的局部數(shù)據(jù)庫中存儲、由不同的DBMS進(jìn)行管理、在不同的機(jī)器上運(yùn)行、由不同的操作系統(tǒng)支持、被不同的通信網(wǎng)絡(luò)連接在一起。(四)分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫應(yīng)具有以下特點(diǎn):(1)數(shù)據(jù)的物理分布性。(2)數(shù)據(jù)的邏輯整體性。(3)數(shù)據(jù)的分布獨(dú)立性(也稱分布透明性)。(4)場地自治和協(xié)調(diào)。(5)數(shù)據(jù)的冗余及冗余透明性。(五)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(ObjectOrientedDataBaseSystem,簡稱OODBS)是面向?qū)ο蟮某绦蛟O(shè)計技術(shù)與數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的主要特點(diǎn)是具有面向?qū)ο蠹夹g(shù)的封裝性和繼承性,提高了軟件的可重用性。對象數(shù)據(jù)模型有以下特點(diǎn)。(1)使用對象數(shù)據(jù)模型將客觀世界按語義組織成由各個相互關(guān)聯(lián)的對象單元組成的復(fù)雜系統(tǒng)。對象可以定義為對象的屬性和對象的行為描述,對象間的關(guān)系分為直接和間接關(guān)系。(2)語義上相似的對象被組織成類,類是對象的集合,對象只是類的一個實(shí)例,通過創(chuàng)建類的實(shí)例實(shí)現(xiàn)對象的訪問和操作。(3)對象數(shù)據(jù)模型具有“封裝”、“繼承”、“多態(tài)”等基本概念。(4)方法實(shí)現(xiàn)類似于關(guān)系數(shù)據(jù)庫中的存儲過程,但存儲過程并不和特定對象相關(guān)聯(lián),方法實(shí)現(xiàn)是類的一部分。(5)實(shí)際應(yīng)用中,面向?qū)ο髷?shù)據(jù)庫可以實(shí)現(xiàn)一些帶有復(fù)雜數(shù)據(jù)描述的應(yīng)用系統(tǒng),如時態(tài)和空間事務(wù)、多媒體數(shù)據(jù)管理等。(六)數(shù)據(jù)倉庫數(shù)據(jù)庫技術(shù)經(jīng)過幾十年的發(fā)展和廣泛應(yīng)用,以及社會各行各業(yè)大量信息和數(shù)據(jù)的多年積累,使數(shù)據(jù)在不斷膨脹。從數(shù)據(jù)海洋中提取、檢索出有用的信息——能夠支持決策的信息,以便對企業(yè)的管理決策提供支持成為數(shù)據(jù)庫的發(fā)展趨勢。因此,數(shù)據(jù)倉庫技術(shù),包括數(shù)據(jù)挖掘技術(shù)成為數(shù)據(jù)庫技術(shù)發(fā)展的熱門。隨著C/S技術(shù)的成熟和并行數(shù)據(jù)庫的發(fā)展,信息處理技術(shù)的發(fā)展趨勢是從大量的事務(wù)型數(shù)據(jù)庫中抽取數(shù)據(jù),然后將其清理、轉(zhuǎn)換為新的存儲格式,即為決策目標(biāo)把數(shù)據(jù)聚合在一種特殊的格式中。隨著該過程的發(fā)展和不斷完善,這種支持決策的、特殊的數(shù)據(jù)存儲即稱為數(shù)據(jù)倉庫(DataWarehouse,DW)。(六)數(shù)據(jù)倉庫數(shù)據(jù)倉庫之父比爾·恩門(BillInmon)在1991年出版的“BuildingtheDataWarehouse”(《建立數(shù)據(jù)倉庫》)中對數(shù)據(jù)倉庫的定義是:數(shù)據(jù)倉庫是面向主題的、集成的、隨時間變化的、非易失性數(shù)據(jù)的集合,用于支持管理層的決策。數(shù)據(jù)倉庫的重要特性:面向主題性,數(shù)據(jù)集成性,數(shù)據(jù)的時變性,數(shù)據(jù)庫的非易失性,數(shù)據(jù)的集合性和支持決策作用。數(shù)據(jù)倉庫包含了大量的歷史數(shù)據(jù),經(jīng)集成后進(jìn)入數(shù)據(jù)倉庫的數(shù)據(jù)是極少更新的。數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)時限為5~10年,主要用于進(jìn)行時間趨勢分析。數(shù)據(jù)倉庫的數(shù)據(jù)量很大,一般為10GB左右,它是一般數(shù)據(jù)庫(100MB)數(shù)據(jù)量的100倍,大型數(shù)據(jù)倉庫可達(dá)到TB級。(七)數(shù)據(jù)挖掘1、數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(Datamining),又譯為資料探勘、數(shù)據(jù)采礦。它是數(shù)據(jù)庫知識發(fā)現(xiàn)(Knowledge-DiscoveryinDatabases,簡稱為KDD)中的一個步驟。數(shù)據(jù)挖掘一般是指從大量數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程。數(shù)據(jù)挖掘通常與計算機(jī)科學(xué)有關(guān),并通過統(tǒng)計、在線分析處理、情報檢索、機(jī)器學(xué)習(xí)、專家系統(tǒng)(依靠過去的經(jīng)驗(yàn)法則)和模式識別等諸多方法來實(shí)現(xiàn)上述目標(biāo)。(七)數(shù)據(jù)挖掘2、數(shù)據(jù)挖掘的常用方法利用數(shù)據(jù)挖掘進(jìn)行數(shù)據(jù)分析常用的方法主要有分類、回歸分析、聚類、關(guān)聯(lián)規(guī)則、特征、變化和偏差分析、Web頁挖掘等,它們分別從不同的角度對數(shù)據(jù)進(jìn)行挖掘。(八)云計算與大數(shù)據(jù)1、云計算云計算(cloudcomputing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。云計算是通過使計算分布在大量的分布式計算機(jī)上,而非本地計算機(jī)或遠(yuǎn)程服務(wù)器中,企業(yè)數(shù)據(jù)中心的運(yùn)行將與互聯(lián)網(wǎng)更相似。這使得企業(yè)能夠?qū)①Y源切換到需要的應(yīng)用上,根據(jù)需求訪問計算機(jī)和存儲系統(tǒng)。云計算具有超大規(guī)模、虛擬化、高可靠性、高通用性、高可擴(kuò)展性、安需服務(wù)、極其廉價和具有潛在危險性等特點(diǎn)。(八)云計算與大數(shù)據(jù)2、大數(shù)據(jù)大數(shù)據(jù)是指需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來適應(yīng)海量、高增長率和多樣化的信息資產(chǎn)。大數(shù)據(jù)技術(shù)的戰(zhàn)略意義不在于掌握龐大的數(shù)據(jù)信息,而在于對這些含有意義的數(shù)據(jù)進(jìn)行專業(yè)化處理。換言之,如果把大數(shù)據(jù)比作一種產(chǎn)業(yè),那么這種產(chǎn)業(yè)實(shí)現(xiàn)盈利的關(guān)鍵,在于提高對數(shù)據(jù)的“加工能力”,通過“加工”實(shí)現(xiàn)數(shù)據(jù)的“增值”。IBM提出的大數(shù)據(jù)的5V特點(diǎn)是Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實(shí)性)。(八)云計算與大數(shù)據(jù)3、云計算與大數(shù)據(jù)的關(guān)系從定義上看,云計算注重資源分配,是硬件資源的虛擬化;而大數(shù)據(jù)是海量數(shù)據(jù)的高效處理。大數(shù)據(jù)與云計算之間并非獨(dú)立概念,無論在資源的需求上還是在資源的再處理上,都需要二者共同運(yùn)用。從技術(shù)上看,大數(shù)據(jù)與云計算的關(guān)系就像一枚硬幣的正反面一樣密不可分。大數(shù)據(jù)必然無法用單臺的計算機(jī)進(jìn)行處理,必須采用分布式架構(gòu)。它的特色在于對海量數(shù)據(jù)進(jìn)行分布式數(shù)據(jù)挖掘。但它必須依托云計算的分布式處理、分布式數(shù)據(jù)庫和云存儲、虛擬化技術(shù)。(八)云計算與大數(shù)據(jù)3、云計算與大數(shù)據(jù)的關(guān)系云計算和大數(shù)據(jù)的共同點(diǎn)都是處理海量資源。云計算(cloudcomputing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。而大數(shù)據(jù)指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。云計算與大數(shù)據(jù)相輔相成。首先,云計算將計算資源作為服務(wù)支撐大數(shù)據(jù)的挖掘,而大數(shù)據(jù)的發(fā)展趨勢是對實(shí)時交互的海量數(shù)據(jù)查詢、分析提供了各自需要的價值信息。其次,大數(shù)據(jù)挖掘處理需要云計算作為平臺,而大數(shù)據(jù)涵蓋的價值和規(guī)律則能夠使云計算更好地與行業(yè)應(yīng)用結(jié)合并發(fā)揮更大的作用;大數(shù)據(jù)的信息隱私保護(hù)是云計算大數(shù)據(jù)快速發(fā)展和運(yùn)用的重要前提,而云計算與大數(shù)據(jù)相結(jié)合將可能成為人類認(rèn)識事物的新的工具。課堂總結(jié)本項(xiàng)目內(nèi)容主要帶領(lǐng)大家學(xué)習(xí)了數(shù)據(jù)庫的基本概念和基本原理,以及數(shù)據(jù)庫技術(shù)的發(fā)展進(jìn)程。要求大家加強(qiáng)復(fù)習(xí),增進(jìn)理解,重點(diǎn)掌握數(shù)據(jù)描述、數(shù)據(jù)模型及數(shù)據(jù)庫系統(tǒng)的組成與體系結(jié)構(gòu)。THANKS志存高遠(yuǎn)自強(qiáng)不息《MySQL數(shù)據(jù)庫原理及應(yīng)用》項(xiàng)目2設(shè)計學(xué)生信息管理數(shù)據(jù)庫學(xué)習(xí)目標(biāo):掌握數(shù)據(jù)庫設(shè)計的步驟和方法理解怎樣收集數(shù)據(jù)掌握建立E-R模型的方法掌握如何將E-R模型轉(zhuǎn)換為關(guān)系模式了解關(guān)系模式可能存在的問題及規(guī)范化任務(wù)2-1了解數(shù)據(jù)庫設(shè)計【任務(wù)分析】設(shè)計人員在進(jìn)行數(shù)據(jù)庫設(shè)計時,應(yīng)首先了解數(shù)據(jù)庫設(shè)計的基本步驟?!菊n堂任務(wù)】本節(jié)要了解數(shù)據(jù)庫設(shè)計的基本步驟及各個步驟的主要任務(wù)。任務(wù)2-1了解數(shù)據(jù)庫設(shè)計按照規(guī)范化設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)的全過程,將數(shù)據(jù)庫的設(shè)計分為以下6個設(shè)計階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫運(yùn)行和維護(hù)。任務(wù)2-1了解數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計步驟:任務(wù)2-1了解數(shù)據(jù)庫設(shè)計需求分析階段需求分析就是根據(jù)用戶的需求收集數(shù)據(jù),是設(shè)計數(shù)據(jù)庫的起點(diǎn)。需求分析的結(jié)果是否準(zhǔn)確反映用戶的實(shí)際需求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實(shí)用。概念設(shè)計階段概念設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶的需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的概念模型。邏輯設(shè)計階段將概念模型轉(zhuǎn)換成某個DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。任務(wù)2-1了解數(shù)據(jù)庫設(shè)計物理設(shè)計階段為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。數(shù)據(jù)庫實(shí)施階段設(shè)計人員運(yùn)用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果創(chuàng)建數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。數(shù)據(jù)庫運(yùn)行和維護(hù)階段對數(shù)據(jù)庫應(yīng)用系統(tǒng)正式投入運(yùn)行后,在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改。任務(wù)2-2需求分析【任務(wù)分析】設(shè)計人員在理解了數(shù)據(jù)庫的理論基礎(chǔ)后,現(xiàn)在開始進(jìn)行學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計的第1步,即將學(xué)生信息管理中的數(shù)據(jù)收集起來,那么收集的步驟及方法是什么?【課堂任務(wù)】本節(jié)要理解收集數(shù)據(jù)的步驟和方法。需求分析的任務(wù)及目標(biāo)需求分析的步驟及方法需求分析的任務(wù)(一)需求分析的任務(wù)及目標(biāo)需求分析的任務(wù)就是收集數(shù)據(jù),要盡可能多地收集關(guān)于數(shù)據(jù)庫要存儲的數(shù)據(jù)以及將來如何使用這些數(shù)據(jù)的信息,確保收集到數(shù)據(jù)庫需要存儲的全部信息??蓞⒖家韵聠栴}(1)有多少數(shù)據(jù),數(shù)據(jù)的來源在哪里,是否有已存在的數(shù)據(jù)資源?(2)必須保存哪些數(shù)據(jù),數(shù)據(jù)是字符、數(shù)字或日期型?(3)誰使用數(shù)據(jù),如何使用?(4)數(shù)據(jù)是否經(jīng)常修改,如何修改和什么時候修改?(5)某個數(shù)據(jù)是否依賴于另一個數(shù)據(jù)或被其他數(shù)據(jù)引用?(6)某個信息是否要唯一?(7)哪些數(shù)據(jù)是組織內(nèi)部的和哪些是外部數(shù)據(jù)?(8)哪些業(yè)務(wù)活動與數(shù)據(jù)有關(guān),數(shù)據(jù)如何支持業(yè)務(wù)活動?(9)數(shù)據(jù)訪問的頻度和增長的幅度如何?(10)誰可以訪問數(shù)據(jù),如何保護(hù)數(shù)據(jù)。(一)需求分析的任務(wù)及目標(biāo)調(diào)查用戶需求步驟:(1)調(diào)查組織機(jī)構(gòu)情況,為分析信息流程做準(zhǔn)備。(2)調(diào)查各部門的業(yè)務(wù)活動情況,這是調(diào)查的重點(diǎn)。(3)在熟悉了業(yè)務(wù)的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求,包括信息要求、處理要求、完全性與完整性要求,這是調(diào)查的又一個重點(diǎn)。(4)確定新系統(tǒng)的邊界。對前面調(diào)查的結(jié)果進(jìn)行初步分析,確定哪些功能由計算機(jī)完成或?qū)頊?zhǔn)備讓計算機(jī)完成,哪些活動由人工完成。由計算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。(二)需求分析的方法常用的調(diào)查方法:(1)跟班作業(yè)。通過親身參加業(yè)務(wù)工作來了解業(yè)務(wù)活動的情況。通過這種方法可以比較準(zhǔn)確地了解用戶的需求,但比較耗費(fèi)時間。(2)開調(diào)查會。通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求。座談時,參加者和用戶之間可以相互啟發(fā)。(3)請專人介紹。(4)詢問。對某些調(diào)查中的問題,可以找專人詢問。(5)問卷調(diào)查。設(shè)計調(diào)查表請用戶填寫。如果調(diào)查表設(shè)計得合理,這種方法是很有效的,也易于為用戶所接受。(6)查閱記錄。查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄。(二)需求分析的方法任務(wù)2-3概念結(jié)構(gòu)設(shè)計【任務(wù)分析】設(shè)計人員完成了數(shù)據(jù)庫設(shè)計的第一步,收集到了與學(xué)生信息管理系統(tǒng)相關(guān)的數(shù)據(jù),下一步的工作是將收集到的學(xué)生信息管理的數(shù)據(jù)進(jìn)行分析,找出它們之間的聯(lián)系,并用E-R圖來表示?!菊n堂任務(wù)】本節(jié)要理解E-R圖的設(shè)計方法。設(shè)計局部E-R模型設(shè)計全局E-R模型消除合并局部E-R圖存在的沖突概念結(jié)構(gòu)設(shè)計的方法(一)概念結(jié)構(gòu)設(shè)計的方法和步驟(1)自頂向下。首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。(2)自底向上。首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)。(3)逐步擴(kuò)張。首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)。(4)混合策略。將自頂向下和自底向上的方法相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為框架自底向上設(shè)計各局部概念結(jié)構(gòu)。最常采用的是混合策略,即自頂向下進(jìn)行需求分析,然后自底向上設(shè)計概念結(jié)構(gòu)。(一)概念結(jié)構(gòu)設(shè)計的方法和步驟概念結(jié)構(gòu)設(shè)計的步驟(一)概念結(jié)構(gòu)設(shè)計的方法和步驟(1)進(jìn)行數(shù)據(jù)抽象,設(shè)計局部E-R模型。(2)集成各局部E-R模型,形成全局E-R模型。設(shè)計方法(二)局部E-R模型設(shè)計設(shè)計局部E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中的每一部分對應(yīng)一個局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點(diǎn),設(shè)計分E-R圖。將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,確定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識實(shí)體的碼、實(shí)體之間的聯(lián)系及其類型(1∶1,1∶n,m∶n)?!纠?.1】設(shè)有如下實(shí)體。
學(xué)生:學(xué)號、系名稱、姓名、性別、年齡、選修課程名、平均成績
課程:編號、課程名、開課單位、任課教師號
教師:教師號、姓名、性別、職稱、講授課程編號
單位:單位名稱、電話、教師號、教師姓名(二)局部E-R模型設(shè)計上述實(shí)體中存在如下聯(lián)系。①一個學(xué)生可選修多門課程,一門課程可為多個學(xué)生選修。②一個教師可講授多門課程,一門課程可為多個教師講授。③一個系可有多個教師,一個教師只能屬于一個系。(二)局部E-R模型設(shè)計學(xué)生選課局部E-R圖教師授課局部E-R圖(三)全局E-R模型設(shè)計局部E-R的集成方法多元集成法,也叫做一次集成,一次性將多個局部E-R圖合并為一個全局E-R圖。二元集成法,也叫做逐步集成,首先集成兩個重要的局部E-R圖,然后用累加的方法逐步將一個新的E-R圖集成進(jìn)來。(三)全局E-R模型設(shè)計局部E-R圖集成步驟合并分E-R圖,消除各種沖突,生成初步E-R圖。消除不必要的冗余,生成基本E-R圖。(三)全局E-R模型設(shè)計沖突由于各個局部應(yīng)用所面向的問題不同,并且通常由不同的設(shè)計人員進(jìn)行局部E-R圖設(shè)計,因此,各局部E-R圖不可避免地會有許多不一致的地方,通常把這種現(xiàn)象稱為沖突。屬性沖突:又分為屬性值域沖突和屬性的取值單位沖突。命名沖突:又分為同名異義或異名同義。結(jié)構(gòu)沖突(三)全局E-R模型設(shè)計優(yōu)化后的基本E-R圖任務(wù)2-4邏輯結(jié)構(gòu)設(shè)計【任務(wù)分析】設(shè)計人員用E-R方法表示了數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系。這種表示方法不能直接在計算機(jī)上實(shí)現(xiàn),為了創(chuàng)建用戶所要求的數(shù)據(jù)庫,需要把概念模型轉(zhuǎn)換為某個具體的DBMS所支持的數(shù)據(jù)模型。設(shè)計人員使用關(guān)系數(shù)據(jù)庫存儲學(xué)生信息管理的數(shù)據(jù),因此按照轉(zhuǎn)換規(guī)則將E-R模型轉(zhuǎn)換成關(guān)系模式(表),并將關(guān)系模式進(jìn)行規(guī)范化,保證關(guān)系模式達(dá)到3NF。【課堂任務(wù)】本節(jié)要掌握將E-R模型轉(zhuǎn)換為關(guān)系模式的原則及關(guān)系模式的規(guī)范化。E-R模型轉(zhuǎn)換為關(guān)系模式的原則關(guān)系模式的規(guī)范化非規(guī)范化關(guān)系模式存在的問題第一范式、第二范式、第三范式一般的邏輯設(shè)計分為以下3步任務(wù)2-4邏輯結(jié)構(gòu)設(shè)計(1)初始關(guān)系模式設(shè)計。(2)關(guān)系模式規(guī)范化。(3)模式的評價與改進(jìn)。轉(zhuǎn)換規(guī)則:(一)初始關(guān)系模式設(shè)計規(guī)則2.1實(shí)體類型的轉(zhuǎn)換:將每個實(shí)體類型轉(zhuǎn)換成一個關(guān)系模式,實(shí)體的屬性即為關(guān)系的屬性,實(shí)體的標(biāo)識符即為關(guān)系模式的碼。規(guī)則2.2聯(lián)系類型的轉(zhuǎn)換:根據(jù)不同的聯(lián)系類型做不同的處理。規(guī)則2.2.1若實(shí)體間聯(lián)系是1∶1,可以在兩個實(shí)體類型轉(zhuǎn)換成的兩個關(guān)系模式中任意一個關(guān)系模式中加入另一個關(guān)系模式的碼和聯(lián)系類型的屬性。規(guī)則2.2.2若實(shí)體間的聯(lián)系是1∶n,則在n端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類型的碼和聯(lián)系類型的屬性。規(guī)則2.2.3若實(shí)體間聯(lián)系是m∶n,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實(shí)體類型的碼加上聯(lián)系類型的屬性,而碼為兩端實(shí)體碼的組合。規(guī)則2.2.43個或3個以上的實(shí)體間的一個多元聯(lián)系,不管聯(lián)系類型是何種方法,總是將多元聯(lián)系類型轉(zhuǎn)換成一個關(guān)系模式,其屬性為與該聯(lián)系相連的各實(shí)體的碼及聯(lián)系本身的屬性,其碼為各實(shí)體碼的組合。規(guī)則2.2.5具有相同碼的關(guān)系可合并。【例2.2】將下圖所示的含有1∶1聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計或者:方案1:“負(fù)責(zé)”與“職工”兩關(guān)系模式合并。職工(職工號,姓名,年齡,產(chǎn)品號)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格)方案2:“負(fù)責(zé)”與“產(chǎn)品”兩關(guān)系模式合并。職工(職工號,姓名,年齡)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格,職工號)【例2.3】將下圖所示的含有1∶n聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計倉庫(倉庫號,地點(diǎn),面積)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格,倉庫號,數(shù)量)【例2.4】將下圖所示的含有1∶n聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計職工(職工號,姓名,年齡,領(lǐng)導(dǎo)工號)【例2.5】將下圖所示的含有m∶n聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計商店(店號,店名,店址,店經(jīng)理)商品(商品號,商品名,單價,產(chǎn)地)經(jīng)營(店號,商品號,月銷售量)【例2.6】將下圖所示的含有m∶n聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計零件(零件號,名稱,價格)組裝(組裝件號,零件號,數(shù)量)【例2.7】將下圖所示的多實(shí)體集間含有m∶n聯(lián)系的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)零件(零件號,零件名,單價)產(chǎn)品(產(chǎn)品號,產(chǎn)品名,型號)供應(yīng)(供應(yīng)商號,零件號,產(chǎn)品號,數(shù)量)【例2.8】將下圖所示的的E-R圖根據(jù)上述規(guī)則轉(zhuǎn)換為關(guān)系模式。(一)初始關(guān)系模式設(shè)計系(系名,電話)教師(教師號,姓名,性別,職稱,系名)學(xué)生(學(xué)號,姓名,性別,年齡,系名)課程(課程號,課程名)選修(學(xué)號,課程號,成績)講授(教師號,課程號)(二)關(guān)系模式的規(guī)范化1、存在的問題及解決方法例如,要設(shè)計一個教學(xué)管理數(shù)據(jù)庫,希望從該數(shù)據(jù)庫中得到學(xué)生學(xué)號、姓名、年齡、性別、系別、系主任姓名、學(xué)生學(xué)習(xí)的課程名和該課程的成績信息。若將此信息要求設(shè)計為一個關(guān)系,則關(guān)系模式如下。S(sno,sname,sage,ssex,sdept,mname,cname,score)該關(guān)系存在以下問題:①數(shù)據(jù)冗余太大。②插入異常。③刪除異常。④更新異常。解決辦法:分解S(sno,sname,sage,ssex,sdept)SC(sno,cname,score)DEPT(sdept,mname)(二)關(guān)系模式的規(guī)范化2、函數(shù)依賴函數(shù)依賴的基本概念:(1)規(guī)范化。指用形式更為簡潔、結(jié)構(gòu)更加規(guī)范的關(guān)系模式取代原有關(guān)系模式的過程。(2)關(guān)系模式對數(shù)據(jù)的要求。關(guān)系模式必須滿足一定的完整性約束條件以達(dá)到現(xiàn)實(shí)世界對數(shù)據(jù)的要求。主要包括以下兩個方面。
①對屬性取值范圍的限定。
②屬性值間的相互聯(lián)系(主要體現(xiàn)在值的相等與否),這種聯(lián)系稱為數(shù)據(jù)依賴。(3)屬性間的聯(lián)系。(4)數(shù)據(jù)依賴。數(shù)據(jù)依賴是指通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系,是現(xiàn)實(shí)世界屬性間相互聯(lián)系的抽象,是數(shù)據(jù)內(nèi)在的性質(zhì)。(二)關(guān)系模式的規(guī)范化屬性間的聯(lián)系可分為3類。①一對一聯(lián)系(1∶1)。以學(xué)生關(guān)系模式S(sno,sname,sage,ssex,sdept,mname,cname,score)為例,如果學(xué)生無重名,則屬性sno和sname之間是一對一聯(lián)系,一個學(xué)號唯一地決定一個姓名,一個姓名也唯一地決定一個學(xué)號。
設(shè)X、Y是關(guān)系R的兩個屬性(集)。如果對于X中的任一具體值,Y中
至多有一值與之對應(yīng);反之亦然,則稱X、Y兩屬性間是一對一聯(lián)系。②一對多聯(lián)系(1∶n)。在學(xué)生關(guān)系模式S中,屬性sdept和sno之間是一對多聯(lián)系,即一個系對應(yīng)多個學(xué)號(如計算機(jī)系可對應(yīng)20060101、20060102等),但一個學(xué)號卻只對應(yīng)一個系(如20060101只能對應(yīng)計算機(jī)系)。同樣,mname和sno、sno和score之間都是一對多聯(lián)系。
設(shè)X、Y是關(guān)系R的兩個屬性(集)。如果對于X中的任一具體值,Y中至多有一個值與之對應(yīng),而Y中的一個值卻可以和X中的n個值(n≥0)相對應(yīng),則稱Y對X是一對多聯(lián)系。③多對多聯(lián)系(m∶n)。在學(xué)生關(guān)系模式S中,cname和score兩屬性間是多對多聯(lián)系。一門課程對應(yīng)多個成績,而一個成績也可以在多門課程中出現(xiàn)。sno和cname、sno和score之間也是多對多聯(lián)系。(二)關(guān)系模式的規(guī)范化函數(shù)依賴定義1:設(shè)有關(guān)系模式R(U
),X和Y均為U={A1,A2,…,An}的子集,r是R的任一具體關(guān)系,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等(也就是說,如果對于r中的任意兩個元組t和s,只要有t[X]=s[X
],就有t[Y
]=s[Y
]),則稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X,記作X→Y,其中X叫做決定因素(Determinant),Y叫做依賴因素(Dependent)。(二)關(guān)系模式的規(guī)范化相關(guān)術(shù)語與記號①X→Y,但Y
X,則稱X→Y是非平凡的函數(shù)依賴。②X→Y,但Y
X,則稱X→Y是平凡的函數(shù)依賴。因?yàn)槠椒驳暮瘮?shù)依賴總是成立的,所以若不特別聲明,本書后面提到的函數(shù)依賴,都不包含平凡的函數(shù)依賴。③若X→Y,Y→X,則稱X
Y。④若Y不函數(shù)依賴于X,則記作X
Y。(二)關(guān)系模式的規(guī)范化定義2:在關(guān)系模式R(U
)中,如果X→Y,并且對于X的任何一個真子集X
,都有X
Y,則稱Y對X完全函數(shù)依賴,記作X
Y。若X→Y,如果存在X的某一真子集X
,使X
→Y,則稱Y對X部分函數(shù)依賴,記作X
Y。定義3:在關(guān)系模式R(U
)中,X、Y、Z是R的3個不同的屬性或?qū)傩越M,如果X→Y(Y不是X的子集),且Y
X,Y→Z,則稱Z對X傳遞函數(shù)依賴,記作X
Z。加上條件Y
X,是因?yàn)槿绻鸜→X,則X
Y,實(shí)際上是X→Z,是直接函數(shù)依賴而不是傳遞函數(shù)依賴。fp傳遞(二)關(guān)系模式的規(guī)范化屬性間聯(lián)系決定函數(shù)依賴①1∶1聯(lián)系:如果兩屬性集X、Y之間是1∶1聯(lián)系,則存在函數(shù)依賴X
Y。②1∶n聯(lián)系:如果兩屬性集X、Y之間是n∶1聯(lián)系,則存在函數(shù)依賴X→Y,即多方?jīng)Q定一方。③m∶n聯(lián)系:如果兩屬性集X、Y之間是m∶n聯(lián)系,則不存在函數(shù)依賴。(二)關(guān)系模式的規(guī)范化3、范式利用規(guī)范化理論,使關(guān)系模式的函數(shù)依賴集滿足特定的要求,滿足特定要求的關(guān)系模式稱為范式。關(guān)系按其規(guī)范化程度從低到高可分為5級范式(NormalForm),分別稱為1NF、2NF、3NF(BCNF)、4NF、5NF。規(guī)范化程度較高者必是較低者的子集,即5NF4NFBCNF3NF2NF1NF(二)關(guān)系模式的規(guī)范化第一范式定義4:如果關(guān)系模式R中不包含多值屬性(每個屬性必須是不可分的數(shù)據(jù)項(xiàng)),則R滿足第一范式(FirstNormalForm),記作R∈1NF。第二范式第三范式定義5:如果關(guān)系模式R(U,F(xiàn))∈1NF,且R中的每個非主屬性完全函數(shù)依賴于R的某個候選碼,則R滿足第二范式(SecondNormalForm),記作R∈
2NF。定義6:如果關(guān)系模式R(U,F(xiàn))∈2NF,且每個非主屬性都不傳遞函數(shù)依賴于任何候選碼,則R滿足第三范式(ThirdNormalForm),記作R∈3NF。任務(wù)2-5數(shù)據(jù)庫的物理設(shè)計【任務(wù)分析】設(shè)計人員得到了規(guī)范化的關(guān)系模式后,下一步的工作是考慮數(shù)據(jù)庫在存儲設(shè)備的存儲方法及優(yōu)化策略,如采取什么存儲結(jié)構(gòu)、存取方法和存放位置,以提高數(shù)據(jù)存取的效率和空間的利用率。設(shè)計人員進(jìn)行數(shù)據(jù)庫的物理設(shè)計時,要確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括確定關(guān)系、索引、聚簇、日志、備份等的存儲安排和存儲結(jié)構(gòu);確定系統(tǒng)配置等。【課堂任務(wù)】本節(jié)要理解物理設(shè)計的目的及內(nèi)容。存取方法的選擇存儲結(jié)構(gòu)的確定任務(wù)2-5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理結(jié)構(gòu)指數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法,它依賴于給定的計算機(jī)系統(tǒng)。數(shù)據(jù)庫的物理設(shè)計是指為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。數(shù)據(jù)庫的物理設(shè)計可分為兩步。(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存儲結(jié)構(gòu)和存取方法。(2)對物理結(jié)構(gòu)進(jìn)行評價,評價的重點(diǎn)是時間和空間效率。1、索引存取方法選擇(一)關(guān)系模式存取方法選擇2、聚簇存取方法的選擇所謂索引存取方法就是根據(jù)應(yīng)用要求確定對關(guān)系的哪些屬性列來建立索引、哪些屬性列建立組合索引、哪些索引要設(shè)計為唯一索引等。為了提高某個屬性或?qū)傩越M的查詢速度,把這個或這些屬性上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇。3、HASH存取方法選擇(一)關(guān)系模式存取方法選擇如果一個關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中,并且滿足下列兩個條件之一時,則此關(guān)系可以選擇HASH存取方法。(1)如果一個關(guān)系的大小可預(yù)知,并且不變。(2)如果關(guān)系的大小動態(tài)改變,并且所選用的DBMS提供了動態(tài)HASH存取方法。主要任務(wù)(二)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的物理結(jié)構(gòu)主要是指確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括確定關(guān)系、索引、聚簇、日志、備份等的存儲安排和存儲結(jié)構(gòu);確定系統(tǒng)配置等。[任務(wù)分析]任務(wù)2-6數(shù)據(jù)庫的實(shí)施、運(yùn)行和維護(hù)完成數(shù)據(jù)庫的物理設(shè)計之后,設(shè)計人員就要用關(guān)系數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言和其他實(shí)用程序?qū)?shù)據(jù)庫邏輯設(shè)計和物理設(shè)計的結(jié)果嚴(yán)格地描述出來,成為DBMS可以接受的代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式,然后就可以組織數(shù)據(jù)入庫了,這就是數(shù)據(jù)庫實(shí)施階段。主要任務(wù)(一)數(shù)據(jù)庫的實(shí)施數(shù)據(jù)載入應(yīng)用程序的編碼和調(diào)試數(shù)據(jù)庫試運(yùn)行在數(shù)據(jù)庫運(yùn)行階段,對數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要是由DBA完成的,它包括以下幾個方面。(二)數(shù)據(jù)庫的運(yùn)行與維護(hù)數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)數(shù)據(jù)庫的安全性、完整性控制數(shù)據(jù)庫性能的監(jiān)督、分析和改進(jìn)數(shù)據(jù)庫的重組織與重構(gòu)造課堂總結(jié)本項(xiàng)目內(nèi)容主要帶領(lǐng)大家學(xué)習(xí)了數(shù)據(jù)庫設(shè)計的步驟及各個階段的主要任務(wù),要求大家結(jié)合練習(xí)內(nèi)容進(jìn)行強(qiáng)化復(fù)習(xí),靈活掌握設(shè)計步驟及各個階段的工作任務(wù)及實(shí)現(xiàn)方法。THANKS志存高遠(yuǎn)自強(qiáng)不息《MySQL數(shù)據(jù)庫原理及應(yīng)用》項(xiàng)目3
安裝與啟動MySQL學(xué)習(xí)目標(biāo):了解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東事業(yè)單位統(tǒng)考濱州市惠民縣招聘43人備考考試試題及答案解析
- 2026江蘇大學(xué)附屬醫(yī)院招聘編外人員56人(一)筆試模擬試題及答案解析
- 2026渭南合陽縣農(nóng)村合作經(jīng)濟(jì)工作站招聘(2人)備考考試試題及答案解析
- 月老牽線活動策劃方案(3篇)
- 挖溝拆除施工方案(3篇)
- 親子義賣活動方案策劃(3篇)
- 肯德基衛(wèi)生管理制度表模板(3篇)
- 2026匯才(福建泉州市)企業(yè)管理有限公司派駐晉江市永和鎮(zhèn)招聘5人備考考試試題及答案解析
- 2026山東事業(yè)單位統(tǒng)考威?;鹁娓呒夹g(shù)產(chǎn)業(yè)開發(fā)區(qū)鎮(zhèn)(街道)招聘初級綜合類崗位9人筆試模擬試題及答案解析
- 2026年河北張家口赤城縣農(nóng)業(yè)農(nóng)村局公開招聘特聘農(nóng)技員4名考試備考題庫及答案解析
- 大唐集團(tuán)機(jī)考行測題庫
- 車輛日常安全檢查課件
- 民航安全法律法規(guī)課件
- 山東省濟(jì)寧市2026屆第一學(xué)期高三質(zhì)量檢測期末考試濟(jì)寧一模英語(含答案)
- 光伏電站巡檢培訓(xùn)課件
- 年末節(jié)前安全教育培訓(xùn)
- GB/T 93-2025緊固件彈簧墊圈標(biāo)準(zhǔn)型
- 建設(shè)工程測繪驗(yàn)線標(biāo)準(zhǔn)報告模板
- 統(tǒng)編版九年級上冊語文期末復(fù)習(xí):全冊重點(diǎn)考點(diǎn)手冊
- 2025年11月15日江西省市直遴選筆試真題及解析(B卷)
- GB/T 18711-2025選煤用磁鐵礦粉試驗(yàn)方法
評論
0/150
提交評論