大二一章數(shù)據(jù)庫(kù)概述_第1頁(yè)
大二一章數(shù)據(jù)庫(kù)概述_第2頁(yè)
大二一章數(shù)據(jù)庫(kù)概述_第3頁(yè)
大二一章數(shù)據(jù)庫(kù)概述_第4頁(yè)
大二一章數(shù)據(jù)庫(kù)概述_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章數(shù)據(jù)庫(kù)概述1.1數(shù)據(jù)管理技術(shù)1.2大數(shù)據(jù)分析與管理技術(shù)

1.3數(shù)據(jù)庫(kù)系統(tǒng)概述

1.4數(shù)據(jù)模型

1.5概念模型的描述2024/2/511.1數(shù)據(jù)管理技術(shù)1.1.1數(shù)據(jù)管理的概念1.信息與數(shù)據(jù)信息是現(xiàn)實(shí)世界中對(duì)客觀事物的反映。這種反映主要體現(xiàn)為事物屬性的表現(xiàn)形式,是對(duì)事物存在方式或運(yùn)動(dòng)狀態(tài)的刻畫。信息的主要特征可傳遞性:信息是可以傳遞的,但其傳遞的前提是必須有載體,且傳遞過程消耗能量??筛兄?信息可以被人類“感覺”得到的,但感覺的方式可能由于信息源的不同而呈現(xiàn)多樣性??晒芾硇?信息是可以被管理的,我們可以通過一定的方法對(duì)信息進(jìn)行加工、存儲(chǔ)、傳播、再生和增值等。2024/2/52第1章數(shù)據(jù)庫(kù)概述數(shù)據(jù)是描述事務(wù)的符號(hào)記錄,是信息的符號(hào)化表示,是信息的載體。數(shù)據(jù)是信息表示的一種符號(hào)形式。這種符號(hào)形式可以是語言、圖表、數(shù)字、聲音等。但不管用什么樣的符號(hào)形式,其目的只有一個(gè),那就是客觀地反映信息的內(nèi)容。信息的內(nèi)容不會(huì)隨著數(shù)據(jù)表現(xiàn)形式的不同而改變。信息和數(shù)據(jù)的區(qū)分和聯(lián)系:數(shù)據(jù)是信息的載體,可以有多種表現(xiàn)形式,其目的都是為了揭示信息的內(nèi)容;信息是數(shù)據(jù)的內(nèi)涵,它僅由客觀事物的屬性來確定,而與數(shù)據(jù)形式無關(guān)。

但在實(shí)際應(yīng)用中,如果不需要特別強(qiáng)調(diào)信息和數(shù)據(jù)的差異,這兩個(gè)概念往往是互換的。例如,“信息處理”和“數(shù)據(jù)處理”通常意指有相同內(nèi)涵的兩個(gè)概念。2024/2/53第1章數(shù)據(jù)庫(kù)概述2.數(shù)據(jù)處理和數(shù)據(jù)管理數(shù)據(jù)處理數(shù)據(jù)處理也稱信息處理,它泛指用計(jì)算機(jī)對(duì)各種類型數(shù)據(jù)進(jìn)行的處理操作。這些操作包括對(duì)數(shù)據(jù)進(jìn)行采集、轉(zhuǎn)換、分類、存儲(chǔ)、排序、加工、維護(hù)、統(tǒng)計(jì)和傳輸?shù)认盗谢顒?dòng)。數(shù)據(jù)處理的目的是從原始數(shù)據(jù)中提取有價(jià)值的、可作決策依據(jù)的信息。數(shù)據(jù)管理數(shù)據(jù)管理指在復(fù)雜的數(shù)據(jù)處理過程中的一些基本操作,如數(shù)據(jù)存儲(chǔ)、分類、統(tǒng)計(jì)和檢索等。數(shù)據(jù)管理是數(shù)據(jù)處理的任務(wù)之一,是數(shù)據(jù)處理的核心內(nèi)容,數(shù)據(jù)庫(kù)系統(tǒng)的基本功能就是數(shù)據(jù)管理。2024/2/54第1章數(shù)據(jù)庫(kù)概述1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展過程人工管理階段(1946.2-1955左右)這一階段主要指是從計(jì)算機(jī)誕生到20世紀(jì)50年代中期的這一個(gè)時(shí)期。世界上第一臺(tái)計(jì)算機(jī)ENIAC于1946年2月14日在美國(guó)賓夕法尼亞大學(xué)誕生,在隨后的近十年中計(jì)算機(jī)的主要應(yīng)用是科學(xué)計(jì)算,處理的是數(shù)字?jǐn)?shù)據(jù),數(shù)據(jù)量不大。計(jì)算機(jī)沒有操作系統(tǒng)(實(shí)際上當(dāng)時(shí)根本沒有操作系統(tǒng)的概念),也沒有數(shù)據(jù)的管理軟件,是以批處理方式對(duì)數(shù)據(jù)進(jìn)行計(jì)算。計(jì)算機(jī)硬件本身也沒有磁盤,所使用的“存儲(chǔ)設(shè)備”是磁帶、卡片等。2024/2/55第1章數(shù)據(jù)庫(kù)概述人工處理階段數(shù)據(jù)管理技術(shù)的特點(diǎn)體現(xiàn)在:數(shù)據(jù)不保存。一是當(dāng)時(shí)計(jì)算機(jī)所處理的數(shù)據(jù)量很小,不需要保存;二是計(jì)算機(jī)本身就沒有有效的存儲(chǔ)設(shè)備。數(shù)據(jù)缺乏獨(dú)立性和有效的組織方式。這體現(xiàn)在數(shù)據(jù)依賴于應(yīng)用程序,缺乏共享性。其原因在于,數(shù)據(jù)的邏輯結(jié)構(gòu)跟程序是緊密聯(lián)系在一起的,程序A處理的數(shù)據(jù),對(duì)程序B而言可能就無法識(shí)別,更談不上處理。解決的辦法是修改數(shù)據(jù)的邏輯結(jié)構(gòu),或者修改應(yīng)用程序。顯然,這種數(shù)據(jù)管理方法僅適用于小量數(shù)據(jù),對(duì)大量數(shù)據(jù)則是低效的。數(shù)據(jù)為程序所擁有,冗余度高。由于數(shù)據(jù)缺乏獨(dú)立性,一組數(shù)據(jù)只能為一個(gè)程序所擁有,而不能同時(shí)為多個(gè)程序所共享,這就造成了一份數(shù)據(jù)的多個(gè)拷貝,各程序之間存在大量重復(fù)的數(shù)據(jù),從而產(chǎn)生大量的冗余數(shù)據(jù)。

