《數(shù)據(jù)庫及基礎》項目1 理解數(shù)據(jù)庫_第1頁
《數(shù)據(jù)庫及基礎》項目1 理解數(shù)據(jù)庫_第2頁
《數(shù)據(jù)庫及基礎》項目1 理解數(shù)據(jù)庫_第3頁
《數(shù)據(jù)庫及基礎》項目1 理解數(shù)據(jù)庫_第4頁
《數(shù)據(jù)庫及基礎》項目1 理解數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩113頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

理解數(shù)據(jù)庫任務1-1數(shù)據(jù)處理目錄Contents任務1-2數(shù)據(jù)描述任務1-3數(shù)據(jù)模型任務1-4關系代數(shù)任務1-5數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-6數(shù)據(jù)管理技術的發(fā)展歷程任務1-1數(shù)據(jù)處理PART1(一)信息與數(shù)據(jù)(二)數(shù)據(jù)處理任務assignments數(shù)據(jù)處理任務1-1任務1-1數(shù)據(jù)處理(一)信息與數(shù)據(jù)1.信息計算機技術的發(fā)展使人類社會步入信息社會,同時也將人類社會淹沒在信息的海洋中。那么什么是信息?信息(Information)就是對各種事物的存在方式、運動狀態(tài)和相互聯(lián)系特征的一種表達和陳述,是自然界、人類社會和人類思維活動普遍存在的一切物質和事物的屬性,它存在于人們的周圍。數(shù)據(jù)處理任務1-1任務1-1數(shù)據(jù)處理2.數(shù)據(jù)數(shù)據(jù)(Data)是用來記錄信息的可識別的符號,是信息的具體表現(xiàn)形式。數(shù)據(jù)用型和值來表示,數(shù)據(jù)的型是指數(shù)據(jù)內(nèi)容存儲在媒體上的具體形式;值是指所描述的客觀事物的具體特性??梢杂枚喾N不同的數(shù)據(jù)形式表示同一信息,信息不隨數(shù)據(jù)形式的不同而改變。例如,一個人的身高可以表示為“1.80”或“1米8”,其中“1.80”和“1米8”是值,但這兩個值的型是不一樣的,一個用數(shù)字來描述,另一個用字符來描述。數(shù)據(jù)不僅包括數(shù)字、文字形式,而且包括圖形、圖像、聲音、動畫等多媒體形式。數(shù)據(jù)處理任務1-1任務1-1數(shù)據(jù)處理(二)數(shù)據(jù)處理數(shù)據(jù)處理是指將數(shù)據(jù)轉換成信息的過程,也稱信息處理。數(shù)據(jù)處理的內(nèi)容主要包括數(shù)據(jù)的收集、組織、整理、存儲、加工、維護、查詢和傳播等一系列活動。數(shù)據(jù)處理的目的是從大量的數(shù)據(jù)中,根據(jù)數(shù)據(jù)自身的規(guī)律和它們之間固有的聯(lián)系,通過分析、歸納、推理等科學手段,提取出有效的信息資源。例如,學生的各門成績?yōu)樵紨?shù)據(jù),可以經(jīng)過計算提取出平均成績、總成績等信息,其中的計算過程就是數(shù)據(jù)處理。數(shù)據(jù)處理任務1-1任務1-1數(shù)據(jù)處理數(shù)據(jù)處理的工作分為以下3個方面。(1)數(shù)據(jù)管理。它的主要任務是收集信息,將信息用數(shù)據(jù)表示并按類別組織保存。數(shù)據(jù)管理的目的是快速、準確地提供必要的可以被使用和處理的數(shù)據(jù)。(2)數(shù)據(jù)加工。它的主要任務是對數(shù)據(jù)進行變換、抽取和運算,得到更加有用的數(shù)據(jù),以指導或控制人的行為或事務的變化趨勢。(3)數(shù)據(jù)傳播。通過數(shù)據(jù)傳播,信息在空間或時間上以各種形式傳遞。在數(shù)據(jù)傳播過程中,數(shù)據(jù)的結構、性質和內(nèi)容不發(fā)生改變。數(shù)據(jù)傳播會使更多的人得到信息,并且更加理解信息的意義,從而使信息的作用充分發(fā)揮出來。PART2任務1-2數(shù)據(jù)描述(一)現(xiàn)實世界(二)信息世界(三)數(shù)據(jù)世界任務assignments數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理(一)現(xiàn)實世界現(xiàn)實世界是存在于人們頭腦之外的客觀世界?,F(xiàn)實世界存在各種事物,事物與事物之間存在聯(lián)系,這種聯(lián)系是由事物本身的性質決定的。例如,學校中有教師、學生、課程,教師為學生授課,學生選修課程并取得成績;圖書館中有圖書、管理員和讀者,讀者借閱圖書,管理員對圖書和讀者進行管理等。數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理(二)信息世界信息世界是現(xiàn)實世界在人們頭腦中的反映,人們把它用文字或符號記載下來。在信息世界中,有以下與數(shù)據(jù)庫技術相關的術語。1.實體客觀存在并且可以相互區(qū)別的事物稱為實體(Entity)。實體可以是具體的事物,也可以是抽象的事件。例如,一個學生、一本圖書等屬于實際事物;教師的授課、借閱圖書、比賽等活動是比較抽象的事件。數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理2.屬性描述實體的特性稱為屬性(Attribute)。一個實體可以用若干個屬性來描述,例如,學生實體由學號、姓名、性別、出生日期等若干個屬性組成。實體的屬性用型(Type)和值(Value)表示,例如,學生是一個實體,學生的姓名、學號和性別等是屬性的型,也稱屬性名;而具體的學生姓名如“張三”“李四”,具體的學生學號如“2002010101”,描述性別的“男”“女”等是屬性的值。3.碼唯一標識實體的屬性或屬性的組合稱為碼(Key)。例如,學生的學號是學生實體的碼。數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理4.域屬性的取值范圍稱為該屬性的域(Domain)。例如,學號的域為10位整數(shù),姓名的域為字符串集合,年齡的域為小于28的整數(shù),性別的域為男、女。5.實體型具有相同屬性的實體必然具有共同的特征和性質,用實體名及其屬性名的集合來抽象和刻畫同類實體,稱為實體型(EntityType)。例如,學生(學號,姓名,性別,出生日期,系)就是一個實體型。6.實體集同類實體的集合稱為實體集(EntitySet)。例如,全體學生、一批圖書等。數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理7.聯(lián)系在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系(Relationship)的,這些聯(lián)系在信息世界中反映為實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。兩個實體型之間的聯(lián)系可以分為3類。(1)一對一聯(lián)系(One-to-OneRelationship)。如果對于實體集A中的每一個實體,實體集B中至多存在一個實體與之聯(lián)系;反之亦然,則稱實體集A與實體集B之間存在一對一聯(lián)系,記作1∶1。數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理(2)一對多聯(lián)系(One-to-ManyRelationship)。如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中至多只存在一個實體與之聯(lián)系,則稱實體集A與實體集B之間存在一對多聯(lián)系,記作1∶n。(3)多對多聯(lián)系(Many-to-ManyRelationship)。如果對于實體集A中的每一個實體,實體集B中存在多個實體與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中也存在多個實體與之聯(lián)系,則稱實體集A與實體集B之間存在多對多聯(lián)系,記作m∶n。數(shù)據(jù)描述任務1-2(a)1∶1聯(lián)系

