版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Chap 3,資料庫模型與處理架構(gòu),3-1 資料模型的基礎(chǔ)-說明,「資料模型」(Data Model)是使用一組整合觀念來描述資料、資料間的關(guān)係和資料的限制條件(是否是正確資料),也就是用來描述資料庫中資料的特性。,,3-1 資料模型的基礎(chǔ)-圖例,概念資料模型:這是與資料庫管理系統(tǒng)無關(guān),即沒有使用特定資料庫種類來建立資料模型,以概念方式描述大多數(shù)使用者認知的資料。邏輯資料模型:使用特定資料庫種類建立的資料模型,例如:關(guān)聯(lián)式資料模型,這
2、是用來描述ANSI/SPARC三層資料庫架構(gòu)中,位在概念層以上的概念和外部層資料。實體資料模型:這個資料模型是用來描述ANSI/SPARC三層資料庫架構(gòu)的內(nèi)部層資料。,3-1 資料模型的基礎(chǔ),完整的資料庫程式設(shè)計,以關(guān)聯(lián)式資料庫設(shè)計為例:先收集使用者認知的資料,以概念資料庫設(shè)計建立概念資料模型接著將概念資料模型執(zhí)行關(guān)聯(lián)表正規(guī)化,轉(zhuǎn)換成邏輯資料模型最後建立實體資料模型的實體資料庫設(shè)計,3-1 資料模型的基礎(chǔ),建立概念資料模型的原因
3、,如下所示:能夠進一步了解資料範圍。增加與最終使用者的溝通機會。開發(fā)與資料庫管理系統(tǒng)無關(guān)的資料模型。儘早發(fā)現(xiàn)資料庫設(shè)計的錯誤。,3-1-2 概念資料模型,概念資料模型最常使用「實體關(guān)聯(lián)模型」(Entity-Relationship Model,簡稱E-R Model)以圖形方式建立,稱為「實體關(guān)聯(lián)圖」(Entity-Relationship Diagram),這是1976年由Peter Chen提出,他相信在真實世界中,實體和其
4、關(guān)聯(lián)是最自然的模型化觀念,換句話說,實體關(guān)聯(lián)模型的基礎(chǔ)是建構(gòu)在實體和關(guān)聯(lián)性之上。,3-1-2 概念資料模型,,3-1-2 概念資料模型,第一個邏輯資料模型是關(guān)聯(lián)式模型,因為是關(guān)聯(lián)式資料庫的資料模型,所以本書稱為關(guān)聯(lián)式資料庫模型。關(guān)聯(lián)式資料庫模型是由E. F. Codd在1970年所提出,邏輯資料模型主要是由三種元素組成,如下所示:資料結(jié)構(gòu)(Data Structures):資料的組成方式,以關(guān)聯(lián)式資料庫模型來說,就是欄和列組成的表格
5、。資料操作或運算(Data Manipulation或Operations):資料的相關(guān)操作。例如:新增、刪除、更新和查詢。完整性限制條件(Integrity Constraints):維護資料完整性的限制條件,其目的是確保資料是合法的資料。,3-1-3 邏輯資料模型,資料庫系統(tǒng)演進各年代的資料庫系統(tǒng)中,其使用的資料庫模型就是邏輯資料模型,主要有四種邏輯資料模型,如下所示:網(wǎng)路式資料庫模型(Network Databse Mode
6、l)。階層式資料庫模型(Hierarchical Database Model)。關(guān)聯(lián)式資料庫模型(Relational Database Model)。物件導(dǎo)向式資料庫模型(Object-Oriented Database Model)。,3-1-3 邏輯資料模型-說明,,3-1-3 邏輯資料模型-圖例,將學校的開課資料的實體關(guān)聯(lián)圖轉(zhuǎn)換成邏輯資料模型,實體資料模型(Physical Data Model)是針對指定資料庫管理系統(tǒng)
7、建立實際架構(gòu)的模型,資料模型可以顯示資料是如何實作和儲存在資料庫。關(guān)聯(lián)式資料庫管理系統(tǒng)的實體資料模型是建立關(guān)聯(lián)表的表格、關(guān)聯(lián)性和定義索引。,3-1-4 實體資料模型,,3-1-4 實體資料模型-圖例,3-2-1 網(wǎng)路式資料庫模型3-2-2 階層式資料庫模型3-2-3 物件導(dǎo)向式資料庫模型3-2-4 物件關(guān)聯(lián)式資料庫模型,3-2 資料庫模型,網(wǎng)路式資料庫和階層式資料庫系統(tǒng)約在同一個年代開發(fā),早於關(guān)聯(lián)式資料庫系統(tǒng),不過網(wǎng)路式資料庫模
8、型(Network Database Model)是在關(guān)聯(lián)式資料庫模型出現(xiàn)後才出現(xiàn)的資料模型(這是參考關(guān)聯(lián)式資料庫模型所導(dǎo)出),資料模型採用網(wǎng)路圖形來連結(jié)資料。網(wǎng)路式資料庫模型支援多對多關(guān)聯(lián)性,這是依據(jù)1971年由CODASYL DBTG(Conference on Data Systems Languages Database Task Group)組織所提出的報告,或稱為DBTG模型,Database Task Group從196
9、0年代後期就開始發(fā)展的網(wǎng)路式資料庫系統(tǒng)。,3-2-1 網(wǎng)路式資料庫模型,網(wǎng)路式資料庫模型是將資料組織成網(wǎng)路狀圖形,資料間連接可以擁有迴圈。網(wǎng)路式資料庫模型的兩種基本型態(tài),如下所示:記錄型態(tài)(Record Type):記錄型態(tài)是由一組屬性所組成,每一個記錄型態(tài)的成員稱為記錄,資料是一組記錄的集合。連接型態(tài)(Link Type):它是連接兩個記錄型態(tài)的型態(tài),屬於一對多關(guān)聯(lián)性(Relationship),這是從稱為「擁有者型態(tài)」(Owne
10、r Type)關(guān)聯(lián)到多個「成員型態(tài)」(Member Type)。,3-2-1 網(wǎng)路式資料庫模型,,網(wǎng)路式資料庫模型是建立在兩種「集合結(jié)構(gòu)」(Set Structures),也就是一組記錄型態(tài)的記錄集合和一組連接型態(tài)的連接集合,如下圖所示:,3-2-1 網(wǎng)路式資料庫模型,,3-2-1 網(wǎng)路式資料庫模型,階層式資料庫模型(Hierarchical Database Model)類似網(wǎng)路式資料庫模型,只是使用樹狀結(jié)構(gòu)來組織資料,記錄資料間是以
11、父子關(guān)係來建立鏈結(jié),子記錄只能擁有一個父記錄。在1960年代後期階層式資料庫模型的資料庫管理系統(tǒng)非常的普遍,最著名的階層式資料庫系統(tǒng)是1968年IBM公司開發(fā)的「IMS」(Information Management System),這也是最早商用的資料庫管理系統(tǒng)。,3-2-2 階層式資料庫模型,階層式資料庫模型的資料結(jié)構(gòu)一定擁有一個「樹根」(Root),使用「父子關(guān)聯(lián)性」來鏈結(jié)記錄集合,將資料建立成階層的樹狀結(jié)構(gòu)。記錄型態(tài)(Rec
12、ord Type):記錄型態(tài)是由一組欄位屬性組成。每一個記錄型態(tài)的成員稱為記錄,資料是一組記錄的集合。父子關(guān)聯(lián)型態(tài)(Parent-child Relationship Type):兩個記錄型態(tài)間的連接型態(tài),屬於一對多關(guān)聯(lián)性,這是從稱為「父記錄型態(tài)」關(guān)聯(lián)到多個「子記錄型態(tài)」。,3-2-2 階層式資料庫模型,,階層式資料庫模型是由多個記錄型態(tài),然後使用父子關(guān)聯(lián)型態(tài)將它連接起來,如下圖所示:,3-2-2 階層式資料庫模型,,3-2-2 階層
13、式資料庫模型,,多對多關(guān)聯(lián)性在階層式資料庫模型可以重複記錄型態(tài),如下圖所示:,3-2-2 階層式資料庫模型,,「虛擬記錄型態(tài)」(Virtual Record Type)的記錄只是一個指標,指向其他記錄型態(tài)的記錄,如下圖所示:,3-2-2 階層式資料庫模型,「物件導(dǎo)向式資料庫模型」(Object-Oriented Database Model)是在物件導(dǎo)向程式語言新增資料庫功能,換句話說,就是使用物件導(dǎo)向方式來模擬關(guān)聯(lián)式資料庫的功能。物
14、件導(dǎo)向式資料庫模型的主要目的是統(tǒng)一應(yīng)用程式和資料庫開發(fā)的資料模型和語言環(huán)境,物件導(dǎo)向式資料庫模型讓程式設(shè)計和資料庫統(tǒng)一使用物件導(dǎo)向方式進行設(shè)計。,3-2-3 物件導(dǎo)向式資料庫模型,,,物件是資料與相關(guān)處理資料的程序和函數(shù)結(jié)合在一起的組合體,資料就是變數(shù),程序和函數(shù),其中程序與函數(shù)稱為方法,如下圖所示:,3-2-3 物件導(dǎo)向式資料庫模型,狀態(tài)(State):物件所有「屬性」的狀態(tài)值,屬性是用來儲存物件的狀態(tài),可以簡單的只是一個布林值變數(shù),
15、也可能是另一個物件,例如:車子的車型、排氣量等屬性。行為(Behavior):行為是物件可見部分提供的服務(wù),也就是塑模所抽象化的操作,可以作什麼事,使用方法來實作行為,例如:車子可以發(fā)動、停車、加速和換擋等。識別字(Identity):識別字是用來識別不同的物件,每一個物件都擁有獨一無二的識別字。,3-2-3 物件導(dǎo)向式資料庫模型,類別是一種分類,將擁有相同特性的物件集合歸類在同一類別,在前面我們建立摸擬各種車輛的Car、Car1、
16、Car2、Car3…等物件,各物件擁有相同屬性和行為,只是狀態(tài)不同。簡單的說,這些物件屬於同一類,反過來看,我們可以建立一個範本來建立這些物件,如同工廠依照藍圖製造車輛,這個範本就是類別,屬於同一類別的物件即該類別的「實例」(Instance)。,3-2-3 物件導(dǎo)向式資料庫模型,繼承(Inheritance)是物件導(dǎo)向程式設(shè)計的重要觀念,繼承是宣告的類別繼承現(xiàn)存類別的部分或全部的成員資料和方法、新增額外的成員資料和方法或覆寫和隱藏繼
17、承類別的方法或資料。,3-2-3 物件導(dǎo)向式資料庫模型,,,類別的繼承關(guān)係可以建立「類別架構(gòu)」(Class Hierarchy),如下圖所示:,3-2-3 物件導(dǎo)向式資料庫模型,物件導(dǎo)向式資料庫(Object-oriented Database)使用物件導(dǎo)向式資料模型,以物件導(dǎo)向程式語言定義資料庫的結(jié)構(gòu),以Java語言來說就是類別(Class),一個類別相當於關(guān)聯(lián)式資料庫的一個關(guān)聯(lián)表,例如:使用Java語言定義Book類別,如下所示:
18、class Book { public String b_no; public String title; public float price; public Author getAuthor() { …… } public Publisher getPublisher() { …… }},3-2-3 物件導(dǎo)向式資料庫模型,,物件導(dǎo)向式資料庫是物件導(dǎo)向程式設(shè)計和資料庫技術(shù)的聯(lián)姻,如下圖所示:,
19、3-2-3 物件導(dǎo)向式資料庫模型,「物件關(guān)聯(lián)式資料庫模型」(Object-relational Database Model)是一種結(jié)合物件導(dǎo)向式和關(guān)聯(lián)式資料庫模型,擴充關(guān)聯(lián)式資料庫模型的功能,所以其基本的觀念仍然是關(guān)聯(lián)式資料庫模型,只是新增結(jié)構(gòu)化屬性,能夠自行定義資料型態(tài)。國際標準組織(International Standards Organization, ISO)在新版的標準SQL語言新增物件關(guān)聯(lián)式模型的觀念,稱為SQL 99
20、或SQL 3,在SQL:99新增物件觀念,可以擴充資料型態(tài)儲存複雜的資料,但是仍相容於關(guān)聯(lián)式資料庫。,3-2-4 物件關(guān)聯(lián)式資料庫模型,,物件關(guān)聯(lián)式資料庫模型支援「巢狀關(guān)聯(lián)表」(Nested Relations),也就是說,資料型態(tài)不只可以使用關(guān)聯(lián)式資料庫的基本型態(tài),還可以使用自訂型態(tài)的物件,相當於是另一個關(guān)聯(lián)表。例如:在Authors關(guān)聯(lián)表新增名為address的新型態(tài),如下圖所示:,3-2-4 物件關(guān)聯(lián)式資料庫模型,,物件關(guān)聯(lián)式資料
21、庫的關(guān)聯(lián)表和巢狀關(guān)聯(lián)表,如下圖所示:,3-2-4 物件關(guān)聯(lián)式資料庫模型,資料庫系統(tǒng)以使用者人數(shù)來區(qū)分:單人使用多人使用資料庫系統(tǒng)以使用範圍(Scope)區(qū)分:桌上型(Desktop)工作群組(Workgroup)企業(yè)級(Enterprise)資料庫系統(tǒng)以位置來區(qū)分,資料庫系統(tǒng)的資料處理可能位在同一臺主機或網(wǎng)路上的其他主機:集中式資料處理(Centralized Data Processing)分散式資料處理(Distr
22、ibuted Data Processing),3-3 資料庫系統(tǒng)的種類,如果資料庫系統(tǒng)使用前述的資料庫模型來區(qū)分,資料庫系統(tǒng)可以依使用的資料庫模型進行分類,如下所示:網(wǎng)路式資料庫系統(tǒng)。階層式資料庫系統(tǒng)。關(guān)聯(lián)式資料庫系統(tǒng)。物件導(dǎo)向式資料庫系統(tǒng)。物件關(guān)聯(lián)式資料庫系統(tǒng)。,3-3 資料庫系統(tǒng)的種類,「架構(gòu)」(Architecture)這個名詞可以指單獨一臺電腦設(shè)計,不過對於企業(yè)組織來說,通常是指整個公司組織電腦系統(tǒng)的配置,包含實際使
23、用的電腦硬體種類、網(wǎng)路、配置的位置和使用的電腦運算方式。資料庫系統(tǒng)架構(gòu)可以分成兩種處理架構(gòu),如下所示:集中式處理架構(gòu)(Centralized Processing Architectures)。分散式處理架構(gòu)(Distributed Processing Architectures)。,3-4 架構(gòu)的基礎(chǔ),在早期大型主機(Mainframe)時代,電腦系統(tǒng)主要是使用IBM公司開發(fā)的「系統(tǒng)網(wǎng)路架構(gòu)」(Systems Network
24、Architecture, SNA),這種架構(gòu)屬於集中式處理架構(gòu),擁有一臺大型主機,使用多個終端機與主機溝通。以資料庫系統(tǒng)來說,資料庫管理系統(tǒng)和作業(yè)系統(tǒng)都在同一臺電腦執(zhí)行,使用者透過終端機將資訊送到主機,例如:資料庫查詢指令,然後從主機取得回應(yīng)結(jié)果,在終端機顯示的結(jié)果是由主機產(chǎn)生的資料,終端機只負責顯示取得的資料。,3-5 集中式處理架構(gòu),,3-5 集中式處理架構(gòu),資料庫系統(tǒng)分成使用者的前臺(Frontends)和資料庫的後臺(Bac
25、kends),分別分散執(zhí)行所需的工作,如下所示:前臺(Frontend):使用者執(zhí)行的應(yīng)用程式,用來執(zhí)行資料庫查詢等資料處理,然後顯示執(zhí)行的結(jié)果。後臺(Backend):執(zhí)行資料處理的資料庫管理系統(tǒng)。,3-6 分散式處理架構(gòu)-前後臺,,3-6 分散式處理架構(gòu)-前後臺圖例,「檔案分享架構(gòu)」並不是一種主從架構(gòu),它是主從架構(gòu)的前身,早期個人電腦網(wǎng)路都是採用檔案分享架構(gòu),主機扮演的角色單純只是「檔案伺服器」(File Server)??蛻?/p>
26、端向檔案伺服器請求資料檔案,然後將檔案下載到客戶端,然後在客戶端電腦啟動資料庫管理系統(tǒng)執(zhí)行資料處理,真正執(zhí)行資料處理是在客戶端的個人電腦或工作站,檔案伺服器只是儲存和管理檔案,稱為「檔案伺服器模型」。,3-6-1 檔案分享架構(gòu),主從架構(gòu)的電腦本身並沒有分別,只是扮演不同的角色,分為伺服端(Server)和客戶端(Client),如下所示:伺服端(Server):在主從架構(gòu)中扮演提供服務(wù)(Service)的提供者(Provider)角色
27、??蛻舳耍–lient):在主從架構(gòu)中的角色是提出服務(wù)請求(Request)的請求者(Requester)。,3-6-2 主從架構(gòu)的基礎(chǔ),,3-6-2 主從架構(gòu)的基礎(chǔ),標準主從架構(gòu)是二層式主從架構(gòu)(Two-Tier Client/Server Architecture)。二層式主從架構(gòu)可以分成兩部分,如下:展示層(Presentation Tier):與使用者互動的使用介面,這是實際使用者看到的應(yīng)用程式,同時負責商業(yè)邏輯(Busi
28、ness Logic)和資料處理邏輯(Data Processing Logic)。資料層(Data Tier):負責資料的儲存,以資料庫系統(tǒng)來說,就是管理資料庫的資料庫管理系統(tǒng)。,3-6-3 二層式主從架構(gòu),,3-6-3 二層式主從架構(gòu),缺點更改商業(yè)和資料處理邏輯就需要重新修改、編譯和安裝展示層應(yīng)用程式。二層式主從架構(gòu)只傳遞回應(yīng)資料,但是真正的資料處理是在展示層應(yīng)用程式,所需的資料仍然需要從資料層傳送到展示層,增加區(qū)域網(wǎng)路負載。
29、在從端的每一個展示層應(yīng)用程式都需要獨立的資料庫連結(jié),並且保持連線狀態(tài),而區(qū)域網(wǎng)路最多只能支援大約100人同時建立資料庫連結(jié)??蛻舳藨?yīng)用程式的程式碼是使用特定資料庫管理系統(tǒng)的函式庫,如果資料庫管理系統(tǒng)更改時,展示層應(yīng)用程式的程式碼也須修改。,3-6-3 二層式主從架構(gòu),擴充二層式主從架構(gòu),在之間新增一層「商業(yè)邏輯層」(Business Logic Tier),就成為「三層式主從架構(gòu)」(Three-Tier Client/Server
30、Architecture),將二層式主從架構(gòu)展示層的資料處理和商業(yè)邏輯功能獨立成「應(yīng)用程式伺服器」(Application Server)。應(yīng)用程式伺服器(Application Server)如同餐廳中超高效率的服務(wù)生,從展示層的前臺取得點選的套餐,將它送到後臺的資料庫伺服器取得所需的各種餐點,在處理後,送到前臺的是一套完整組合的套餐。,3-6-4 三層式主從架構(gòu),,3-6-4 三層式主從架構(gòu)-圖例,優(yōu)點清楚切割使用介面的展示層和
31、商業(yè)邏輯層的資料處理與商業(yè)邏輯,如此可以重複使用資料處理和商業(yè)邏輯的現(xiàn)成軟體元件,加速應(yīng)用程式的開發(fā)。集中管理和維護商業(yè)邏輯,如有更改,只需更改商業(yè)邏輯層的應(yīng)用程式伺服器,而不用更改展示層的應(yīng)用程式。更改資料層的資料庫管理系統(tǒng),同樣不會影響展示層的應(yīng)用程式。商業(yè)邏輯層和資料層的實際架構(gòu)可以位在同一臺電腦伺服器,或是不同電腦使用高速網(wǎng)路連接,如此可以解決網(wǎng)路資料傳遞的頻寬問題。,3-6-4 三層式主從架構(gòu),多層架構(gòu)(N-Tier A
32、rchitecture)是將三層式主從架構(gòu)進行再次的擴充,N表示分割成3、4或5等層,需視資料庫系統(tǒng)架構(gòu)的需求來進行分割。多層架構(gòu)是將三層式架構(gòu)的商業(yè)邏輯層架構(gòu)再次分割成獨立軟體元件的多個應(yīng)用程式伺服器,事實上,三層式架構(gòu)可視為一種最基本的多層架構(gòu)。,3-6-5 多層架構(gòu),,3-6-5 多層架構(gòu)-網(wǎng)頁資料庫圖例,「中介軟體」(Middleware)是一種軟體用來整合不同應(yīng)用程式,以便各應(yīng)用程式可以使用標準方式進行連結(jié)和資料的交換。中
33、介軟體可以隱藏背後實際執(zhí)行的應(yīng)用程式,只需透過中介軟體就可以進行與其他應(yīng)用程式的通訊和資料交換。,3-7 中介軟體,在資料庫系統(tǒng)架構(gòu),中介軟體在二層式主從架構(gòu)是連接前臺和後臺的軟體程式,在三層式主從架構(gòu)是用來連接商業(yè)邏輯層和資料層的資料庫管理系統(tǒng)。中介軟體的主要的目的是簡化資料庫應(yīng)用程式的開發(fā),因為資料庫管理系統(tǒng)的種類繁多且支援多種作業(yè)系統(tǒng),各家廠商都擁有專屬函式庫呼叫來進行通訊和資料交換。,3-7-1 資料庫系統(tǒng)的中介軟體,,3-7
34、-1 資料庫系統(tǒng)的中介軟體優(yōu)點,微軟主導(dǎo)的資料庫中介軟體有兩種:ODBC。OLE DB。OLE DB和ODBC的主要差異是OLE DB資料來源並不限於關(guān)聯(lián)式資料庫,它也可以使用在非關(guān)聯(lián)式資料庫、試算表或文字檔案等其他資料來源。,3-7-2 微軟的中介軟體-說明,微軟主導(dǎo)的資料庫中介軟體稱為「ODBC」,ODBC提供標準方式存取關(guān)聯(lián)式資料庫伺服器的資料,程式使用「ODBC API」呼叫來建立所需的應(yīng)用程式,ODBC架構(gòu)主要分成兩個部
35、分:ODBC驅(qū)動程式管理員(ODBC Driver Manager):管理ODBC支援的各種驅(qū)動程式,以便使用正確的ODBC驅(qū)動程式來轉(zhuǎn)換ODBC API呼叫。ODBC驅(qū)動程式(ODBC Driver):各種資料庫管理系統(tǒng)支援的驅(qū)動程式,可以將ODBC API呼叫轉(zhuǎn)換成專屬資料庫管理系統(tǒng)的原生API呼叫。,3-7-2 微軟的中介軟體-ODBC,,3-7-2 微軟的中介軟體-ODBC(圖例),OLE DB(也寫成OLE-DB或OLED
36、B)是一種微軟開發(fā)的資料庫存取介面API,它是繼ODBC後,微軟另一種開放規(guī)格的資料存取介面。OLE DB是使用COM(Component Object Model)元件來實作存取介面,可以使用一致行為來存取不同資料來源的資料,支援關(guān)聯(lián)式資料庫、非關(guān)聯(lián)式資料庫的物件導(dǎo)向資料庫、文字檔、電子郵件、目錄服務(wù)、試算表和商業(yè)物件等不同來源的資料。,3-7-2 微軟的中介軟體-OLE DB,,3-7-2 微軟的中介軟體-OLE DB,昇陽公司提
37、出的資料庫中介軟體是「JDBC」是一種開放標準的Java程式介面,可以讓Java程式連結(jié)資料庫管理系統(tǒng)。以Java程式語言來說,這是一個實作JDBC驅(qū)動程式介面的類別,即JDBC API,JDBC驅(qū)動程式介面主要分為兩類:透過其他中介軟體作為另一種中介軟體的橋樑。JDBC驅(qū)動程式介面可以直接連接資料庫管理系統(tǒng)。,3-7-3 昇陽的JDBC,,3-7-3 昇陽的JDBC-圖例,若資料庫伺服器只有一個,資料庫的資料是集中儲存在一個地方
38、,稱為「集中式資料庫系統(tǒng)」。集中式資料庫系統(tǒng)雖然方便資料管理,但風險高、易受網(wǎng)路流量影響傳輸速度且主機負荷量大。分散式資料庫系統(tǒng):將資料依特性分散儲存在以網(wǎng)路的連接的資料庫伺服器上,3-8 分散式資料庫系統(tǒng),,3-8 分散式資料庫系統(tǒng)-圖例,「分散式資料庫」(Distributed Database, DDB):指資料在邏輯上屬於同一個資料庫系統(tǒng),不過事實上,實際的資料是分散儲存在以網(wǎng)路連接的不同資料庫伺服器上。「分散式資料庫管理
39、系統(tǒng)」:管理分散式資料庫的軟體,提供資料的分散儲存,但是使用者並不會認為它是在存取分散儲存的資料,對於使用者來說,仍然是一個完整的資料庫,如此稱為「透通性」(Transparent)。,3-8-1 分散式資料庫系統(tǒng)的基礎(chǔ),最基本的分散式資料庫系統(tǒng)架構(gòu)是使用主從架構(gòu),它是由多個站(Sites)或稱為點(Nodes)所組成,使用通訊網(wǎng)路(Communication Network)連接,可以使用區(qū)域網(wǎng)路(Local Area Network
40、)或廣域網(wǎng)路(Wide Area Network)。分散式資料庫系統(tǒng)分成1~N個站,有些站的角色是客戶端(從端),有些站是伺服器(主端),有些站同時擁有客戶和伺服器,資料庫分散置於擁有伺服器的各站。,3-8-1 分散式資料庫系統(tǒng)的基礎(chǔ),,3-8-1 分散式資料庫系統(tǒng)的基礎(chǔ),3-8-1 分散式資料庫系統(tǒng)的基礎(chǔ),分散式資料庫系統(tǒng)分成1~N個站,有些站的角色是客戶端,有些站是伺服器,有些兩者兼具,資料庫分散於擁有伺服器的各站分散式資料庫系
41、統(tǒng)主要在客戶端軟體處理分散功能,所以客戶端需要產(chǎn)生多站查詢和交易管理的執(zhí)行計畫,優(yōu)點增加資料庫系統(tǒng)的執(zhí)行效能:在最近的地方就可以取得所需的資料。提高可靠性和可用性:就算有些伺服器當機或出現(xiàn)網(wǎng)路問題,分散式資料庫系統(tǒng)仍然擁有足夠的妥善率,不會影響整個資料庫系統(tǒng)的運作。更多的彈性和擴充性:因為資料是分散儲存在多臺伺服器,不論擴充與重新配置資料庫伺服器的彈性都比較高。分享與區(qū)域自主性:資料庫伺服器的資料可以分享,也可以只讓區(qū)域的使用者
42、存取。,3-8-2 分散式資料庫系統(tǒng)的優(yōu)缺點,缺點系統(tǒng)複雜:資料是分散儲存在各地的伺服器,所以分散式資料庫系統(tǒng)的複雜度相當高。成本高昂:相關(guān)應(yīng)用程式的開發(fā)成本隨著分散程度而提高。維護不易:分散式資料庫系統(tǒng)維護不易,容易產(chǎn)生資料安全與整合問題。缺乏標準:目前並沒有分散式資料庫系統(tǒng)的官方標準。,3-8-2 分散式資料庫系統(tǒng)的優(yōu)缺點,同質(zhì)分散式資料庫系統(tǒng)(Homogeneous Distributed Database System)
43、指所有資料庫伺服器都採用相同的資料庫管理系統(tǒng),使用相同的資料庫模型和資料操作方式。異質(zhì)分散式資料庫系統(tǒng)(Heterogeneous Distributed Database System)指資料庫伺服器使用不同的資料庫管理系統(tǒng),例如:同時使用SQL Server和Oracle,此時需要考量不同資料庫管理系統(tǒng)和不同格式資料間的整合問題。,3-8-3 分散式資料庫系統(tǒng)的種類,「資料分割」(Data Fragmentation)是分割資
44、料庫的資料成為一個個片斷(Fragment),以便將各片斷分散儲存在其他資料庫伺服器,其中每一個片斷是資料庫的一個較小的邏輯單位。以分散式關(guān)聯(lián)式資料庫為例,各資料庫只會儲存關(guān)聯(lián)表的部分片斷,其分割方式有水平方向的水平分割和垂直方向的垂直分割。,3-8-4 資料分割-說明,,水平分割(Horizontal Fragmentation)以關(guān)聯(lián)式資料庫為例,就是將關(guān)聯(lián)表以值組的列為分割單位,分割成更小的邏輯單位。,3-8-4 資料分割-水
45、平分割,,垂直分割(Vertical Fragmentation)以關(guān)聯(lián)式資料庫為例,就是將關(guān)聯(lián)表以屬性的欄為分割單位,分割成更小的邏輯單位。,3-8-4 資料分割-垂直分割,「資料複寫」(Data Replication)是分散式資料庫系統(tǒng)的重要特點,複寫是建立資料庫的備份,其中原始資料庫稱為主資料庫(Master),複寫的資料庫稱為拷貝資料庫(Replica),在主資料庫和拷貝資料庫之間需要定時進行同步更新。在分散式資料庫系統(tǒng)使
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資料結(jié)構(gòu)
- 資料結(jié)構(gòu)_課程
- 資料(鋼結(jié)構(gòu)資料全套表格)
- 鋼結(jié)構(gòu)資料匯總
- 鋼結(jié)構(gòu)資料-檢驗批
- 鋼結(jié)構(gòu)驗收資料(全部)
- 硝酸鋼結(jié)構(gòu)驗收資料
- 鋼結(jié)構(gòu)資料全套表格
- 鋼結(jié)構(gòu)驗收資料(全套)
- 鋼結(jié)構(gòu)-施工管理資料
- 地下結(jié)構(gòu)復(fù)習資料
- 鋼結(jié)構(gòu)復(fù)習資料
- 鋼結(jié)構(gòu)驗收資料(全套)
- 鋼結(jié)構(gòu)金鋼獎全套資料
- 鋼結(jié)構(gòu)工程竣工驗收資料
- 免費-hsk刀柄結(jié)構(gòu)新資料
- 【資料】2細菌的結(jié)構(gòu)ii
- 結(jié)構(gòu)化面試總結(jié)資料
- 鋼結(jié)構(gòu)竣工資料 全
- 鋼結(jié)構(gòu)驗收資料(全套范例)
評論
0/150
提交評論