2024/2/56第1章數(shù)據(jù)庫(kù)概述2.文件系統(tǒng)階段(1955-1965)這一階段是從50年代后期到60年代中期的這一段時(shí)間。這個(gè)時(shí)期,計(jì)算機(jī)除了用于科學(xué)計(jì)算以外,還大量用于數(shù)據(jù)的管理。計(jì)算機(jī)已經(jīng)有了操作系統(tǒng),并且在操作系統(tǒng)之上已經(jīng)開發(fā)了一種專門用于數(shù)據(jù)管理的軟件——文件管理系統(tǒng)。在文件管理系統(tǒng)中,數(shù)據(jù)的批處理方法發(fā)展到了文件的批處理方式,且還可以實(shí)現(xiàn)了一定程度的聯(lián)機(jī)實(shí)時(shí)處理。計(jì)算機(jī)硬件本身已經(jīng)出現(xiàn)了磁盤、磁鼓等外部存儲(chǔ)設(shè)備計(jì)算機(jī)硬件經(jīng)出現(xiàn)了磁盤、磁鼓等外部存儲(chǔ)設(shè)備。2024/2/57第1章數(shù)據(jù)庫(kù)概述文件系統(tǒng)階段特點(diǎn)計(jì)算機(jī)的應(yīng)用從單純的科學(xué)計(jì)算逐步轉(zhuǎn)移到數(shù)據(jù)處理,特別是在該階段的后期,數(shù)據(jù)處理已經(jīng)成為計(jì)算機(jī)應(yīng)用的主要目的。主要限于對(duì)文件的插入、刪除、修改和查詢等基本操作。數(shù)據(jù)按照一定的邏輯結(jié)構(gòu)組成文件,并通過文件實(shí)現(xiàn)數(shù)據(jù)的外部存儲(chǔ)。即數(shù)據(jù)是以文件的方式存儲(chǔ)在外部存儲(chǔ)設(shè)備中,如磁盤、磁鼓等。數(shù)據(jù)具有一定的獨(dú)立性。由于數(shù)據(jù)是以文件的方式存儲(chǔ),文件的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)可以自由地進(jìn)行轉(zhuǎn)換,所以多個(gè)程序可以通過文件系統(tǒng)對(duì)同一數(shù)據(jù)進(jìn)行訪問,實(shí)現(xiàn)了一定程度的數(shù)據(jù)共享。文件形式具有多樣化,除了數(shù)據(jù)文件以外還產(chǎn)生了索引文件、鏈接文件、順序文件、直接存取文件和倒排文件等?;旧弦杂涗洖閱挝粚?shí)現(xiàn)數(shù)據(jù)的存取。2024/2/58第1章數(shù)據(jù)庫(kù)概述缺點(diǎn):數(shù)據(jù)和程序并不相互獨(dú)立,數(shù)據(jù)冗余度仍然比較大。一個(gè)程序基本上是對(duì)應(yīng)著一個(gè)或一組文件,即數(shù)據(jù)還是面向應(yīng)用的,不同的程序還需建立自己的數(shù)據(jù)文件,能真正實(shí)現(xiàn)數(shù)據(jù)共享的情況并不多。原因在于,文件中數(shù)據(jù)的邏輯結(jié)構(gòu)與其對(duì)應(yīng)的程序密切相關(guān),而且沒有統(tǒng)一標(biāo)準(zhǔn)的邏輯結(jié)構(gòu)。難以保證數(shù)據(jù)一致性。由于文件之間沒有關(guān)聯(lián)機(jī)制,所以當(dāng)對(duì)一個(gè)數(shù)據(jù)進(jìn)行更改時(shí)難以保證對(duì)該數(shù)據(jù)的其他副本進(jìn)行同樣的更改。文件的數(shù)據(jù)表達(dá)能力十分有限。這主要體現(xiàn)在,文件中的數(shù)據(jù)結(jié)構(gòu)比較單一,也比較簡(jiǎn)單,還難以表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。2024/2/59第1章數(shù)據(jù)庫(kù)概述3.數(shù)據(jù)庫(kù)系統(tǒng)階段(1965-至今)數(shù)據(jù)庫(kù)系統(tǒng)階段始于20世紀(jì)60中后期,一直到現(xiàn)在。這時(shí)計(jì)算機(jī)除了用于科學(xué)計(jì)算以外,更多時(shí)候是用于數(shù)據(jù)管理,而且數(shù)據(jù)的量已經(jīng)很大,管理功能也越來越強(qiáng)大。計(jì)算機(jī)硬件本身也發(fā)生了深刻的變化,出現(xiàn)了大容量磁盤和高主頻的CPU等。在軟件上,數(shù)據(jù)的管理軟件已經(jīng)由原來的文件系統(tǒng)上升到了數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。數(shù)據(jù)管理的主要特點(diǎn)是數(shù)據(jù)集中存放在一個(gè)地方,這個(gè)地方就是所謂的數(shù)據(jù)庫(kù)。應(yīng)用程序要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行訪問,則必須通過數(shù)據(jù)庫(kù)管理系統(tǒng)來完成。2024/2/510第1章數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)技術(shù)是基于數(shù)據(jù)庫(kù)的數(shù)據(jù)管理技術(shù)。其特點(diǎn):數(shù)據(jù)組織的結(jié)構(gòu)化。從總體上看,文件系統(tǒng)中的數(shù)據(jù)是“渙散”的,而數(shù)據(jù)庫(kù)中的數(shù)據(jù)是結(jié)構(gòu)化的,具有統(tǒng)一的邏輯結(jié)構(gòu)。數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫(kù)的主要特征之一,是數(shù)據(jù)庫(kù)和文件系統(tǒng)的最大和根本的區(qū)別。減少數(shù)據(jù)冗余度,增強(qiáng)數(shù)據(jù)共享性。從整個(gè)系統(tǒng)上看,數(shù)據(jù)不再面向某一個(gè)特定的應(yīng)用程序,而是面向由所有應(yīng)用程序組成的系統(tǒng)。所以一個(gè)數(shù)據(jù)可以為多個(gè)應(yīng)用程序所共享,一個(gè)應(yīng)用程序也可以同時(shí)訪問多個(gè)數(shù)據(jù)。保證數(shù)據(jù)的一致性。通過建立文件間的關(guān)聯(lián),使得在對(duì)某一個(gè)數(shù)據(jù)進(jìn)行更新時(shí),與之相關(guān)的數(shù)據(jù)也得到相應(yīng)更改。2024/2/511第1章數(shù)據(jù)庫(kù)概述具有較高的數(shù)據(jù)獨(dú)立性。在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)獨(dú)立性包含兩個(gè)方面,一個(gè)是數(shù)據(jù)的物理獨(dú)立性,另一個(gè)是數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)的物理獨(dú)立性是指在數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)發(fā)生改變時(shí),數(shù)據(jù)的邏輯結(jié)構(gòu)可以不變的特性;數(shù)據(jù)的邏輯獨(dú)立性是指在總體邏輯結(jié)構(gòu)改變時(shí),應(yīng)用程序可以不變的一種特性。數(shù)據(jù)庫(kù)之所以具有較好的數(shù)據(jù)獨(dú)立性,主要是因?yàn)閿?shù)據(jù)庫(kù)提供了兩個(gè)映象功能:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和邏輯結(jié)構(gòu)之間的映象或轉(zhuǎn)換功能以及數(shù)據(jù)的總體邏輯結(jié)構(gòu)和局部邏輯結(jié)構(gòu)之間的映象功能。前者保證了數(shù)據(jù)的物理獨(dú)立性,后者則保證了數(shù)據(jù)的邏輯獨(dú)立性。2024/2/512第1章數(shù)據(jù)庫(kù)概述以數(shù)據(jù)項(xiàng)為單位進(jìn)行數(shù)據(jù)存取。相對(duì)文件系統(tǒng)而言,數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)更小粒度的數(shù)據(jù)處理,滿足更多的應(yīng)用需求。具有統(tǒng)一的數(shù)據(jù)控制功能。這些功能包括數(shù)據(jù)的安全性控制、完整性控制、并發(fā)控制和一致性控制等功能。2024/2/513第1章數(shù)據(jù)庫(kù)概述數(shù)據(jù)管理技術(shù)發(fā)展的這三個(gè)階段是一個(gè)漸進(jìn)的過程,它們的區(qū)別主要體現(xiàn)在應(yīng)用程序和數(shù)據(jù)的關(guān)系上:在人工管理階段,應(yīng)用程序和數(shù)據(jù)是“混合”在一起;在文件系統(tǒng)階段,應(yīng)用程序則通過文件系統(tǒng)完成對(duì)數(shù)據(jù)的訪問,實(shí)現(xiàn)了數(shù)據(jù)和程序一定程度的分離;在數(shù)據(jù)庫(kù)系統(tǒng)階段,應(yīng)用程序是通過數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)對(duì)數(shù)據(jù)進(jìn)行訪問,實(shí)現(xiàn)了數(shù)據(jù)和程序的高度分離。2024/2/514第1章數(shù)據(jù)庫(kù)概述三個(gè)階段之間的關(guān)系表示:2024/2/515圖1.1人工管理階段圖1.2文件系統(tǒng)階段圖1.3數(shù)據(jù)庫(kù)系統(tǒng)階段第1章數(shù)據(jù)庫(kù)概述第1章數(shù)據(jù)庫(kù)概述1.1數(shù)據(jù)管理技術(shù)1.2大數(shù)據(jù)分析與管理技術(shù)

1.3數(shù)據(jù)庫(kù)系統(tǒng)概述

1.4數(shù)據(jù)模型