(b)1∶n聯(lián)系

(c)m∶n聯(lián)系圖1.1兩個實體集之間的3類聯(lián)系數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理例如,對于課程、教師和參考書3個實體型,如果一門課程可以由若干位教師講授,使用若干本參考書,且每一位教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間是一對多聯(lián)系,如圖1.2所示。在兩個以上的多實體集之間,當一個實體集與其他實體集之間均存在多對多聯(lián)系,而其他實體集之間沒有聯(lián)系時,這種聯(lián)系稱為多實體集間的多對多聯(lián)系。例如,有3個實體集:供應商、項目、零件。一個供應商可以給多個項目供應多種零件,每個項目可以使用多個供應商供應的零件,每種零件可由不同的供應商供給,可以看出供應商、項目、零件三者之間存在多對多聯(lián)系,如圖1.2所示。數(shù)據(jù)描述任務1-2圖1.2多實體集之間的聯(lián)系數(shù)據(jù)描述任務1-2任務1-1數(shù)據(jù)處理同一實體集內(nèi)部的各實體也可以存在一對一、一對多、多對多聯(lián)系。例如,職工實體集內(nèi)部具有領導與被領導的聯(lián)系,即某一職工(干部)“領導”若干名職工,而一個職工僅被另外一個職工直接領導,因此這是一對多聯(lián)系,如圖1.3所示。圖1.3同一實體集內(nèi)的一對多聯(lián)系任務1-3數(shù)據(jù)模型PART3(一)數(shù)據(jù)模型的分類(二)概念模型(三)數(shù)據(jù)模型的要素和種類(四)關系模型(五)關系的完整性任務assignments數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(一)數(shù)據(jù)模型的分類目前廣泛使用的數(shù)據(jù)模型有兩種:概念數(shù)據(jù)模型和結構數(shù)據(jù)模型。1.概念數(shù)據(jù)模型概念數(shù)據(jù)模型簡稱概念模型,它表示實體類型及實體間的聯(lián)系,是獨立于計算機系統(tǒng)的模型。概念模型用于建立信息世界的數(shù)據(jù)模型,強調其語義表達功能,要求概念簡單、清晰,易于用戶理解,它是現(xiàn)實世界的第1層抽象,是用戶和數(shù)據(jù)庫設計人員之間進行交流的工具。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理2.結構數(shù)據(jù)模型結構數(shù)據(jù)模型簡稱數(shù)據(jù)模型,它直接面向數(shù)據(jù)庫的邏輯結構,是現(xiàn)實世界的第2層抽象。數(shù)據(jù)模型涉及計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),如層次模型、網(wǎng)狀模型、關系模型等。數(shù)據(jù)模型有嚴格的形式化定義,以便于在計算機系統(tǒng)中實現(xiàn)。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(二)概念模型概念模型是對信息世界的建模,它應當能夠全面、準確地描述信息世界,是信息世界的基本概念。概念模型的表示方法很多,其中最為著名和使用最為廣泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。E-R模型是直接從現(xiàn)實世界中抽象出實體類型及實體間的聯(lián)系,是對現(xiàn)實世界的一種抽象,它的主要成分是實體、聯(lián)系和屬性。E-R模型的圖形表示稱為E-R圖。設計E-R圖的方法稱為E-R方法。利用E-R模型進行數(shù)據(jù)庫的概念設計可以分為3步:首先設計局部E-R模型,然后把各個局部E-R模型綜合成一個全局E-R模型,最后對全局E-R模型進行優(yōu)化,得到最終的E-R模型。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理E-R圖通用的表示方式如下。(1)用矩形框表示實體型,在框內(nèi)寫上實體名。(2)用橢圓形框表示實體的屬性,并用無向邊把實體和屬性連接起來。(3)用菱形框表示實體間的聯(lián)系,在菱形框內(nèi)寫上聯(lián)系名,用無向邊分別把菱形框與有關實體連接起來,在無向邊旁注明聯(lián)系的類型。如果實體間的聯(lián)系也有屬性,則把屬性和菱形框也用無向邊連接起來。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理圖1.5班級與學生的E-R圖