1.5概念模型的描述2024/2/5161.2大數(shù)據(jù)分析與管理技術(shù)1.2.1關(guān)于大數(shù)據(jù)2008年,英國(guó)著名學(xué)術(shù)雜志《Nature》上推出了大數(shù)據(jù)的專刊。美國(guó)一些知名數(shù)據(jù)管理領(lǐng)域的專家從專業(yè)角度出發(fā)聯(lián)合發(fā)布了一份名為《大數(shù)據(jù)的機(jī)遇與挑戰(zhàn)》(Challengesandopportunitieswithbigdata)的白皮書,從學(xué)術(shù)角度介紹了大數(shù)據(jù)的產(chǎn)生、處理流程和所面臨的若干挑戰(zhàn)。在工業(yè)界,全球知名的咨詢公司麥肯錫公司(McKinsey)2011年也發(fā)表了一份名為《大數(shù)據(jù):下一個(gè)創(chuàng)新、競(jìng)爭(zhēng)和生產(chǎn)力的前沿》(BigData:thenextfrontierforinnovation,competitionandproductivity)的詳盡報(bào)告,對(duì)大數(shù)據(jù)帶來的巨大影響、關(guān)鍵技術(shù)和應(yīng)用領(lǐng)域進(jìn)行了詳盡闡述和分析。美國(guó)奧巴馬政府更是在2012年發(fā)布了“大數(shù)據(jù)研究和發(fā)展倡議”(Bigdataresearchanddevelopmentinitiative),斥資2億多美元計(jì)劃在科研、環(huán)境、生物醫(yī)學(xué)等領(lǐng)域利用大數(shù)據(jù)分析管理技術(shù)取得新的突破。我國(guó)政府也于2015年發(fā)布了《中共中央關(guān)于制定國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展第十三個(gè)五年規(guī)劃的建議》提出實(shí)施國(guó)家大數(shù)據(jù)戰(zhàn)略,超前布局下一代互聯(lián)網(wǎng)。2024/2/517第1章數(shù)據(jù)庫(kù)概述目前“大數(shù)據(jù)”(Bigdata)已成為一個(gè)炙手可熱的名詞。從表面上看,其表示數(shù)據(jù)規(guī)模的龐大,但僅僅從數(shù)據(jù)規(guī)模上無法區(qū)分“大數(shù)據(jù)”這一概念和以往的“海量數(shù)據(jù)”(Massivedata)和“超大規(guī)模數(shù)據(jù)”(Verylargedata)等概念的區(qū)別。然而,至今仍沒有一個(gè)對(duì)“大數(shù)據(jù)”公認(rèn)的準(zhǔn)確定義。根據(jù)維基百科的解釋,大數(shù)據(jù)指的是數(shù)據(jù)規(guī)模巨大到無法通過目前主流的軟件工具在合理時(shí)間內(nèi)完成處理的數(shù)據(jù)集。由此可見,隨著時(shí)間的推移,計(jì)算機(jī)的計(jì)算能力、存儲(chǔ)能力會(huì)不斷提升,因此大數(shù)據(jù)的含義也會(huì)不斷演化。今天所說的大數(shù)據(jù)在未來可能就不算“大”了,但那時(shí)也一定仍會(huì)存在更大的數(shù)據(jù)是當(dāng)時(shí)的技術(shù)處理不了的,因而仍會(huì)被稱為大數(shù)據(jù)??梢?,如何駕馭大數(shù)據(jù)將會(huì)成為人們長(zhǎng)期需要面對(duì)的數(shù)據(jù)常態(tài)。2024/2/518第1章數(shù)據(jù)庫(kù)概述大數(shù)據(jù)的“4V”特性:(1)體量大(Volume)。大數(shù)據(jù)體現(xiàn)在數(shù)據(jù)量極為龐大,其計(jì)量單位可以是TB級(jí)、PB級(jí)甚至更大的計(jì)量單位。(2)速度快(Velocity)。大數(shù)據(jù)呈現(xiàn)出高速增長(zhǎng)的態(tài)勢(shì),而且產(chǎn)生速度仍在不斷加快。(3)多樣化(Variety)。大數(shù)據(jù)包含多種多樣的數(shù)據(jù)類型,既可以是存儲(chǔ)在二維表中的結(jié)構(gòu)化數(shù)據(jù),也可以是文本、視頻、圖像、語音、圖(Graph)、文件等非結(jié)構(gòu)化數(shù)據(jù)。(4)價(jià)值高(Value)。大數(shù)據(jù)中蘊(yùn)藏著巨大價(jià)值,但價(jià)值密度低。通過對(duì)大數(shù)據(jù)進(jìn)行合理的分析,能夠從中挖掘出很多有價(jià)值的信息,這些信息將有助于提高社會(huì)生產(chǎn)效率,提升人們生活質(zhì)量,或者創(chuàng)造更大商業(yè)價(jià)值。2024/2/519第1章數(shù)據(jù)庫(kù)概述1.2.2大數(shù)據(jù)存儲(chǔ)技術(shù)隨著大數(shù)據(jù)時(shí)代的到來,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的發(fā)展面對(duì)大數(shù)據(jù)時(shí)代的數(shù)據(jù)管理需求越來越力不從心,主要體現(xiàn)在:無法保證對(duì)大數(shù)據(jù)的查詢效率:在大數(shù)據(jù)時(shí)代,短短的1分鐘時(shí)間內(nèi)新浪微博可以產(chǎn)生2萬條微博,蘋果可以產(chǎn)生4.7萬次應(yīng)用下載記錄,淘寶則可以賣出6萬件商品,百度可以產(chǎn)生90萬次搜索記錄??梢妼?duì)于上述公司而言很快就會(huì)積累超過10億的數(shù)據(jù)量。然而,由于關(guān)系模型嚴(yán)謹(jǐn)?shù)眠^于死板,例如復(fù)雜的事務(wù)處理機(jī)制就成為了阻礙其性能提升的桎梏,使得傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)在一張包含10億條記錄的數(shù)據(jù)表之上進(jìn)行SQL查詢時(shí)效率極低。2024/2/520第1章數(shù)據(jù)庫(kù)概述無法應(yīng)對(duì)繁多的數(shù)據(jù)類型:關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)的是清潔規(guī)整的結(jié)構(gòu)化數(shù)據(jù),然而在大數(shù)據(jù)時(shí)代,數(shù)據(jù)種類繁多,包括文本、圖片、音頻和視頻在內(nèi)的非結(jié)構(gòu)化數(shù)據(jù)所占比重更是超過了90%,這無疑是關(guān)系型數(shù)據(jù)庫(kù)所不能應(yīng)對(duì)的。橫向可擴(kuò)展能力不足:傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)由于自身設(shè)計(jì)機(jī)理的原因,通常很難實(shí)現(xiàn)性價(jià)比較高的“橫向擴(kuò)展”,即基于普通廉價(jià)的服務(wù)器擴(kuò)充現(xiàn)有分布式計(jì)算系統(tǒng),使系統(tǒng)的處理能力和存儲(chǔ)能力得到提升。而“橫向擴(kuò)展”是大數(shù)據(jù)時(shí)代計(jì)算和存儲(chǔ)的重要需求。很難滿足數(shù)據(jù)高并發(fā)訪問需求:大數(shù)據(jù)時(shí)代諸如購(gòu)物記錄、搜索記錄、朋友圈消息等信息都需要實(shí)時(shí)更新,這就會(huì)導(dǎo)致高并發(fā)的數(shù)據(jù)訪問,可能產(chǎn)生每秒高達(dá)上萬次的讀寫請(qǐng)求。在這種情況下,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)引以為傲的事務(wù)處理機(jī)制和包括語法分析和性能優(yōu)化在內(nèi)的查詢優(yōu)化機(jī)制卻阻礙了其在并發(fā)性能方面的表現(xiàn)。2024/2/521第1章數(shù)據(jù)庫(kù)概述在以上大數(shù)據(jù)時(shí)代的數(shù)據(jù)管理需求的推動(dòng)下,各種新型的NoSQL數(shù)據(jù)庫(kù)不斷涌現(xiàn),一方面彌補(bǔ)了關(guān)系型數(shù)據(jù)庫(kù)存在的各種缺陷,另一方面也撼動(dòng)了關(guān)系型數(shù)據(jù)庫(kù)的傳統(tǒng)壟斷地位。NoSQL(NotonlySQL)不是指某個(gè)具體的數(shù)據(jù)庫(kù),是對(duì)非關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)稱。NoSQL數(shù)據(jù)庫(kù)采用類似鍵/值、列族、文檔和圖(Graph)等非關(guān)系數(shù)據(jù)模型,通常沒有固定的表結(jié)構(gòu),沒有復(fù)雜的查詢優(yōu)化機(jī)制,也沒有嚴(yán)格的事務(wù)ACID特性的約束,因此和關(guān)系型數(shù)據(jù)庫(kù)相比,NoSQL數(shù)據(jù)庫(kù)具有更優(yōu)秀的查詢效率,更靈活的橫向可擴(kuò)展性和更高并發(fā)處理性,并能夠存儲(chǔ)和處理非結(jié)構(gòu)化數(shù)據(jù)。2024/2/522第1章數(shù)據(jù)庫(kù)概述根據(jù)所采用的數(shù)據(jù)模型的不同,NoSQL數(shù)據(jù)庫(kù)具體又可以分為以下四類:鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù)。這一類數(shù)據(jù)庫(kù)主要使用哈希表作為數(shù)據(jù)索引,哈希表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。這種數(shù)據(jù)庫(kù)的優(yōu)勢(shì)是簡(jiǎn)單、易部署、查詢速度快;缺點(diǎn)是數(shù)據(jù)無結(jié)構(gòu),通常只被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù)。TokyoCabinet/Tyrant、Redi、Voldemort、OracleBDB等都屬于這一類數(shù)據(jù)庫(kù)。列存儲(chǔ)數(shù)據(jù)庫(kù)。這類數(shù)據(jù)庫(kù)通常用來應(yīng)對(duì)分布式存儲(chǔ)海量數(shù)據(jù)的存儲(chǔ)需求。在列存儲(chǔ)數(shù)據(jù)庫(kù)中,數(shù)據(jù)以列簇式存儲(chǔ),將同一列數(shù)據(jù)存在一起。這種數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展;缺點(diǎn)是功能相對(duì)局限。Cassandra、HBase、Riak等屬于這一類數(shù)據(jù)庫(kù)。2024/2/523第1章數(shù)據(jù)庫(kù)概述文檔型數(shù)據(jù)庫(kù)。這類數(shù)據(jù)庫(kù)與鍵值存儲(chǔ)數(shù)據(jù)庫(kù)類似,數(shù)據(jù)按鍵值(Key-Value)存對(duì)的形式進(jìn)行存儲(chǔ),但與鍵值存儲(chǔ)數(shù)據(jù)庫(kù)不同的是,Value為結(jié)構(gòu)化數(shù)據(jù)。這類數(shù)據(jù)庫(kù)適用于Web應(yīng)用。文檔型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是對(duì)數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格,表結(jié)構(gòu)可變,不需要像關(guān)系型數(shù)據(jù)庫(kù)一樣需要預(yù)先定義表結(jié)構(gòu);缺點(diǎn)是查詢性能不高,缺乏統(tǒng)一的查詢語法。uCouchDB、MongoDB等屬于這一類數(shù)據(jù)庫(kù)。圖(Graph)數(shù)據(jù)庫(kù)。這類數(shù)據(jù)庫(kù)專注于構(gòu)建關(guān)系圖譜,存儲(chǔ)圖結(jié)構(gòu)數(shù)據(jù),適用于社交網(wǎng)絡(luò)、推薦系統(tǒng)等。圖數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是能夠直接利用圖結(jié)構(gòu)相關(guān)算法,如最短路徑尋址、N度關(guān)系查找等;缺點(diǎn)是很多時(shí)候需要對(duì)整個(gè)圖做計(jì)算才能得出需要的信息。Neo4J、InfoGrid、InfiniteGraph等屬于這一類數(shù)據(jù)庫(kù)。2024/2/524第1章數(shù)據(jù)庫(kù)概述NoSQL數(shù)據(jù)庫(kù)不受關(guān)系模型約束,具有較好的擴(kuò)展性,很好地彌補(bǔ)了傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的缺陷。但NoSQL數(shù)據(jù)庫(kù)并沒有一個(gè)統(tǒng)一的架構(gòu),每一類NoSQL數(shù)據(jù)庫(kù)都有各自適用的場(chǎng)景。同時(shí),NoSQL數(shù)據(jù)庫(kù)不能嚴(yán)格保證事務(wù)的ACID特性,導(dǎo)致數(shù)據(jù)的一致性和正確性沒法保證。而且NoSQL數(shù)據(jù)庫(kù)缺乏完備系統(tǒng)的查詢優(yōu)化機(jī)制,在復(fù)雜查詢方面的效率不如關(guān)系型數(shù)據(jù)庫(kù)。為此,業(yè)界又提出了NewSQL數(shù)據(jù)庫(kù)。NewSQL數(shù)據(jù)庫(kù)是對(duì)各種新的可擴(kuò)展、高性能數(shù)據(jù)庫(kù)的簡(jiǎn)稱,這類數(shù)據(jù)庫(kù)不僅具有NoSQL對(duì)海量數(shù)據(jù)的存儲(chǔ)管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫(kù)支持事務(wù)ACID和SQL等特性。不同NewSQL數(shù)據(jù)庫(kù)的內(nèi)部架構(gòu)差異較大,但是有兩個(gè)共同的特點(diǎn):都支持關(guān)系數(shù)據(jù)模型;都是用SQL作為其主要的訪問接口。2024/2/525第1章數(shù)據(jù)庫(kù)概述目前市面上已有的NewSQL數(shù)據(jù)庫(kù)有Spanner、PostgreSQL、SAPHANA、VoltDB、MemSQL等。Spanner是谷歌公司研發(fā)的、可擴(kuò)展的、多版本、全球分布式、同步復(fù)制數(shù)據(jù)庫(kù),是谷歌公司第一個(gè)可以全球擴(kuò)展并支持?jǐn)?shù)據(jù)外部一致性的數(shù)據(jù)庫(kù)。PostgreSQL是很受歡迎的開源數(shù)據(jù)庫(kù),穩(wěn)定性強(qiáng),有大量的幾何、字典、數(shù)組等數(shù)據(jù)類型,在地理信息系統(tǒng)領(lǐng)域處于優(yōu)勢(shì)地位。SAPHANA基于內(nèi)存計(jì)算技術(shù),是面向企業(yè)分析性應(yīng)用的產(chǎn)品,主要包括內(nèi)存計(jì)算引擎和HANA建模工具兩部分。VoltDB是基于內(nèi)存的關(guān)系型數(shù)據(jù)庫(kù),其采用NewSQL體系架構(gòu),既追求與NoSQL體系架構(gòu)系統(tǒng)具有相匹配的系統(tǒng)可展性,又維護(hù)了傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的事務(wù)特性和SQL語言訪問特性,在執(zhí)行高速并發(fā)事務(wù)時(shí)比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)快45倍。MemSQL有符合ACID特性的事務(wù)處理功能、SQL兼容性以及高度優(yōu)化的SQL存儲(chǔ)引擎,提供了與MySQL相同的編程接口,但速度比MySQL快30倍。還有一些在云端提供存取服務(wù)的NewSQL數(shù)據(jù)庫(kù)(亦可稱為云數(shù)據(jù)庫(kù)),例如AmazonRDS和MicrosoftSQLAzure。2024/2/526第1章數(shù)據(jù)庫(kù)概述1.2.3大數(shù)據(jù)處理模式大數(shù)據(jù)具有數(shù)據(jù)體量大、產(chǎn)生速度快的特點(diǎn),因而傳統(tǒng)的單機(jī)串行處理模式往往難以完成對(duì)大數(shù)據(jù)的高效處理,必須借助并行分布式處理方法。根據(jù)大數(shù)據(jù)應(yīng)用類型的不同,大數(shù)據(jù)處理模式分為批處理(Batchprocessing)和流處理(Streamprocessing)兩種。下面以Apache的Hadoop和Storm為例分別介紹批處理和流處理的典型處理模式。2024/2/527第1章數(shù)據(jù)庫(kù)概述1.分布式批處理模式的代表——Hadoop批處理則是對(duì)數(shù)據(jù)先存儲(chǔ)后統(tǒng)一處理。Hadoop是一個(gè)由Apache基金會(huì)用Java語言開發(fā)的開源分布式批處理架構(gòu),其中實(shí)現(xiàn)了MapReduce批處理編程模型。Google公司在2004年提出的MapReduce編程模式是最具代表性的分布式數(shù)據(jù)批處理模式。MapReduce模型包含三種角色:Master進(jìn)程、Map進(jìn)程和Reduce進(jìn)程,其中Master進(jìn)程負(fù)責(zé)任務(wù)的劃分與調(diào)度,Map進(jìn)程用于執(zhí)行Map任務(wù),Reduce進(jìn)程用于執(zhí)行Reduce任務(wù)。該模型的主要思想是Master進(jìn)程把大規(guī)模的數(shù)據(jù)劃分成多個(gè)較小的部分,分別映射到多個(gè)Map進(jìn)程進(jìn)行并行處理得到中間結(jié)果,之后由Reduce進(jìn)程對(duì)這些中間結(jié)果進(jìn)行規(guī)約、整理,進(jìn)而得到最終結(jié)果,如圖1.4所示。2024/2/528第1章數(shù)據(jù)庫(kù)概述2024/2/529圖1.4MapReduce執(zhí)行流程