圖1.6課程與學生的E-R圖數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理E-R模型有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。E-R方法是抽象和描述現(xiàn)實世界的有力工具。用E-R圖表示的概念模型與數(shù)據(jù)模型相互獨立,是各種數(shù)據(jù)模型的共同基礎,因而比數(shù)據(jù)模型更一般、更抽象、更接近現(xiàn)實世界。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(三)數(shù)據(jù)模型的要素和種類數(shù)據(jù)模型是嚴格定義的一組概念的集合,這些概念精確地描述了系統(tǒng)的靜態(tài)特征(數(shù)據(jù)結構)、動態(tài)特征(數(shù)據(jù)操作)和數(shù)據(jù)約束條件,這是數(shù)據(jù)模型的三要素。1.數(shù)據(jù)模型的三要素(1)數(shù)據(jù)結構:數(shù)據(jù)結構用于描述系統(tǒng)的靜態(tài)特征,是所研究對象類型的集合,這些對象是數(shù)據(jù)庫的組成部分,包括兩個方面。①數(shù)據(jù)本身:數(shù)據(jù)的類型、內(nèi)容和性質等。例如,關系模型中的域、屬性、關系等。②數(shù)據(jù)之間的聯(lián)系:數(shù)據(jù)之間是如何相互關聯(lián)的。例如,關系模型中的主碼、外碼聯(lián)系等。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(2)數(shù)據(jù)操作:數(shù)據(jù)操作是對數(shù)據(jù)庫中的各種對象(型)的實例(值)允許執(zhí)行的操作集合。數(shù)據(jù)操作包括操作對象及有關的操作規(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ù)的正確、有效和相容。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理2.常見的數(shù)據(jù)模型數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的一個關鍵概念,數(shù)據(jù)模型不同,相應的數(shù)據(jù)庫系統(tǒng)就完全不同,任何一個數(shù)據(jù)庫管理系統(tǒng)都是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型分為4種:層次模型、網(wǎng)狀模型、關系模型和關系對象模型。層次模型用“樹”結構來表示數(shù)據(jù)之間的關系,網(wǎng)狀模型用“圖”結構來表示數(shù)據(jù)之間的關系,關系模型用“表”結構(或稱關系)來表示數(shù)據(jù)之間的關系。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理在層次模型、網(wǎng)狀模型、關系模型3種數(shù)據(jù)模型中,關系模型結構簡單、數(shù)據(jù)之間的關系容易實現(xiàn),因此關系模型是目前廣泛使用的數(shù)據(jù)模型,并且關系數(shù)據(jù)庫也是目前流行的數(shù)據(jù)庫。關系對象模型一方面對數(shù)據(jù)結構方面的關系結構進行改進,如Oracle8就提供了關系對象模型的數(shù)據(jù)結構描述;另一方面,人們對數(shù)據(jù)操作引入了對象操作的概念和手段,今天的數(shù)據(jù)庫管理系統(tǒng)基本上都提供了這方面的功能。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(四)關系模型關系模型是目前最重要的一種數(shù)據(jù)模型,關系數(shù)據(jù)庫系統(tǒng)采用關系模型作為數(shù)據(jù)的組織方式。關系模型是在20世紀70年代初由美國IBM公司的E.F.Codd提出的,為數(shù)據(jù)庫技術的發(fā)展奠定了理論基礎。由于E.F.Codd的杰出工作,他于1981年獲得國際計算機學會(AssocitionforComputingMachinery,ACM)圖靈獎。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理1.關系模型的數(shù)據(jù)結構關系模型與以往的模型不同,它是建立在嚴格的數(shù)據(jù)概念基礎上的。關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。下面分別介紹關系模型的相關術語。(1)關系(Relation)。一個關系就是一張二維表,見表1.1。學

號姓

名年

齡性

別所在系2007X1201李小雙18女信息系2007D1204張小玉20女電子系2007J1206王大鵬19男計算機系…………………………數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(2)元組(Tuple)。元組也稱為記錄,關系表中的每行對應一個元組,組成元組的元素稱為分量。數(shù)據(jù)庫中的一個實體或實體之間的一個聯(lián)系均使用一個元組來表示。例如,表1.1中有多個元組,分別對應多個學生,(2007X1201,李小雙,18,女,信息系)是一個元組,由5個分量組成。(3)屬性(Attribute)。表中的一列即為一個屬性,給每個屬性取一個名稱為屬性名,表1.1中有5個屬性(學號,姓名,年齡,性別,所在系)。屬性具有型和值兩層含義:屬性的型是指屬性名和屬性值域;屬性的值是指屬性具體的取值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(4)域(Domain)。域為屬性的取值范圍,如表1.1中的“性別”屬性的域是男、女,大學生的“年齡”屬性域可以設置為10~30歲等。(5)分量(Component)。分量是元組中的一個屬性值,如表1.1中的“李小雙”“男”等都是分量。(6)候選碼(Candidatekey)。若關系中的某一屬性或屬性組的值能唯一標識一個元組,且從這個屬性組中去除任何一個屬性,都不再具有這樣的性質,則稱該屬性或屬性組為候選碼,候選碼簡稱碼。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(7)主碼(PrimaryKey)。若一個關系中有多個候選碼,則選定其中一個為主碼。例如,表1.1中的候選碼之一是“學號”屬性;假設表1.1中沒有重名的學生,則學生的“姓名”也是該關系的候選碼;在該關系中,應當選擇“學號”屬性作為主碼。(8)全碼(All-Key)。在最簡單的情況下,候選碼只包含一個屬性;在最極端的情況下,關系模式的所有屬性是這個關系模式的候選碼,稱為全碼。全碼是候選碼的特例。例如,設有以下關系。學生選課(學號,課程)其中的“學號”和“課程”相互獨立,屬性間不存在依賴關系,它的碼就是全碼。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(9)主屬性(PrimeAttribute)和非主屬性(Non-primeAttribute)。在關系中,候選碼中的屬性稱為主屬性,不包含在任何候選碼中的屬性稱為非主屬性。(10)關系模式(RelationSchema)。關系的描述稱為關系模式,它可以形式化地表示為R(U,D,Dom,F(xiàn))。其中,R為關系名;U為組成該關系的屬性的集合;D為屬性組U中的屬性來自的域;Dom為屬性向域的映像集合;F為屬性間數(shù)據(jù)依賴關系的集合。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理關系模式通常可以簡記為R(U)或R(A1,A2,…,An)。其中R為關系名,A1,A2,…,An為屬性名。而域名及屬性向域的映像通常直接稱為屬性的類型及長度。例如,學生學籍表的關系模式可以表示為:學生學籍表(學號,姓名,年齡,性別,所在系)。關系是關系模式在某一時刻的狀態(tài)或內(nèi)容。關系模式是靜態(tài)的、穩(wěn)定的,而關系是動態(tài)的、隨時間不斷變化的,因為關系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理2.關系的性質(1)同一屬性的數(shù)據(jù)具有同質性,即每一列中的分量是同一類型的數(shù)據(jù),它們來自同一個域。(2)同一關系的屬性名具有不可重復性,即同一關系中不同屬性的數(shù)據(jù)可出自同一個域,但不同的屬性要給予不同的屬性名。(3)關系中列的位置具有順序無關性,即列的次序可以任意交換、重新組織。(4)關系具有元組無冗余性,即關系中的任意兩個元組不能完全相同。(5)關系中元組的位置具有順序無關性,即元組的順序可以任意交換。(6)關系中每個分量必須取原子值,即每個分量都必須是不可分的數(shù)據(jù)項。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理(五)關系的完整性關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型允許定義3類完整性約束:實體完整性、參照完整性和用戶自定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,稱為兩個不變性,應該由關系系統(tǒng)自動支持;用戶自定義的完整性是應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理1.實體完整性(EntityIntegrity)規(guī)則1.1實體完整性規(guī)則若屬性A是基本關系R的主屬性,則屬性A不能取空值。例如,學生關系“學生(學號,姓名,性別,專業(yè)號,年齡)”中,“學號”為主碼,則“學號”不能取空值。實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是指主碼不能取空值。例如,學生選課關系“選修(學號,課程號,成績)”中,“學號”、“課程號”為主碼,則“學號”和“課程號”兩個屬性都不能取空值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理實體完整性規(guī)則的說明如下。(1)實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應信息世界的一個實體集,例如,學生關系對應學生的集合。(2)信息世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。(3)關系模型中以主碼作為唯一性標識。(4)主屬性不能取空值。所謂空值,就是“不知道”或“不確定”的值,如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性規(guī)則。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理2.參照完整性(ReferentialIntegrity)在信息世界中,實體之間往往存在某種聯(lián)系,在關系模型中,實體及實體間的聯(lián)系都是用關系來描述的,這樣就自然存在關系與關系間的引用。先來看下面3個例子?!纠?.1】學生關系和專業(yè)關系表示如下,其中主碼用下畫線標識。學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)這兩個關系之間存在屬性的引用,即學生關系引用了專業(yè)關系的主碼“專業(yè)號”。顯然,學生關系中的“專業(yè)號”值必須是確實存在的專業(yè)的專業(yè)號,即專業(yè)關系中有該專業(yè)的記錄,也就是說,學生關系中的某個屬性的取值需要參照專業(yè)關系的屬性來取值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理【例1.2】學生、課程、學生與課程之間的多對多聯(lián)系“選修”可以用如下3個關系表示。學生(學號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學分)選修(學號,課程號,成績)這3個關系之間也存在屬性的引用,即選修關系引用了學生關系的主碼“學號”和課程關系的主碼“課程號”。同樣,選修關系中的“學號”值必須是確實存在的學生的學號,即學生關系中有該學生的記錄;選修關系中的“課程號”值也必須是確實存在的課程的課程號,即課程關系中有該課程的記錄。也就是說,選修關系中某些屬性的取值需要參照其他關系的屬性來取值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理【例1.3】在關系“學生(學號,姓名,性別,專業(yè)號,年齡,班長)”中,“學號”屬性是主碼,“班長”屬性表示該學生所在班級的班長的學號,它引用了本關系“學號”屬性,即“班長”必須是確實存在的學生的學號。設F是基本關系R的一個或一組屬性,但不是關系R的主碼。如果F與基本關系S的主碼Ks對應,則稱F是基本關系R的外碼(ForeignKey),并稱基本關系R為參照關系(ReferencingRelation),基本關系S為被參照關系(ReferencedRelation)或目標關系(TargetRelation)。關系R和關系S有可能是同一關系。顯然,被參照關系S的主碼Ks和參照關系R的外碼F必須定義在同一個(或一組)域中。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理參照完整性規(guī)則定義了外碼與主碼之間的引用規(guī)則。規(guī)則1.2參照完整性規(guī)則若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks對應(基本關系R和S有可能是同一關系),則R中的每個元組在F上的值必須為以下值之一。(1)取空值(F的每個屬性值均為空值)。(2)S中某個元組的主碼值。在例1.1中,學生關系中每個元組的“專業(yè)號”屬性只能取下面兩類值。(1)空值,表示尚未給該學生分配專業(yè)。(2)非空值,這時該值必須是專業(yè)關系中某個元組的“專業(yè)號”值,表示該學生不可能分配到一個不存在的專業(yè)中,即被參照關系“專業(yè)”中一定存在一個元組,它的主碼值等于該參照關系“學生”中的外碼值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理在例1.2中按照參照完整性規(guī)則,“學號”和“課程號”屬性也可以取兩類值:空值或被參照關系中已經(jīng)存在的值。但由于“學號”和“課程號”是選修關系中的主屬性,按照實體完整性規(guī)則,它們均不能取空值,所以選修關系中的“學號”和“課程號”屬性實際上只能取相應被參照關系中已經(jīng)存在的主碼值。在參照完整性規(guī)則中,關系R與關系S可以是同一個關系。在例1.3中,按照參照完整性規(guī)則,“班長”屬性可以取兩類值。(1)空值,表示該學生所在班級尚未選出班長。(2)非空值,該值必須是本關系中某個元組的學號值。數(shù)據(jù)模型任務1-3任務1-1數(shù)據(jù)處理3.用戶自定義的完整性(User-definedIntegrity)用戶自定義的完整性就是針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用涉及的數(shù)據(jù)必須滿足的語義要求。例如,某個屬性必須取唯一值、屬性值之間應滿足一定的函數(shù)關系、某屬性的取值范圍為0~100等。例如,性別只能取“男”或“女”;學生的成績必須在0~100分。PART4任務1-4關系代數(shù)(一)傳統(tǒng)的集合運算(二)專門的關系運算任務assignments關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)是一種抽象的查詢語言,是關系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它用關系的運算來表達查詢。運算對象、運算符、運算結果是運算的三大要素。關系代數(shù)的運算對象是關系,運算結果亦為關系。關系代數(shù)中使用的運算符包括4類:集合運算符、專門的關系運算符、比較運算符和邏輯運算符,見表1.4。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理運算符含義運算符含義集合運算符∪-∩×并差交廣義笛卡兒積比較運算符>≥<≤=≠大于大于等于小于小于等于等于不等于專門的關系運算符σπ∞÷選擇投影連接除邏輯運算符∧∨非與或