第1章數(shù)據(jù)庫(kù)概述一個(gè)MapReduce作業(yè)(MapReduceJob)的執(zhí)行流程如下:(1)首先從用戶提交的程序創(chuàng)建出Master進(jìn)程,Master進(jìn)程啟動(dòng)后劃分任務(wù)并根據(jù)輸入文件所在位置和集群信息選擇機(jī)器創(chuàng)建出Map進(jìn)程或Reduce進(jìn)程;(2)Master進(jìn)程將劃分好的任務(wù)分配給Map進(jìn)程和Reduce進(jìn)程執(zhí)行,任務(wù)劃分和任務(wù)分配可以并行執(zhí)行;(3)Map進(jìn)程執(zhí)行Map任務(wù),即讀取相應(yīng)的輸入文件,根據(jù)指定的輸入格式不斷地讀取<key,value>對(duì),并對(duì)每一個(gè)<key,value>對(duì)執(zhí)行用戶自定義的Map函數(shù);(4)Map進(jìn)程不斷往本地內(nèi)存緩沖區(qū)輸出中間<key,value>對(duì)結(jié)果,等到緩沖區(qū)超過一定大小時(shí)寫入到本地磁盤中,Map進(jìn)程將中間結(jié)果組織成文件,便于后續(xù)Reduce進(jìn)程獲??;(5)Map任務(wù)執(zhí)行完成后向Master進(jìn)程匯報(bào),Master進(jìn)程進(jìn)一步將該消息通知Reduce進(jìn)程。Reduce進(jìn)程向Map進(jìn)程請(qǐng)求傳輸生成的中間結(jié)果數(shù)據(jù),當(dāng)Reduce進(jìn)程獲取完所有的中間結(jié)果后,需要進(jìn)行排序操作;(6)Reduce進(jìn)程執(zhí)行Reduce任務(wù),即對(duì)中間結(jié)果的每一個(gè)相同的key及value集合,執(zhí)行用戶自定義的Reduce函數(shù),Reduce函數(shù)的輸出結(jié)果被寫入到最終的輸出文件。2024/2/530第1章數(shù)據(jù)庫(kù)概述除了使用MapReduce批處理編程框架,Hadoop的核心內(nèi)容還包括HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系統(tǒng))。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,適合處理大規(guī)模數(shù)據(jù)集的應(yīng)用程序。2024/2/531第1章數(shù)據(jù)庫(kù)概述Hadoop的優(yōu)點(diǎn)包含以下幾個(gè)方面:(1)方便部署。Hadoop可以方便部署在由一般商用機(jī)器構(gòu)成的大型集群或者云計(jì)算服務(wù)之上。(2)容錯(cuò)健壯。即使集群中的計(jì)算機(jī)硬件頻繁出現(xiàn)失效,Hadoop也能夠處理大多數(shù)此類故障。(3)容易擴(kuò)展。Hadoop通過增加集群節(jié)點(diǎn),可以線性地?cái)U(kuò)展以處理更大的數(shù)據(jù)集。(4)使用簡(jiǎn)單。Hadoop允許用戶快速編寫出高效的并行代碼。(5)免費(fèi)、開源。Hadoop是一款開源批處理框架,可以免費(fèi)使用。Hadoop的典型應(yīng)用包括網(wǎng)絡(luò)搜索、日志處理、推薦系統(tǒng)、數(shù)據(jù)分析、視頻圖像分析和數(shù)據(jù)集成等。2024/2/532第1章數(shù)據(jù)庫(kù)概述2.分布式流處理模式的代表——Storm和先存儲(chǔ)再處理的批處理模式不同,流處理將源源不斷產(chǎn)生的數(shù)據(jù)視為數(shù)據(jù)流,每當(dāng)新的數(shù)據(jù)到達(dá)系統(tǒng)時(shí)就立刻對(duì)數(shù)據(jù)進(jìn)行處理并返回結(jié)果??梢姡魈幚磉m合包括網(wǎng)頁(yè)點(diǎn)擊數(shù)統(tǒng)計(jì)、股票交易數(shù)據(jù)分析和傳感器網(wǎng)絡(luò)事件檢測(cè)等實(shí)時(shí)分析應(yīng)用。ApacheStorm是一個(gè)免費(fèi)、開源的分布式實(shí)時(shí)流處理系統(tǒng)。Storm在流處理中的地位相當(dāng)于Hadoop對(duì)于批處理的重要地位。2024/2/533第1章數(shù)據(jù)庫(kù)概述Storm基于拓?fù)洌═opology)實(shí)現(xiàn)對(duì)數(shù)據(jù)流的分布式實(shí)時(shí)處理。拓?fù)涫且粋€(gè)有向無環(huán)圖(DirectedAcyclicGraph),一個(gè)典型的Storm的拓?fù)浣Y(jié)構(gòu)如圖1.5所示。Topology中數(shù)據(jù)以元組(Tuple)的形式進(jìn)行轉(zhuǎn)發(fā)和處理。和Hadoop中的MapReduce作業(yè)不同,Storm的拓?fù)湟唤?jīng)啟動(dòng)將永久運(yùn)行,不斷處理實(shí)時(shí)到達(dá)的數(shù)據(jù)元組。2024/2/534圖1.5一個(gè)典型的Storm拓?fù)?/p>