表1.4關系代數(shù)運算符關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)的運算按運算符的不同可分為傳統(tǒng)的集合運算和專門的關系運算兩類。其中,傳統(tǒng)的集合運算將關系看成元組的集合,其運算是從關系的“水平”方向即行的角度進行的,而專門的關系運算不僅涉及行,而且涉及列。比較運算符和邏輯運算符是用來輔助專門的關系運算進行操作的。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理(一)傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括并、交、差、廣義笛卡兒積4種運算。設關系R和關系S具有相同的目n(即兩個關系都具有n個屬性),且相應的屬性取自同一個域,則可以定義并、差、交、廣義笛卡兒積運算如下。1.并(Union)關系R與關系S的并記作:R∪S={t│t

R

t

S},t是元組變量其結果關系仍為n目關系,由屬于R或屬于S的元組組成。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理4.廣義笛卡兒積(ExtendedCartesianProduct)兩個分別為n目和m目的關系R和S的廣義笛卡兒積是一個(n+m)列的元組的集合。元組的前n列是關系R的一個元組,后m列是關系S的一個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的廣義笛卡兒積有kl×k2個元組。記作:例如,關系R、S見表1.5(a)、表1.5(b),則R∪S、R∩S、R-S、R×S分別見表1.5(c)~表1.5(f)。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理【例1.5】查詢年齡小于20歲的學生的信息。σsage<20(Student)或σ4<20(Student)結果見表1.8。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理2.投影(Projection)關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作:πA(R)={t[A]|t

R}其中A為R中的屬性列。投影操作是從列的角度進行的運算。投影之后不僅取消了原關系中的某些列,而且可能取消某些元組,因為取消某些屬性列后,可能出現(xiàn)重復元組,關系操作將自動取消相同的元組。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理【例1.6】查詢學生的學號和姓名。πsno,sname(Student)或π1,2(Student)結果見表1.9。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理【例1.7】查詢學生關系Student中都有哪些系,即查詢學生關系Student在所在系屬性上的投影。πsdept(Student)或π5(Student)結果見表1.10。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理3.連接(Join)連接也稱為θ連接,它是從兩個關系的笛卡兒積中選取屬性間滿足一定條件的元組,記作:

其中A和B分別為R和S上數(shù)目相等且可比的屬性組,θ是比較運算符。連接運算是從R和S的笛卡兒積R×S中選?。≧關系)A屬性組中的值與(S關系)B屬性組中的值滿足比較關系θ的元組。連接運算中有兩種最為重要也最為常用的連接,一種是等值連接,另一種是自然連接。 關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理(1)等值連接:θ為“=”的連接運算稱為等值連接,它是從關系R與S的笛卡兒積中選取A、B屬性值相等的那些元組,等值連接為:

(2)自然連接:是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,即若R和S具有相同的屬性組B,則自然連接可記作:

一般的連接操作是從行的角度進行運算的,但因為自然連接還需要取消重復列,所以自然連接是同時從行和列的角度進行運算的。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理【例1.8】設關系R、S分別見表1.11(a)和表1.11(b),一般連接C<E的結果見表1.11(c),等值連接R.B=S.B的結果見表1.11(d),自然連接的結果見表1.11(e)。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理4.除(Division)給定一個關系R(X,Z),X和Z為屬性組。定義t[X]=x時,x在R中的象集為:Zx={t

[Z]|t

R,t

[X]=x}它表示R中屬性組X上值為x的諸元組在Z上分量的集合。給定關系R(X,Y)和S(Y,Z),其中X、Y、Z可以為單個屬性或屬性組,關系R中的Y與關系S中的Y可以有不同的屬性名,但必須出自相同的域。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:

關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理【例1.9】設關系R、S分別見表1.12(a)、表1.12(b),R÷S的結果見表1.12(c)。在關系R中,A可以取4個值{a1,a2,a3,a4}。其中:a1的象集為{(b1,c2),(b2,c3),(b2,c1)}。關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理5.關系代數(shù)操作舉例(強化訓練)在關系代數(shù)中,關系代數(shù)運算經(jīng)過有限次復合后形成的式子稱為關系代數(shù)表達式。對關系數(shù)據(jù)庫中數(shù)據(jù)的查詢操作可以寫成一個關系代數(shù)表達式,或者說,寫成一個關系代數(shù)表達式就表示已經(jīng)完成了查詢操作。以下給出利用關系代數(shù)進行查詢的例子。設學生—課程數(shù)據(jù)庫中有3個關系。學生關系:S(Sno,Sname,Ssex,Sage)課程關系:C(Cno,Cname,Teacher)學習關系:SC(Sno,Cno,Degree)關系代數(shù)任務1-4任務1-1數(shù)據(jù)處理任務1-5數(shù)據(jù)庫系統(tǒng)的組成和結構PART5(一)數(shù)據(jù)庫相關概念(二)數(shù)據(jù)庫系統(tǒng)的體系結構任務assignments數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理(一)數(shù)據(jù)庫相關概念1.數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)是長期存放在計算機內(nèi)的、有組織的、可共享的相關數(shù)據(jù)的集合,它將數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性、可被各類用戶共享等特點。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理2.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是位于用戶與操作系統(tǒng)(OperatingSystem,OS)之間的一層數(shù)據(jù)管理軟件,它為用戶或應用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制,它是數(shù)據(jù)庫系統(tǒng)的核心。一般由計算機軟件公司提供,目前比較流行的DBMS有Oracle、Access、SQLServer、MySQL、PostgreSQL等。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理DBMS的主要功能包括以下幾個方面。(1)數(shù)據(jù)定義功能。DBMS提供數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用戶通過它可以方便地定義數(shù)據(jù)庫中的數(shù)據(jù)對象。(2)數(shù)據(jù)操縱功能。DBMS還提供數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用戶可以使用DML操縱數(shù)據(jù)實現(xiàn)對數(shù)據(jù)庫的基本操作,如查詢、插入、刪除和修改等。(3)數(shù)據(jù)庫的運行管理。數(shù)據(jù)庫在創(chuàng)建、運用和維護時,由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復。(4)數(shù)據(jù)庫的創(chuàng)建和維護功能。數(shù)據(jù)庫的創(chuàng)建和維護功能包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉換功能,數(shù)據(jù)庫的轉儲、恢復功能,數(shù)據(jù)庫的組織功能和性能監(jiān)視、分析功能等。這些功能通常是由一些實用程序完成的。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理3.數(shù)據(jù)庫應用系統(tǒng)凡是使用數(shù)據(jù)庫技術管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫應用系統(tǒng)(DataBaseApplicationSystem,DBAS)。數(shù)據(jù)庫應用系統(tǒng)的應用非常廣泛,它可以用于事務管理、計算機輔助設計、計算機圖形分析和處理及人工智能等系統(tǒng)中。4.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),它由計算機硬件、數(shù)據(jù)庫、DBMS(及其開發(fā)工具)、數(shù)據(jù)庫應用系統(tǒng)、數(shù)據(jù)庫用戶構成。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理數(shù)據(jù)庫用戶包括數(shù)據(jù)庫管理員、系統(tǒng)分析員、數(shù)據(jù)庫設計人員及應用程序開發(fā)人員和終端用戶。數(shù)據(jù)庫管理員(DataBaseAdministrator,DBA)是高級用戶,他的任務是對使用中的數(shù)據(jù)庫進行整體維護和改進,負責數(shù)據(jù)庫系統(tǒng)的正常運行,他是數(shù)據(jù)庫系統(tǒng)的專職管理和維護人員。系統(tǒng)分析員負責應用系統(tǒng)的需求分析和規(guī)范說明,要和用戶及DBA結合,確定系統(tǒng)的硬件、軟件配置,并參與數(shù)據(jù)庫系統(tǒng)的概要設計;數(shù)據(jù)庫設計人員負責數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設計;應用程序開發(fā)人員負責設計和編寫應用程序的程序模塊,并進行調試和安裝。終端用戶是數(shù)據(jù)庫的使用者,主要是使用數(shù)據(jù),并對數(shù)據(jù)進行增加、刪除、修改、查詢、統(tǒng)計等操作,方式有兩種,使用系統(tǒng)提供的操作命令或程序開發(fā)人員提供的應用程序。數(shù)據(jù)庫系統(tǒng)層次示意圖如圖1.7所示。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理圖1.7數(shù)據(jù)庫系統(tǒng)層次示意圖數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5(二)數(shù)據(jù)庫系統(tǒng)的體系結構數(shù)據(jù)庫系統(tǒng)的體系結構分為三級模式和兩級映像,如圖1.8所示。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理數(shù)據(jù)庫系統(tǒng)的三級模式包括模式、外模式和內(nèi)模式,它是數(shù)據(jù)的3個抽象級別,它把數(shù)據(jù)的具體組織留給DBMS處理,用戶只要抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示和存儲,從而減輕了用戶使用系統(tǒng)的負擔。三級模式之間差別往往很大,為了實現(xiàn)這3個抽象級別的聯(lián)系和轉換,DBMS在三級模式之間提供了兩級映像(Mapping):外模式/模式映像、模式/內(nèi)模式映像。正是這兩級映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理1.模式模式(Schema)也稱概念模式(ConceptualSchema)或邏輯模式,是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結構的中間層,既不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也不涉及具體的應用程序及使用的應用開發(fā)工具和高級程序設計語言。模式實際上是數(shù)據(jù)庫數(shù)據(jù)在概念級上的視圖,一個數(shù)據(jù)庫只有一個模式。模式通常以某種數(shù)據(jù)模型為基礎,綜合考慮了所有用戶的需求,并將這些需求有機地結合成一個邏輯整體。定義模式時,不僅要定義數(shù)據(jù)的邏輯結構,如數(shù)據(jù)記錄由哪些數(shù)據(jù)項構成,數(shù)據(jù)項的名稱、類型、取值范圍等,而且要定義數(shù)據(jù)項之間的聯(lián)系、不同記錄之間的聯(lián)系,以及與數(shù)據(jù)有關的完整性、安全性等要求。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理完整性包括數(shù)據(jù)的正確性、有效性和相容性。數(shù)據(jù)庫系統(tǒng)應提供有效的措施,以保證數(shù)據(jù)處于約束范圍內(nèi)。安全性主要指保密性。不是任何人都可以存取數(shù)據(jù)庫中的數(shù)據(jù),也不是每個合法用戶可以存取的數(shù)據(jù)范圍都相同,一般采用口令和密碼的方式對用戶進行驗證。DBMS提供模式DDL來定義模式。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理2.外模式外模式(ExternalSchema)也稱子模式(Subschema)或用戶模式,它是對數(shù)據(jù)庫用戶(包括程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,即個別用戶涉及的數(shù)據(jù)的邏輯結構。外模式通常是模式的子集,一個數(shù)據(jù)庫可以有多個外模式。外模式是根據(jù)用戶自己對數(shù)據(jù)的需要,從局部的角度進行設計,因此如果不同的用戶在應用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求等方面存在差異,則其外模式描述也不同。一方面,即使是模式中的同一數(shù)據(jù)在外模式中的結構、類型、長度和保密級別等也都可以不同。另一方面,同一外模式也可以為某一用戶的多個應用系統(tǒng)使用,但一個應用程序只能使用一個外模式。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理3.內(nèi)模式內(nèi)模式(InternalSchema)也稱存儲模式(StorageSchema)或物理模式,一個數(shù)據(jù)庫只有一個內(nèi)模式。內(nèi)模式是對數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,記錄的存儲方式是順序存儲、按照B樹結構存儲還是按hash方法存儲;索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲,是否加密;數(shù)據(jù)的存儲記錄結構有何規(guī)定等。內(nèi)模式的設計目標是將系統(tǒng)的模式(全局邏輯結構)組織成最優(yōu)的物理模式,以提高數(shù)據(jù)的存取效率,改善系統(tǒng)的性能指標。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理4.外模式/模式映像模式描述的是數(shù)據(jù)的全局邏輯結構,外模式描述的是數(shù)據(jù)的局部邏輯結構,同一個模式可以有任意多個外模式。對于每個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,它定義了該外模式與模式之間的對應關系。這些映像定義通常包含在各自外模式的描述中。5.模式/內(nèi)模式映像因為數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的。該映像定義通常包含在模式描述中。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理6.兩級數(shù)據(jù)獨立性數(shù)據(jù)獨立性(DataIndependence)是指應用程序和數(shù)據(jù)庫的數(shù)據(jù)結構之間相互獨立,不受影響。(1)邏輯數(shù)據(jù)獨立性。當模式改變(如增加新的關系、新的屬性,改變屬性的數(shù)據(jù)類型等)時,由數(shù)據(jù)庫管理員對各個外模式/模式映像做相應改變,可以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,因而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱邏輯數(shù)據(jù)獨立性。(2)物理數(shù)據(jù)獨立性。當數(shù)據(jù)庫的存儲結構改變了(如選用了另一種存儲結構),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像做相應改變,可以保證模式保持不變,因而應用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨立性,簡稱物理數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)的組成和結構任務1-5任務1-1數(shù)據(jù)處理特定的應用程序是在外模式描述的數(shù)據(jù)結構上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫的模式和存儲結構相獨立。不同的應用程序可以共用同一外模式。數(shù)據(jù)庫的兩級映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應用程序的穩(wěn)定性,除非應用需求本身發(fā)生變化,否則應用程序一般不需要修改。數(shù)據(jù)與程序之間的獨立性,使數(shù)據(jù)的定義和描述可以從應用程序中分離出去。另外,數(shù)據(jù)的存取由DBMS管理,用戶不必考慮存取路徑等細節(jié),簡化了應用程序的編寫,大大減少了應用程序的維護及修改工作。任務1-6數(shù)據(jù)管理技術的發(fā)展歷程PART6(一)人工管理階段(二)文件系統(tǒng)階段(三)數(shù)據(jù)庫系統(tǒng)階段(四)分布式數(shù)據(jù)庫系統(tǒng)(五)面向對象數(shù)據(jù)庫系統(tǒng)(六)數(shù)據(jù)倉庫(七)數(shù)據(jù)挖掘(八)云計算與大數(shù)據(jù)任務assignments數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(一)人工管理階段20世紀50年代前期,計算機主要用于科學計算,數(shù)據(jù)處理都是通過手工方式進行的。當時的計算機沒有專門管理數(shù)據(jù)的軟件,也沒有像磁盤這樣可以隨機存取的外部存儲設備。數(shù)據(jù)由計算或處理它的程序自行攜帶,數(shù)據(jù)和應用程序一一對應。因此,這一時期計算機數(shù)據(jù)管理的特點是:數(shù)據(jù)的獨立性差,數(shù)據(jù)不能被長期保存,數(shù)據(jù)的冗余度大等。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理人工管理階段應用程序與數(shù)據(jù)之間的關系如圖1.9所示。圖1.9人工管理階段應用程序與數(shù)據(jù)之間的關系數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(二)文件系統(tǒng)階段20世紀50年代后期至20世紀60年代中后期,磁盤成為計算機的主要外存儲器。在軟件方面,出現(xiàn)了高級語言和操作系統(tǒng)。在此階段,數(shù)據(jù)以文件的形式進行組織,并能長期保存在外存儲器上,用戶能對數(shù)據(jù)文件進行查詢、修改、插入和刪除等操作。程序與數(shù)據(jù)有了一定的獨立性,程序和數(shù)據(jù)分開存儲,然而依舊存在數(shù)據(jù)冗余度大及數(shù)據(jù)不一致等缺點。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理文件系統(tǒng)階段應用程序與數(shù)據(jù)之間的關系如圖1.10所示。。圖1.10文件系統(tǒng)階段應用程序與數(shù)據(jù)之間的關系數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(三)數(shù)據(jù)庫系統(tǒng)階段20世紀60年代后期,計算機的硬件和軟件都有了進一步的發(fā)展,信息量的爆炸式膨脹帶來了數(shù)據(jù)量的急劇增長,為了解決日益增長的數(shù)據(jù)量帶來的數(shù)據(jù)管理上的嚴重問題,數(shù)據(jù)庫技術逐漸發(fā)展和成熟起來。數(shù)據(jù)庫技術使數(shù)據(jù)有了統(tǒng)一的結構,對所有的數(shù)據(jù)進行統(tǒng)一、集中、獨立的管理,以實現(xiàn)數(shù)據(jù)共享,保證數(shù)據(jù)的完整和安全,提高了數(shù)據(jù)管理效率。在應用程序和數(shù)據(jù)庫之間有DBMS。DBMS對數(shù)據(jù)的處理方式與文件系統(tǒng)不同,它把所有應用程序使用的數(shù)據(jù)匯集在一起,并以記錄為單位存儲起來,便于應用程序使用。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理數(shù)據(jù)庫系統(tǒng)階段應用程序與數(shù)據(jù)之間的關系如圖1.11所示。圖1.11數(shù)據(jù)庫系統(tǒng)階段應用程序與數(shù)據(jù)之間的關系數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(四)分布式數(shù)據(jù)庫系統(tǒng)隨著地理上分散的用戶對數(shù)據(jù)共享的要求日益增強,以及計算機網(wǎng)絡技術的發(fā)展,在傳統(tǒng)的集中式數(shù)據(jù)庫系統(tǒng)基礎上產(chǎn)生和發(fā)展了分布式數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)(DistributedDataBaseSystem,DDBS)并不是簡單地把集中式數(shù)據(jù)庫安裝在不同場地,用網(wǎng)絡連接起來以便實現(xiàn)(這是分散的數(shù)據(jù)庫系統(tǒng)),而是具有自己的性質和特征。集中式數(shù)據(jù)庫系統(tǒng)中的許多概念和技術,如數(shù)據(jù)獨立性的概念、數(shù)據(jù)共享和減少冗余的控制策略、并發(fā)控制和事務恢復的概念及實現(xiàn)技術等,在分布式數(shù)據(jù)庫中有了不同的、更加豐富的內(nèi)容。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理DDBS包含分布式DDBMS和分布式數(shù)據(jù)庫(DistributedDataBase,DDB)。在DDMS中,一個應用程序可以對數(shù)據(jù)庫進行透明操作,數(shù)據(jù)庫中的數(shù)據(jù)分別在不同的局部數(shù)據(jù)庫中存儲、由不同的DBMS管理、在不同的機器上運行、由不同的操作系統(tǒng)支持、由不同的通信網(wǎng)絡連接在一起。DDB應具有以下特點。(1)數(shù)據(jù)的物理分布性。數(shù)據(jù)庫中的數(shù)據(jù)不是集中存儲在一個場地的一臺計算機上,而是分布在不同場地的多臺計算機上,它不同于通過計算機網(wǎng)絡共享的集中式數(shù)據(jù)庫系統(tǒng)。(2)數(shù)據(jù)的邏輯整體性。數(shù)據(jù)庫雖然在物理上是分布的,但其中的數(shù)據(jù)并不是不相關的,它們在邏輯上是相互聯(lián)系的整體,它不同于通過計算機網(wǎng)絡互連的多個獨立的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(3)數(shù)據(jù)的分布獨立性(也稱分布透明性)DDB中除了數(shù)據(jù)庫的物理獨立性和數(shù)據(jù)的邏輯獨立性外,還有數(shù)據(jù)的分布獨立性。即在用戶看來,整個數(shù)據(jù)庫仍然是一個集中的數(shù)據(jù)庫,用戶不必關心數(shù)據(jù)的分片數(shù)據(jù)物理位置分布的細節(jié)和數(shù)據(jù)副本的一致性,分布的實現(xiàn)完全由DDBMS來完成。(4)場地自治和協(xié)調。系統(tǒng)中的每個節(jié)點具有獨立性,能執(zhí)行局部的應用請求;每個節(jié)點又是整個系統(tǒng)的一部分,可通過網(wǎng)絡處理全局的應用請求。(5)數(shù)據(jù)的冗余及冗余透明性。與集中式數(shù)據(jù)庫不同,DDB中應存在適當冗余以適合分布處理的特點,提高系統(tǒng)的處理效率和可靠性。因此,數(shù)據(jù)復制技術是分布式數(shù)據(jù)庫的重要技術。但DDB中的這種數(shù)據(jù)冗余對用戶是透明的,即用戶不必知道冗余數(shù)據(jù)的存在,維護各副本的一致性也由系統(tǒng)負責。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(五)面向對象數(shù)據(jù)庫系統(tǒng)面向對象數(shù)據(jù)庫系統(tǒng)(ObjectOrientedDataBaseSystem,OODBS)是面向對象的程序設計技術與數(shù)據(jù)庫技術相結合的產(chǎn)物。面向對象數(shù)據(jù)庫系統(tǒng)的主要特點是具有面向對象技術的封裝性和繼承性,提高了軟件的可重用性。因為面向對象程序語言操作的是對象,所以面向對象數(shù)據(jù)庫(OODB)的一個優(yōu)勢是面向對象語言程序員在開發(fā)程序時,可直接以對象的形式存儲數(shù)據(jù)。對象數(shù)據(jù)模型有以下特點。(1)使用對象數(shù)據(jù)模型將客觀世界按語義組織成由各個相互關聯(lián)的對象單元組成的復雜系統(tǒng)。對象可以定義為對象的屬性和對象的行為描述,對象間的關系分為直接關系和間接關系兩種。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(2)語義上相似的對象被組織成類,類是對象的集合,對象只是類的一個實例,通過創(chuàng)建類的實例實現(xiàn)對象的訪問和操作。(3)對象數(shù)據(jù)模型具有“封裝”“繼承”“多態(tài)”等基本概念。(4)方法實現(xiàn)類似于關系數(shù)據(jù)庫中的存儲過程,但存儲過程并不和特定對象相關聯(lián),方法實現(xiàn)是類的一部分。(5)在實際應用中,面向對象數(shù)據(jù)庫可以實現(xiàn)一些帶有復雜數(shù)據(jù)描述的應用系統(tǒng),如時態(tài)和空間事務、多媒體數(shù)據(jù)管理等。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(六)數(shù)據(jù)倉庫數(shù)據(jù)庫技術經(jīng)過幾十年的發(fā)展和廣泛應用,以及社會各行各業(yè)大量信息和數(shù)據(jù)的多年積累,數(shù)據(jù)在不斷膨脹。從數(shù)據(jù)海洋中提取、檢索出有用的信息——能夠支持決策的信息,以便為企業(yè)的管理決策提供支持成為數(shù)據(jù)庫的發(fā)展趨勢。因此,數(shù)據(jù)倉庫技術,包括數(shù)據(jù)挖掘技術成為數(shù)據(jù)庫技術發(fā)展的熱門。隨著C/S技術的成熟和并行數(shù)據(jù)庫的發(fā)展,信息處理技術的發(fā)展趨勢是從大量的事務型數(shù)據(jù)庫中抽取數(shù)據(jù),然后將其清理、轉換為新的存儲格式,即為決策目標把數(shù)據(jù)聚合在一種特殊的格式中。隨著該過程的發(fā)展和不斷完善,這種支持決策的、特殊的數(shù)據(jù)存儲即稱為數(shù)據(jù)倉庫(DataWarehouse,DW)。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理數(shù)據(jù)倉庫之父比爾·恩門(BillInmon)在1991年出版的“BuildingtheDataWarehouse”(《建立數(shù)據(jù)倉庫》)中對DW的定義是:數(shù)據(jù)倉庫是面向主題的、集成的、隨時間變化的、非易失性數(shù)據(jù)的集合,用于支持管理層的決策。從上面的定義可以發(fā)現(xiàn),數(shù)據(jù)倉庫具有以下重要特性:面向主題性、數(shù)據(jù)集成性、數(shù)據(jù)的時變性、數(shù)據(jù)庫的非易失性、數(shù)據(jù)的集合性和支持決策作用。數(shù)據(jù)倉庫包含了大量的歷史數(shù)據(jù),經(jīng)集成后進入數(shù)據(jù)倉庫的數(shù)據(jù)是極少更新的。數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)時限為5~10年,主要用于分析時間趨勢分析。數(shù)據(jù)倉庫的數(shù)據(jù)量很大,一般為10GB左右,它是一般數(shù)據(jù)庫(100MB)數(shù)據(jù)量的100倍,大型數(shù)據(jù)倉庫可達到TB級。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理(七)數(shù)據(jù)挖掘1.數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(Datamining)又譯為資料探勘、數(shù)據(jù)采礦。它是數(shù)據(jù)庫知識發(fā)現(xiàn)(Knowledge-DiscoveryinDatabases,KDD)中的一個步驟。數(shù)據(jù)挖掘一般是指從大量數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程。數(shù)據(jù)挖掘通常與計算機科學有關,并通過統(tǒng)計、在線分析處理、情報檢索、機器學習、專家系統(tǒng)(依靠過去的經(jīng)驗法則)和模式識別等諸多方法來實現(xiàn)上述目標。數(shù)據(jù)管理技術的發(fā)展歷程任務1-6任務1-1數(shù)據(jù)處理2.數(shù)據(jù)挖掘的常用方法利用數(shù)據(jù)挖掘進行數(shù)據(jù)分析常用的方法主要有分類、回歸分析、聚類、關聯(lián)規(guī)則、特征、變化和偏差分析、Web頁挖掘等,它們分別從不同的角度對數(shù)據(jù)進行挖掘。(1)分類。分類是找出數(shù)據(jù)庫中一組數(shù)據(jù)對象的共同特點,并按照分類模式將其劃分為不同的類,其目的是通過分類模型,將數(shù)據(jù)庫中的數(shù)據(jù)項映射到某個給定的類別。它可以應用到客戶的分類、客戶的屬性和特征分析、客戶滿意度分析、客戶的購買趨勢預測等。例如,一個汽車零售商將客戶按照對汽車的喜好劃分成不同的類,這樣營

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論