第1章數(shù)據(jù)庫(kù)概述Storm拓?fù)溆蒘pout和Bolt兩類組件構(gòu)成。Spout作為數(shù)據(jù)產(chǎn)生者,從一個(gè)外部源(例如Kafka)讀取數(shù)據(jù)并并向Storm拓?fù)渲袊娚鋽?shù)據(jù)元組。Bolt作為數(shù)據(jù)消費(fèi)者,對(duì)所接收的數(shù)據(jù)元組進(jìn)行處理和轉(zhuǎn)發(fā)。一個(gè)復(fù)雜的Storm拓?fù)淇捎啥鄠€(gè)Spout和多個(gè)Bolt組成,且可以為每個(gè)Spout或Bolt設(shè)置其任務(wù)(Task)并行度,由多個(gè)任務(wù)并行完成其處理邏輯。Storm提供多種組件間的數(shù)據(jù)分發(fā)策略,例如隨機(jī)分組(Shufflegrouping)、按字段分組(Fieldgrouping)、全局分組(Globalgrouping)和廣播發(fā)送(Allgrouping),用以完成Storm拓?fù)渲猩嫌谓M件的各個(gè)任務(wù)向下游組件的各個(gè)任務(wù)的數(shù)據(jù)分發(fā).2024/2/535第1章數(shù)據(jù)庫(kù)概述Storm的優(yōu)點(diǎn)包含以下幾個(gè)方面:(1)易整合:Storm可以方便與數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行整合。(2)易使用:Storm提供豐富的API,方便用戶的使用。(3)易擴(kuò)展:Storm可以方便部署和運(yùn)行在大規(guī)模分布式集群中。(4)易糾錯(cuò):Storm可以自行重啟故障節(jié)點(diǎn),并完成對(duì)故障節(jié)點(diǎn)任務(wù)的重新分配。(5)可靠的消息處理:Storm保證每個(gè)消息都能被系統(tǒng)完整處理。(6)免費(fèi)、開源:Storm是一款開源流處理框架,可以免費(fèi)使用。2024/2/536第1章數(shù)據(jù)庫(kù)概述1.2.4大數(shù)據(jù)處理的基本流程1.數(shù)據(jù)集成大數(shù)據(jù)的一個(gè)重要特性就是多樣化(Variety),這意味著產(chǎn)生大數(shù)據(jù)的來源廣泛、類型龐雜、并經(jīng)常存在數(shù)據(jù)冗余和錯(cuò)漏現(xiàn)象,給數(shù)據(jù)處理帶來了巨大挑戰(zhàn)。要想處理大數(shù)據(jù),首要任務(wù)就是對(duì)數(shù)據(jù)源抽取的數(shù)據(jù)進(jìn)行合理的集成。數(shù)據(jù)集成是指通過訪問、解析、規(guī)范化、標(biāo)準(zhǔn)化、整合、清洗、抽取、匹配、分類、修飾和數(shù)據(jù)交付等功能把不同來源、格式、特點(diǎn)、性質(zhì)的數(shù)據(jù)在邏輯上或物理上有機(jī)地集中,從而為后期數(shù)據(jù)處理提供保障。數(shù)據(jù)集成的目的是保證數(shù)據(jù)的質(zhì)量和可信性。如果數(shù)據(jù)集成工作沒有做好,會(huì)導(dǎo)致整個(gè)大數(shù)據(jù)項(xiàng)目的延期甚至失敗。因此,在大數(shù)據(jù)給人們帶來價(jià)值之前,必須對(duì)其進(jìn)行合理的集成。2024/2/537第1章數(shù)據(jù)庫(kù)概述2.數(shù)據(jù)分析數(shù)據(jù)分析是整個(gè)大數(shù)據(jù)處理流程中的核心環(huán)節(jié),因?yàn)榇髷?shù)據(jù)所蘊(yùn)含的價(jià)值需要通過數(shù)據(jù)分析得以實(shí)現(xiàn)。傳統(tǒng)的數(shù)據(jù)分析技術(shù)包括數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)分析等在用于處理大數(shù)據(jù)時(shí)可能需要進(jìn)行必要的調(diào)整,因?yàn)檫@些技術(shù)在處理大數(shù)據(jù)時(shí)面臨一些新的挑戰(zhàn),體現(xiàn)在以下幾個(gè)方面:大數(shù)據(jù)價(jià)值大(Value)的特性雖然意味著大數(shù)據(jù)蘊(yùn)含了巨大價(jià)值,但是大數(shù)據(jù)同時(shí)也存在價(jià)值密度低的特點(diǎn),體現(xiàn)在大數(shù)據(jù)中存在大量的冗余數(shù)據(jù)、噪音數(shù)據(jù)、遺漏數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)。因此,在進(jìn)行數(shù)據(jù)分析之前,需要對(duì)大數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、整合等集成工作。然而,對(duì)如此大規(guī)模的數(shù)據(jù)進(jìn)行清洗和整合無疑會(huì)對(duì)硬件環(huán)境和算法性能提出新的要求。2024/2/538第1章數(shù)據(jù)庫(kù)概述3.數(shù)據(jù)解釋雖然數(shù)據(jù)分析是大數(shù)據(jù)處理的核心,但是用戶更關(guān)注對(duì)分析結(jié)果的展示。即使分析過程高效、分析結(jié)果正確,如果沒有通過容易理解的方式給用戶展示大數(shù)據(jù)的分析結(jié)果將會(huì)大大降低分析結(jié)果的實(shí)際價(jià)值,極端情況下甚至?xí)`導(dǎo)用戶。

傳統(tǒng)的數(shù)據(jù)解釋方法是在電腦終端上打印顯示分析結(jié)果或以文本的形式向用戶呈現(xiàn)分析結(jié)果。然而,大數(shù)據(jù)的分析結(jié)果往往規(guī)模大而且結(jié)果之間的關(guān)系錯(cuò)綜復(fù)雜,因而傳統(tǒng)的數(shù)據(jù)解釋方法不適用于解釋大數(shù)據(jù)的分析結(jié)果。

目前,業(yè)界推出了很多數(shù)據(jù)可視化技術(shù),用圖表等形象的方式向用戶展現(xiàn)大數(shù)據(jù)的分析結(jié)果。常見的數(shù)據(jù)可視化技術(shù)包括標(biāo)簽云(Tagcloud)、歷史流(Historyflow)和空間信息流(Spatialinformationflow)等。2024/2/539第1章數(shù)據(jù)庫(kù)概述第一章數(shù)據(jù)庫(kù)概述1.1數(shù)據(jù)管理技術(shù)1.2大數(shù)據(jù)分析與管理技術(shù)

1.3數(shù)據(jù)庫(kù)系統(tǒng)概述

1.4數(shù)據(jù)模型

1.5概念模型的描述2024/2/5401.3.1數(shù)據(jù)庫(kù)系統(tǒng)

數(shù)據(jù)庫(kù)系統(tǒng)是以數(shù)據(jù)庫(kù)技術(shù)為核心的計(jì)算機(jī)應(yīng)用系統(tǒng),其主要目的是處理生產(chǎn)和實(shí)踐過程中產(chǎn)生的數(shù)據(jù)和信息,實(shí)現(xiàn)生產(chǎn)過程管理的自動(dòng)化和信息化,提高信息管理效率。2024/2/541第1章數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)系統(tǒng)一般包含四個(gè)部分1.數(shù)據(jù)庫(kù)定義:是數(shù)據(jù)庫(kù)系統(tǒng)存放結(jié)構(gòu)化數(shù)據(jù)的地方,是長(zhǎng)期存儲(chǔ)的、有組織的、可共享的數(shù)據(jù)的集合。數(shù)據(jù)最終是以文件的形式存儲(chǔ)在磁盤上,只有數(shù)據(jù)庫(kù)管理系統(tǒng)才能對(duì)這些文件進(jìn)行存取操作。每一個(gè)數(shù)據(jù)庫(kù)都至少有一個(gè)這樣文件,稱為數(shù)據(jù)文件。SQLServer數(shù)據(jù)庫(kù)的數(shù)據(jù)文件以.mdf或.ndf為擴(kuò)展名。2024/2/542第1章數(shù)據(jù)庫(kù)概述2.數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)定義:DBMS是數(shù)據(jù)庫(kù)的管理軟件,是應(yīng)用程序和數(shù)據(jù)庫(kù)之間橋梁,即應(yīng)用程序必須通過DBMS才能存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)。DBMS對(duì)數(shù)據(jù)的存取操作最終體現(xiàn)為對(duì)數(shù)據(jù)文件的更新和修改,但應(yīng)用程序不能直接執(zhí)行這種更新和修改操作。SQLServer2014就是SQLServer數(shù)據(jù)庫(kù)系統(tǒng)的一種DBMS。2024/2/543第1章數(shù)據(jù)庫(kù)概述3.應(yīng)用程序定義:是指通過訪問數(shù)據(jù)庫(kù)來完成用戶操作的程序。它介于系統(tǒng)用戶和DBMS之間,用戶通過操作應(yīng)用程序來獲取他們的需求,而應(yīng)用程序則通過DBMS訪問數(shù)據(jù)庫(kù)來實(shí)現(xiàn)用戶提出的需求。應(yīng)用程序可以用Java、JSP、.NET等技術(shù)開發(fā)。2024/2/544第1章數(shù)據(jù)庫(kù)概述4.系統(tǒng)用戶定義:是大致分為兩類——系統(tǒng)用戶和系統(tǒng)管理員。系統(tǒng)用戶是指應(yīng)用程序的用戶,他們是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的最終使用者;系統(tǒng)管理員可以分為不同級(jí)別類型的管理人員,他們主要負(fù)責(zé)數(shù)據(jù)庫(kù)的管理和維護(hù)工作。2024/2/545第1章數(shù)據(jù)庫(kù)概述數(shù)據(jù)庫(kù)系統(tǒng)各部分之間的關(guān)系:2024/2/546圖1.6數(shù)據(jù)庫(kù)系統(tǒng)各部分之間的關(guān)系第1章數(shù)據(jù)庫(kù)概述1.3.2數(shù)據(jù)庫(kù)系統(tǒng)的模式結(jié)構(gòu)現(xiàn)在數(shù)據(jù)庫(kù)系統(tǒng)軟件產(chǎn)品非常多,它們可能基于不同的操作系統(tǒng),支持不同的數(shù)據(jù)庫(kù)語言,采用不同的數(shù)據(jù)結(jié)構(gòu),等等。但是,它們的體系結(jié)構(gòu)卻基本相同,那就是三級(jí)模式結(jié)構(gòu)。三級(jí)模式結(jié)構(gòu)是由美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI,AmericanNationalStandardsInstitute)所屬的標(biāo)準(zhǔn)計(jì)劃和要求委員會(huì)(SPARC,StandardsPlanningAndRequirementsCommittee)于1975年提出的,稱為SPARC分級(jí)結(jié)構(gòu)。2024/2/547第1章數(shù)據(jù)庫(kù)概述

三級(jí)模式結(jié)構(gòu)將數(shù)據(jù)庫(kù)系統(tǒng)抽象為三個(gè)層次,分別為內(nèi)模式、概念模式和外模式。1.內(nèi)模式定義:又稱存儲(chǔ)模式,它是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)中最底層的表示,描述了數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式,即定義了存儲(chǔ)記錄的類型、存貯域的表示、存儲(chǔ)記錄的物理順序、索引等。一個(gè)數(shù)據(jù)庫(kù)僅有一個(gè)內(nèi)模式。2024/2/548第1章數(shù)據(jù)庫(kù)概述2.概念模式定義:又稱邏輯模式,簡(jiǎn)稱模式,它用于對(duì)整個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)和特征、實(shí)體及其性質(zhì)與聯(lián)系進(jìn)行描述。但這種描述并不涉及具體的物理存儲(chǔ)方式和硬件環(huán)境,也不涉及任何特定的應(yīng)用程序及其開發(fā)工具。一個(gè)數(shù)據(jù)庫(kù)也只有一個(gè)概念模式。2024/2/549第1章數(shù)據(jù)庫(kù)概述3.外模式定義:外模式是概念模式的一個(gè)子集,這個(gè)子集是為某一個(gè)特定用戶所使用的。從這個(gè)角度看,外模式是面向用戶的,所以外模式又稱子模式或用戶模式。本質(zhì)上,外模式是應(yīng)用程序所使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是使用該應(yīng)用程序的用戶所看到的數(shù)據(jù)視圖。2024/2/550第1章數(shù)據(jù)庫(kù)概述總結(jié)以上三個(gè)模式分別從三個(gè)不同層次的級(jí)別對(duì)數(shù)據(jù)庫(kù)進(jìn)行抽象,即分別抽象為用戶級(jí)、概念級(jí)、物理級(jí)數(shù)據(jù)庫(kù)。用戶級(jí)數(shù)據(jù)庫(kù)對(duì)應(yīng)于外模式,是從用戶的角度對(duì)數(shù)據(jù)庫(kù)進(jìn)行抽象,是用戶看到和使用的用戶視圖的集合。概念級(jí)數(shù)據(jù)庫(kù)對(duì)應(yīng)于概念模式,介于用戶級(jí)和物理級(jí)之間,是程序開發(fā)人員看到和使用的數(shù)據(jù)庫(kù)。。物理級(jí)數(shù)據(jù)庫(kù)對(duì)應(yīng)于內(nèi)模式,是從數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)的角度對(duì)數(shù)據(jù)庫(kù)進(jìn)行抽象??傊饽J绞歉拍钅J降淖蛹?,概念模式是內(nèi)模式的邏輯表示,而內(nèi)模式則是概念模式的物理表示。2024/2/551第1章數(shù)據(jù)庫(kù)概述三級(jí)模式結(jié)構(gòu)將數(shù)據(jù)庫(kù)系統(tǒng)抽象為三個(gè)層次,分別為內(nèi)模式、概念模式和外模式。各模式的關(guān)系如圖1.7所示。2024/2/552圖1.7數(shù)據(jù)庫(kù)系統(tǒng)的SPARC分級(jí)結(jié)構(gòu)第1章數(shù)據(jù)庫(kù)概述1.3.3數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS的功能主要包括以下幾個(gè)方面:

1.數(shù)據(jù)庫(kù)定義功能DBMS一般都提供數(shù)據(jù)定義語言(DDL,DataDefinitionLanguage),可以分別用于定義外模式、概念模式和內(nèi)模式。用DDL編寫的外模式、概念模式和內(nèi)模式分別稱為源外模式、源概念模式和源內(nèi)模式。它們經(jīng)過模式翻譯程序翻譯后將形成相應(yīng)的內(nèi)部表示,分別稱為目標(biāo)外模式、目標(biāo)概念模式和目標(biāo)內(nèi)模式。這些目標(biāo)模式被保存在數(shù)據(jù)字典中(又稱系統(tǒng)目錄),它們是用于刻畫數(shù)據(jù)庫(kù)的框架結(jié)構(gòu),是對(duì)數(shù)據(jù)庫(kù)(而不是數(shù)據(jù))的一種描述,也是DBMS存取和管理數(shù)據(jù)的基本依據(jù)。2024/2/553第1章數(shù)據(jù)庫(kù)概述2.數(shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操作語言(DML,DataManipulationLanguage)用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢、添加、修改和刪除等基本操作。DML分為宿主型的和自主型的(或自含型的)的DML。宿主型的DML用于嵌入到其他語言(稱為主語言)當(dāng)中,例如把它嵌入到PASCAL、FORTRAN,C等高級(jí)語言中。這類DML語言本身不能獨(dú)立使用,這也就是它之所以稱為宿主型DML的原因。自主型的(或自含型)DML則是交互式命令語言,其語法簡(jiǎn)單,每條語句都可以獨(dú)立執(zhí)行。如今,DBMS一般既提供宿主型的DML也提供自主型的DML,或者提供集宿主型和自主型于一體的DML,其典型的代表就是著名的SQL(StructuredQueryLanguage)語言。SQL語句既可以嵌入到其他的高級(jí)語言,也可以單獨(dú)交互執(zhí)行。2024/2/554第1章數(shù)據(jù)庫(kù)概述用戶或者應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作實(shí)際上是通過DBMS控制并執(zhí)行DML語句來實(shí)現(xiàn)的。自主型的DML是交互式命令語言,DBMS通常以解釋執(zhí)行的方式運(yùn)行它們。對(duì)于宿主型的DML,DBMS提供兩種執(zhí)行方法:預(yù)編譯方法。這種方法的原理是,由DBMS提供的預(yù)編譯程序?qū)Π珼ML的主語言進(jìn)行掃描,識(shí)別出DML,然后把這些DML轉(zhuǎn)換成合法的主語言代碼,以便主語言的編譯程序能夠接受和執(zhí)行它們。修改、擴(kuò)充主語言編譯程序的方法。這種方法又稱為增強(qiáng)編譯方法,增強(qiáng)后的編譯程序既可以編譯主語言代碼,也可以編譯和執(zhí)行嵌入的DML語句。2024/2/555第1章數(shù)據(jù)庫(kù)概述3.數(shù)據(jù)庫(kù)運(yùn)行管理功能數(shù)據(jù)庫(kù)運(yùn)行管理是DBMS提供的重要功能之一,它是數(shù)據(jù)系統(tǒng)能夠正確、有效運(yùn)行的基本保證。這種管理功能主要包括存取控制、安全性檢測(cè)、并發(fā)控制、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫(kù)內(nèi)部的維護(hù)和管理等。4.數(shù)據(jù)庫(kù)的建立和維護(hù)功能這包括數(shù)據(jù)庫(kù)初試數(shù)據(jù)的裝載和轉(zhuǎn)換、數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)、數(shù)據(jù)庫(kù)的重組織功能和性能監(jiān)視、分析功能等。這些功能主要是由DBMS提供的實(shí)用程序來完成。2024/2/556第1章數(shù)據(jù)庫(kù)概述第一章數(shù)據(jù)庫(kù)概述1.1數(shù)據(jù)管理技術(shù)1.2大數(shù)據(jù)分析與管理技術(shù)

1.3數(shù)據(jù)庫(kù)系統(tǒng)概述

1.4數(shù)據(jù)模型

1.5概念模型的描述2024/2/5571.4數(shù)據(jù)模型數(shù)據(jù)模型三種類型概念模型又稱信息模型,是從用戶觀方面來對(duì)數(shù)據(jù)和信息進(jìn)行建模的結(jié)果,主要用于數(shù)據(jù)庫(kù)的設(shè)計(jì)。邏輯模型是對(duì)客觀事物及其聯(lián)系的數(shù)據(jù)描述,包括網(wǎng)狀模型、層次模型、關(guān)系模型和面向?qū)ο竽P偷?,它是從?jì)算機(jī)系統(tǒng)觀方面來進(jìn)行建模,主要用于DBMS的實(shí)現(xiàn)。物理模型是對(duì)數(shù)據(jù)最底層的抽象,用于描述數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)內(nèi)部的表示方式和存取方法,其實(shí)現(xiàn)由DBMS完成。數(shù)據(jù)模型的兩大主要功能是用于描述數(shù)據(jù)及其關(guān)聯(lián)。它包含三個(gè)基本要素,即數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件。2024/2/558第1章數(shù)據(jù)庫(kù)概述1.4.1數(shù)據(jù)模型的基本要素1.數(shù)據(jù)結(jié)構(gòu)定義:用于描述數(shù)據(jù)的靜態(tài)特性,它是所研究對(duì)象類型的集合。分類:數(shù)據(jù)描述對(duì)象定義:用于描述數(shù)據(jù)的性質(zhì)、內(nèi)容和類型等相關(guān)的對(duì)象指出對(duì)象所包含的項(xiàng),并對(duì)項(xiàng)進(jìn)行命名,指出項(xiàng)的數(shù)據(jù)類型和取值范圍等。數(shù)據(jù)關(guān)系描述對(duì)象定義:是用于描述數(shù)據(jù)間關(guān)系信息的對(duì)象指明各種不同對(duì)象類型之間的關(guān)系及關(guān)系的性質(zhì),并對(duì)這些關(guān)系進(jìn)行命名。2024/2/559第1章數(shù)據(jù)庫(kù)概述2.數(shù)據(jù)操作定義:用于對(duì)數(shù)據(jù)動(dòng)態(tài)特性的描述,它是對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象類型的實(shí)例允許執(zhí)行的所有操作及相關(guān)操作規(guī)則的集合。分類:查詢更新更新操作又包括插入、刪除和修改。在數(shù)據(jù)模型中,要明確定義操作的各項(xiàng)屬性,如操作符、操作規(guī)則以及實(shí)現(xiàn)操作的語言等。2024/2/560第1章數(shù)據(jù)庫(kù)概述3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。完整性規(guī)則是指既定的數(shù)據(jù)模型中數(shù)據(jù)及其關(guān)系所具有的制約性規(guī)則和依存性規(guī)則。這些規(guī)則是通過限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)及其變化的方法來保證數(shù)據(jù)的正確性、有效性和相容性。4.三個(gè)要素的作用數(shù)據(jù)結(jié)構(gòu)是基礎(chǔ),它確定著數(shù)據(jù)模型的性質(zhì)。數(shù)據(jù)操作是關(guān)鍵,它確定著數(shù)據(jù)模型的動(dòng)態(tài)特性。約束條件主要起輔助作用。2024/2/561第1章數(shù)據(jù)庫(kù)概述1.4.2四種主要的邏輯模型1.層次模型它的數(shù)據(jù)結(jié)構(gòu)是根樹特點(diǎn):有且僅有一個(gè)節(jié)點(diǎn)沒有父節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)就是根樹的根節(jié)點(diǎn)。除了根節(jié)點(diǎn)外,其他節(jié)點(diǎn)有且僅有一個(gè)父節(jié)點(diǎn),但可能由0個(gè)或者多個(gè)子節(jié)點(diǎn)。2024/2/562第1章數(shù)據(jù)庫(kù)概述在層次模型中,具有相同父節(jié)點(diǎn)的子節(jié)點(diǎn)稱為兄弟節(jié)點(diǎn),沒有子節(jié)點(diǎn)的節(jié)點(diǎn)稱為葉節(jié)點(diǎn)。在根樹的層次結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體型。但由于層次模型中的實(shí)體型是用記錄型來表示,所以根樹中的每個(gè)節(jié)點(diǎn)實(shí)際上是代表著一個(gè)記錄型。由于每個(gè)記錄型節(jié)點(diǎn)有且僅有一個(gè)父節(jié)點(diǎn)(根節(jié)點(diǎn)除外),所以只要每個(gè)節(jié)點(diǎn)指出它的父節(jié)點(diǎn),就可以表示出層次模型的數(shù)據(jù)結(jié)構(gòu)。如果要訪問某一個(gè)記錄型節(jié)點(diǎn),則可以運(yùn)用相關(guān)的根樹遍歷方法從根節(jié)點(diǎn)開始查找該節(jié)點(diǎn),然后對(duì)其訪問。

【例子】一個(gè)學(xué)校包含多個(gè)學(xué)院,一個(gè)學(xué)院又包含多個(gè)系和研究所等。這樣,學(xué)校、學(xué)院、系和研究所等實(shí)體非常自然地構(gòu)成了現(xiàn)實(shí)世界中的層次關(guān)系。層次模型正是為了滿足描述這種層次關(guān)系的需要而產(chǎn)生的。所以,它的表達(dá)方式自然、直觀,但是其缺點(diǎn)也是明顯。2024/2/563第1章數(shù)據(jù)庫(kù)概述層次模型缺點(diǎn):處理效率低這是因?yàn)閷哟文P偷臄?shù)據(jù)結(jié)構(gòu)是一種根樹結(jié)構(gòu),對(duì)任何節(jié)點(diǎn)的訪問都必須從根節(jié)點(diǎn)開始。這使得對(duì)底層節(jié)點(diǎn)的訪問效率變低,并且難以進(jìn)行反向查詢。不易進(jìn)行更新操作更新操作包括插入、修改和刪除等操作。對(duì)某一個(gè)樹節(jié)點(diǎn)進(jìn)行這種更新操作時(shí),都有可能導(dǎo)致整棵根樹大面積的變動(dòng)。對(duì)大數(shù)據(jù)集來說,這可是一個(gè)沉重。安全性不好這主要體現(xiàn)在,當(dāng)刪除一個(gè)節(jié)點(diǎn)時(shí),則它的子節(jié)點(diǎn)和孫子節(jié)點(diǎn)都將被刪除。所以,必須慎用刪除操作。數(shù)據(jù)獨(dú)立性較差當(dāng)用層次命令操作數(shù)據(jù)的時(shí)候,它要求用戶了解數(shù)據(jù)的物理結(jié)構(gòu),并需要顯式地說明存取途徑。2024/2/564第1章數(shù)據(jù)庫(kù)概述2.網(wǎng)狀模型網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)是網(wǎng)狀結(jié)構(gòu)。網(wǎng)狀模型反映著現(xiàn)實(shí)世界中實(shí)體間更為復(fù)雜的聯(lián)系。由以下特點(diǎn)可以看出,節(jié)點(diǎn)間沒有明確的從屬關(guān)系,一個(gè)節(jié)點(diǎn)可以與其它多個(gè)節(jié)點(diǎn)有聯(lián)系。特點(diǎn)允許存在一個(gè)以上的節(jié)點(diǎn)沒有父節(jié)點(diǎn)。節(jié)點(diǎn)可以有多余一個(gè)的父節(jié)點(diǎn)。缺點(diǎn):由于在使用網(wǎng)狀模型時(shí),用戶必須熟悉數(shù)據(jù)的邏輯結(jié)構(gòu),所以結(jié)構(gòu)的復(fù)雜性增加了用戶查詢和定位的難度。不支持對(duì)于層次結(jié)構(gòu)的表達(dá)等。2024/2/565第1章數(shù)據(jù)庫(kù)概述與層次模型類似,網(wǎng)狀結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體型,而這種實(shí)體型是用記錄型來表示。與層次結(jié)構(gòu)不同的是:在層次結(jié)構(gòu)中有且僅有一個(gè)根節(jié)點(diǎn),而在網(wǎng)狀結(jié)構(gòu)中則允許同時(shí)存在多個(gè)“根節(jié)點(diǎn)”;在層次結(jié)構(gòu)中每個(gè)節(jié)點(diǎn)有且僅有一個(gè)父節(jié)點(diǎn)(根節(jié)點(diǎn)除外),而在網(wǎng)狀結(jié)構(gòu)中則允許一個(gè)節(jié)點(diǎn)同時(shí)有多個(gè)“父節(jié)點(diǎn)”。這種結(jié)構(gòu)上的差異,也導(dǎo)致了節(jié)點(diǎn)對(duì)應(yīng)的記錄型結(jié)構(gòu)的變化。網(wǎng)狀模型中節(jié)點(diǎn)間聯(lián)系的實(shí)現(xiàn)必須由節(jié)點(diǎn)同時(shí)指出其父節(jié)點(diǎn)和子節(jié)點(diǎn)的方法來完成。而在層次模型中,每個(gè)節(jié)點(diǎn)只需指定其父節(jié)點(diǎn)即可(根節(jié)點(diǎn)除外)。也正是由于這種差異的存在,使得網(wǎng)狀模型在性質(zhì)和功能上發(fā)生了重要的改變。這主要體現(xiàn)在:網(wǎng)狀模型比層次模型具有更大的靈活性和更強(qiáng)的數(shù)據(jù)建模能力。2024/2/566第1章數(shù)據(jù)庫(kù)概述【例子】圖1.8表示了學(xué)生A、B和課程C、D、E之間的一種選修聯(lián)系的網(wǎng)狀結(jié)構(gòu)圖。2024/2/567圖1.8課程選修網(wǎng)狀結(jié)構(gòu)對(duì)于小數(shù)據(jù)量而言,層次模型和網(wǎng)狀模型的缺點(diǎn)可能不太明顯,但是當(dāng)作用于大數(shù)據(jù)量時(shí),其缺點(diǎn)就顯得非常突出。所以,這兩種模型不適合用于當(dāng)今以處理海量數(shù)據(jù)為特征的數(shù)據(jù)處理任務(wù)中。目前,它們基本上退出了市場(chǎng),取而代之的是關(guān)系模型。第1章數(shù)據(jù)庫(kù)概述3.關(guān)系模型關(guān)系模型是當(dāng)今最為流行的一種數(shù)據(jù)模型。在關(guān)系模型中,實(shí)體間的聯(lián)系是通過二維關(guān)系(簡(jiǎn)稱關(guān)系)來定義,其數(shù)據(jù)結(jié)構(gòu)就是二維關(guān)系。每個(gè)一種二維關(guān)系都可以用一張二維表來表示,表達(dá)直觀、明了。所以,很多時(shí)候是把二維表和關(guān)系直接等同起來,簡(jiǎn)稱為(二維)關(guān)系表。關(guān)系模型就是若干張關(guān)系表的集合。2024/2/568第1章數(shù)據(jù)庫(kù)概述關(guān)系模型的術(shù)語關(guān)系:一張二維表。記錄(或元組):關(guān)系表中的一行。字段(或?qū)傩裕宏P(guān)系表中的一列。域:即字段的值域,也就是字段的取值范圍。數(shù)據(jù)項(xiàng)(或分量):某一個(gè)記錄中的一個(gè)字段值。主關(guān)鍵字段(或主碼):簡(jiǎn)稱主鍵,是關(guān)系表中一個(gè)或者多個(gè)字段的集合,這些記錄的值能夠唯一標(biāo)識(shí)每一個(gè)記錄。關(guān)系模式:是對(duì)關(guān)系的一種抽象的描述,其描述格式為“關(guān)系名(字段1,字段2,…,字段n)”,其中“字段1”帶下劃線,表示該字段是主關(guān)鍵字段。2024/2/569第1章數(shù)據(jù)庫(kù)概述關(guān)系模型的術(shù)語關(guān)系:一張二維表。記錄(或元組):關(guān)系表中的一行。字段(或?qū)傩裕宏P(guān)系表中的一列。域:即字段的值域,也就是字段的取值范圍。數(shù)據(jù)項(xiàng)(或分量):某一個(gè)記錄中的一個(gè)字段值。主關(guān)鍵字段(或主碼):簡(jiǎn)稱主鍵,是關(guān)系表中一個(gè)或者多個(gè)字段的集合,這些記錄的值能夠唯一標(biāo)識(shí)每一個(gè)記錄。關(guān)系模式:是對(duì)關(guān)系的一種抽象的描述,其描述格式為“關(guān)系名(字段1,字段2,…,字段n)”,其中“字段1”帶下劃線,表示該字段是主關(guān)鍵字段。關(guān)系模型的特點(diǎn):具有嚴(yán)密的數(shù)學(xué)基礎(chǔ)。關(guān)系代數(shù)、關(guān)系演算等都可以用于對(duì)關(guān)系模型進(jìn)行定性或者定量的分析,探討關(guān)系的分開和合并及其有關(guān)性質(zhì)等。概念單一化、表達(dá)直觀,但又具有較強(qiáng)的數(shù)據(jù)表達(dá)和建模能力。一般來說,一個(gè)關(guān)系只表達(dá)一個(gè)主題,如果有多個(gè)主題在一起,則需要將它們分開,用多個(gè)關(guān)系來表示,這就是概念的單一化。關(guān)系都已經(jīng)規(guī)范化。即關(guān)系要滿足一定的規(guī)范條件,這使得關(guān)系模型表現(xiàn)出特有的一些性質(zhì)。例如,在一個(gè)關(guān)系中數(shù)據(jù)項(xiàng)是最基本的數(shù)據(jù)單位,它不能再進(jìn)行分解;同一個(gè)字段的字段值具有相同的數(shù)據(jù)類型;各字段的順序是任意,記錄的順序也是任意的,等等。在關(guān)系模型中,對(duì)數(shù)據(jù)的操作是集合操作,即操作的對(duì)象是記錄的集合,操作所產(chǎn)生的結(jié)果也是記錄的集合。這種操作不具有明顯的方向性,不管如何操作,其難度都一樣。而在層次模型和網(wǎng)狀模型中,對(duì)數(shù)據(jù)的操作帶有明顯的方向性,在正反兩個(gè)方向上操作的難度完全不一樣。2024/2/570第1章數(shù)據(jù)庫(kù)概述關(guān)系模型的缺點(diǎn)對(duì)復(fù)雜問題的建模能力差。在對(duì)復(fù)雜問題建模時(shí)一般都會(huì)呈現(xiàn)出錯(cuò)綜復(fù)雜的關(guān)系,而關(guān)系模型僅限于用二維關(guān)系來表示這些復(fù)雜關(guān)系,無法用遞歸和嵌套的方式來描述(因?yàn)樗辉试S嵌套記錄和嵌套關(guān)系的存在)。所以,在許多時(shí)候關(guān)系模型顯得力不從心。對(duì)象語義的表達(dá)能力比較差?,F(xiàn)實(shí)世界中,對(duì)象之間的關(guān)系往往不僅限于量的關(guān)系,而且還可能體現(xiàn)語義之間的聯(lián)系,蘊(yùn)涵著特定的內(nèi)涵。但關(guān)系模型為了規(guī)范化這些關(guān)系,可能會(huì)強(qiáng)行拆開這種語義聯(lián)系,造成不自然的分解,從而使得在查詢等操作時(shí)出現(xiàn)語義不合理的結(jié)果??蓴U(kuò)充性差。關(guān)系模式只支持

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論