Chap 3 資料庫模型與處理架構.

Slides:



Advertisements
Similar presentations
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
Advertisements

数据库系统原理 数据库系统概论 SQL Server 数据库系统原理 3.1 SQL Server 2000 特性 Microsoft SQL Server 2000 的特性包括: 真正的客户机 / 服务器体系结构。 图形化用户界面。 丰富的编程接口工具。 SQL Server 与 Windows.
数据库原理 彭煜玮 计算机学院 珞珈图腾数据库实验室.
大型主机应用上的开放系统和中间件 2011年度教育部-IBM精品课程
数据库原理及应用(ORACLE)实用教程
An Introduction to Database Systems
An Introduction to Database System
課程名稱:計算機概論 授課老師:李春雄 博士
系統分析與設計 第九章 資料設計.
数据库系统原理及应用 Database Theory and Application
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
数据库系统概论 An Introduction to Database Systems
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
Building Energy Management System (BEMS)
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
第二章 管理資訊系統概論暨資訊系統應用(Introduction to MIS and the Applications of IS)
第 11 章 網際網路與資料庫系統.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
建设数字化的卫生监督体系 深 圳 市 卫 生 监 督 所 2006年4月.
第8章 系統架構.
数据库原理与应用.
Principles and Applications of the Database
数据库系统概论 第 三 版 主 讲: 李明东. 数据库系统概论 第 三 版 主 讲: 李明东.
转正述职报告 乐恩公司 史航
数据库技术及应用 华中科技大学管理学院 课程网址:
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
第4章 数据库技术及应用 软件开发技术基础 计算机教学实验中心 2006.
Database system (資料庫) Instructor: Lee, Wei-Hsun Ph.D
第1章 SQL Server 关系数据库简介 1.1 SQL Server 特点 1.2 SQL Server的安装和配置
通訊協定 OSI分層模式 與 TCP/IP協定
Arena System Technology Architecture 系统技术架构 1、Database V2(Lotus Notes)V3(Oracle8i) 2、Application Server SilverStream2.53 (Java as server side programming.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
Microsoft SQL Server 2000 李金双.
彰化縣政府補助辦理網頁設計資料庫應用班 資料庫簡介 建國技術學院資管系 饒瑞佶.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
Chapter 8 電子商業的核心-企業資源規劃
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
計算機概論 第十章 檔案與資料庫管理系統 陳維魁/陳邦治 旗標出版社.
第1章 SQL Server 2005 关系数据库简介.
AnQing Teachers College Department of Computer & Information
資料庫系統導論.
「寬頻匯流網路管理」教材 模組四: 第一章 網路管理架構
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
專題J組 題目: 檢定考試管理系統 指導老師: 曾修宜 老師 組員: 曾聖棋 謝宗翰
課程名稱:_____________ 指導教授:_____________
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
CH03 行銷資訊系統資料庫模組--資料庫概論
最成功的合作開發模式 合作開發流程 A. 資料收集 訪談 B. 分析現有 系統 C. 合約簽定 D. 規格確認 E. 程式撰寫 F.
第6章 資料庫設計與實體關聯模型 6-1 資料庫設計的基礎 6-2 實體關聯模型 6-3 建立實體關聯圖 6-4 實體關聯圖的常見錯誤
江西财经大学《数据库应用》精品课程组 2011年 Comments are welcome!
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
甚麼是資訊管理 資管二德黃明聰
计算机文化 第7讲:数据库技术 王哲 河南中医药大学信息技术学院.
資料庫管理系統 緒 論.
從 ER 到 Logical Schema ──兼談Schema Integration
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
光輪2000升級 升級SQL Server Analysis Services 2005
汪卫 王轶彤 老逸夫楼602-3 数据库新技术 汪卫 王轶彤 老逸夫楼602-3.
第十八章 資料庫與Access 課前指引 在日常生活中,無論各位到銀行開戶、醫院掛號或是到學校註冊,一定都會填寫所謂的個人資料,裡面通常包括姓名、性別、生日、電話、住址等項目,所以人們建立了各種不同的列表來儲存及組織這些資料。 人們當初試圖建造電腦的主要原因之一就是可用來儲存及管理一些數位化資料清單與資料,這也是資料庫觀念的由來。尤其在資訊科技發達的今日,日常的生活已經和資料庫產生密切的結合。例如目前最熱門的網路拍賣,如何讓千萬筆交易順利完成,或者透過手機記錄著他人電話號碼,並能分類與查詢電話。
SQL Server2000概述 SQL Server简介 SQL Server安装 SQL Server数据库 2019/5/8.
11 Overview Cloud Computing 2012 NTHU. CS Che-Rung Lee
2017学考复习 信息管理(导引P37).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
SAP 架構及前端軟體安裝 Logical View of the SAP System SAP Frontend 7.1安裝 SAP登入
2014Fall 資訊模式 資料庫和資料模型 國立中央大學 資訊管理系 范錚強 updated 中央大學。范錚強.
資料庫應用與實作 一到六章重點、習題.
第 1 章 認識資料庫系統.
第一章 Visual FoxPro数据库基础
Presentation transcript:

Chap 3 資料庫模型與處理架構

3-1 資料模型的基礎-說明 「資料模型」(Data Model)是使用一組整合觀念來描述資料、資料間的關係和資料的限制條件(是否是正確資料),也就是用來描述資料庫中資料的特性。

3-1 資料模型的基礎-圖例

3-1 資料模型的基礎 概念資料模型:這是與資料庫管理系統無關,即沒有使用特定資料庫種類來建立資料模型,以概念方式描述大多數使用者認知的資料。 邏輯資料模型:使用特定資料庫種類建立的資料模型,例如:關聯式資料模型,這是用來描述ANSI/SPARC三層資料庫架構中,位在概念層以上的概念和外部層資料。 實體資料模型:這個資料模型是用來描述ANSI/SPARC三層資料庫架構的內部層資料。

3-1 資料模型的基礎 完整的資料庫程式設計,以關聯式資料庫設計為例: 先收集使用者認知的資料,以概念資料庫設計建立概念資料模型 接著將概念資料模型執行關聯表正規化,轉換成邏輯資料模型 最後建立實體資料模型的實體資料庫設計

3-1-2 概念資料模型 建立概念資料模型的原因,如下所示: 能夠進一步了解資料範圍。 增加與最終使用者的溝通機會。 開發與資料庫管理系統無關的資料模型。 儘早發現資料庫設計的錯誤。

3-1-2 概念資料模型 概念資料模型最常使用「實體關聯模型」(Entity-Relationship Model,簡稱E-R Model)以圖形方式建立,稱為「實體關聯圖」(Entity-Relationship Diagram),這是1976年由Peter Chen提出,他相信在真實世界中,實體和其關聯是最自然的模型化觀念,換句話說,實體關聯模型的基礎是建構在實體和關聯性之上。

3-1-2 概念資料模型

3-1-3 邏輯資料模型 第一個邏輯資料模型是關聯式模型,因為是關聯式資料庫的資料模型,所以本書稱為關聯式資料庫模型。 關聯式資料庫模型是由E. F. Codd在1970年所提出,邏輯資料模型主要是由三種元素組成,如下所示: 資料結構(Data Structures):資料的組成方式,以關聯式資料庫模型來說,就是欄和列組成的表格。 資料操作或運算(Data Manipulation或Operations):資料的相關操作。例如:新增、刪除、更新和查詢。 完整性限制條件(Integrity Constraints):維護資料完整性的限制條件,其目的是確保資料是合法的資料。

3-1-3 邏輯資料模型-說明 資料庫系統演進各年代的資料庫系統中,其使用的資料庫模型就是邏輯資料模型,主要有四種邏輯資料模型,如下所示: 網路式資料庫模型(Network Databse Model)。 階層式資料庫模型(Hierarchical Database Model)。 關聯式資料庫模型(Relational Database Model)。 物件導向式資料庫模型(Object-Oriented Database Model)。

3-1-3 邏輯資料模型-圖例 將學校的開課資料的實體關聯圖轉換成邏輯資料模型

3-1-4 實體資料模型 實體資料模型(Physical Data Model)是針對指定資料庫管理系統建立實際架構的模型,資料模型可以顯示資料是如何實作和儲存在資料庫。 關聯式資料庫管理系統的實體資料模型是建立關聯表的表格、關聯性和定義索引。

3-1-4 實體資料模型-圖例

3-2 資料庫模型 3-2-1 網路式資料庫模型 3-2-2 階層式資料庫模型 3-2-3 物件導向式資料庫模型 3-2-4 物件關聯式資料庫模型

3-2-1 網路式資料庫模型 網路式資料庫和階層式資料庫系統約在同一個年代開發,早於關聯式資料庫系統,不過網路式資料庫模型(Network Database Model)是在關聯式資料庫模型出現後才出現的資料模型(這是參考關聯式資料庫模型所導出),資料模型採用網路圖形來連結資料。 網路式資料庫模型支援多對多關聯性,這是依據1971年由CODASYL DBTG(Conference on Data Systems Languages Database Task Group)組織所提出的報告,或稱為DBTG模型,Database Task Group從1960年代後期就開始發展的網路式資料庫系統。

3-2-1 網路式資料庫模型 網路式資料庫模型是將資料組織成網路狀圖形,資料間連接可以擁有迴圈。網路式資料庫模型的兩種基本型態,如下所示: 記錄型態(Record Type):記錄型態是由一組屬性所組成,每一個記錄型態的成員稱為記錄,資料是一組記錄的集合。 連接型態(Link Type):它是連接兩個記錄型態的型態,屬於一對多關聯性(Relationship),這是從稱為「擁有者型態」(Owner Type)關聯到多個「成員型態」(Member Type)。

3-2-1 網路式資料庫模型 網路式資料庫模型是建立在兩種「集合結構」(Set Structures),也就是一組記錄型態的記錄集合和一組連接型態的連接集合,如下圖所示:

3-2-1 網路式資料庫模型

3-2-2 階層式資料庫模型 階層式資料庫模型(Hierarchical Database Model)類似網路式資料庫模型,只是使用樹狀結構來組織資料,記錄資料間是以父子關係來建立鏈結,子記錄只能擁有一個父記錄。 在1960年代後期階層式資料庫模型的資料庫管理系統非常的普遍,最著名的階層式資料庫系統是1968年IBM公司開發的「IMS」(Information Management System),這也是最早商用的資料庫管理系統。

3-2-2 階層式資料庫模型 階層式資料庫模型的資料結構一定擁有一個「樹根」(Root),使用「父子關聯性」來鏈結記錄集合,將資料建立成階層的樹狀結構。 記錄型態(Record Type):記錄型態是由一組欄位屬性組成。每一個記錄型態的成員稱為記錄,資料是一組記錄的集合。 父子關聯型態(Parent-child Relationship Type):兩個記錄型態間的連接型態,屬於一對多關聯性,這是從稱為「父記錄型態」關聯到多個「子記錄型態」。

3-2-2 階層式資料庫模型 階層式資料庫模型是由多個記錄型態,然後使用父子關聯型態將它連接起來,如下圖所示:

3-2-2 階層式資料庫模型

3-2-2 階層式資料庫模型 多對多關聯性在階層式資料庫模型可以重複記錄型態,如下圖所示:

3-2-2 階層式資料庫模型 「虛擬記錄型態」(Virtual Record Type)的記錄只是一個指標,指向其他記錄型態的記錄,如下圖所示:

3-2-3 物件導向式資料庫模型 「物件導向式資料庫模型」(Object-Oriented Database Model)是在物件導向程式語言新增資料庫功能,換句話說,就是使用物件導向方式來模擬關聯式資料庫的功能。 物件導向式資料庫模型的主要目的是統一應用程式和資料庫開發的資料模型和語言環境,物件導向式資料庫模型讓程式設計和資料庫統一使用物件導向方式進行設計。

3-2-3 物件導向式資料庫模型 物件是資料與相關處理資料的程序和函數結合在一起的組合體,資料就是變數,程序和函數,其中程序與函數稱為方法,如下圖所示:

3-2-3 物件導向式資料庫模型 狀態(State):物件所有「屬性」的狀態值,屬性是用來儲存物件的狀態,可以簡單的只是一個布林值變數,也可能是另一個物件,例如:車子的車型、排氣量等屬性。 行為(Behavior):行為是物件可見部分提供的服務,也就是塑模所抽象化的操作,可以作什麼事,使用方法來實作行為,例如:車子可以發動、停車、加速和換擋等。 識別字(Identity):識別字是用來識別不同的物件,每一個物件都擁有獨一無二的識別字。

3-2-3 物件導向式資料庫模型 類別是一種分類,將擁有相同特性的物件集合歸類在同一類別,在前面我們建立摸擬各種車輛的Car、Car1、Car2、Car3…等物件,各物件擁有相同屬性和行為,只是狀態不同。 簡單的說,這些物件屬於同一類,反過來看,我們可以建立一個範本來建立這些物件,如同工廠依照藍圖製造車輛,這個範本就是類別,屬於同一類別的物件即該類別的「實例」(Instance)。

3-2-3 物件導向式資料庫模型 繼承(Inheritance)是物件導向程式設計的重要觀念,繼承是宣告的類別繼承現存類別的部分或全部的成員資料和方法、新增額外的成員資料和方法或覆寫和隱藏繼承類別的方法或資料。

3-2-3 物件導向式資料庫模型 類別的繼承關係可以建立「類別架構」(Class Hierarchy),如下圖所示:

3-2-3 物件導向式資料庫模型 物件導向式資料庫(Object-oriented Database)使用物件導向式資料模型,以物件導向程式語言定義資料庫的結構,以Java語言來說就是類別(Class),一個類別相當於關聯式資料庫的一個關聯表,例如:使用Java語言定義Book類別,如下所示: class Book { public String b_no; public String title; public float price; public Author getAuthor() { …… } public Publisher getPublisher() { …… } }

3-2-3 物件導向式資料庫模型 物件導向式資料庫是物件導向程式設計和資料庫技術的聯姻,如下圖所示:

3-2-4 物件關聯式資料庫模型 「物件關聯式資料庫模型」(Object-relational Database Model)是一種結合物件導向式和關聯式資料庫模型,擴充關聯式資料庫模型的功能,所以其基本的觀念仍然是關聯式資料庫模型,只是新增結構化屬性,能夠自行定義資料型態。 國際標準組織(International Standards Organization, ISO)在新版的標準SQL語言新增物件關聯式模型的觀念,稱為SQL 99或SQL 3,在SQL:99新增物件觀念,可以擴充資料型態儲存複雜的資料,但是仍相容於關聯式資料庫。

3-2-4 物件關聯式資料庫模型 物件關聯式資料庫模型支援「巢狀關聯表」(Nested Relations),也就是說,資料型態不只可以使用關聯式資料庫的基本型態,還可以使用自訂型態的物件,相當於是另一個關聯表。例如:在Authors關聯表新增名為address的新型態,如下圖所示:

3-2-4 物件關聯式資料庫模型 物件關聯式資料庫的關聯表和巢狀關聯表,如下圖所示:

3-3 資料庫系統的種類 資料庫系統以使用者人數來區分: 資料庫系統以使用範圍(Scope)區分: 單人使用 多人使用 資料庫系統以使用範圍(Scope)區分: 桌上型(Desktop) 工作群組(Workgroup) 企業級(Enterprise) 資料庫系統以位置來區分,資料庫系統的資料處理可能位在同一台主機或網路上的其他主機: 集中式資料處理(Centralized Data Processing) 分散式資料處理(Distributed Data Processing)

3-3 資料庫系統的種類 如果資料庫系統使用前述的資料庫模型來區分,資料庫系統可以依使用的資料庫模型進行分類,如下所示: 網路式資料庫系統。 階層式資料庫系統。 關聯式資料庫系統。 物件導向式資料庫系統。 物件關聯式資料庫系統。

3-4 架構的基礎 「架構」(Architecture)這個名詞可以指單獨一台電腦設計,不過對於企業組織來說,通常是指整個公司組織電腦系統的配置,包含實際使用的電腦硬體種類、網路、配置的位置和使用的電腦運算方式。 資料庫系統架構可以分成兩種處理架構,如下所示: 集中式處理架構(Centralized Processing Architectures)。 分散式處理架構(Distributed Processing Architectures)。

3-5 集中式處理架構 在早期大型主機(Mainframe)時代,電腦系統主要是使用IBM公司開發的「系統網路架構」(Systems Network Architecture, SNA),這種架構屬於集中式處理架構,擁有一台大型主機,使用多個終端機與主機溝通。 以資料庫系統來說,資料庫管理系統和作業系統都在同一台電腦執行,使用者透過終端機將資訊送到主機,例如:資料庫查詢指令,然後從主機取得回應結果,在終端機顯示的結果是由主機產生的資料,終端機只負責顯示取得的資料。

3-5 集中式處理架構

3-6 分散式處理架構-前後台 資料庫系統分成使用者的前台(Frontends)和資料庫的後台(Backends),分別分散執行所需的工作,如下所示: 前台(Frontend):使用者執行的應用程式,用來執行資料庫查詢等資料處理,然後顯示執行的結果。 後台(Backend):執行資料處理的資料庫管理系統。

3-6 分散式處理架構-前後台圖例

3-6-1 檔案分享架構 「檔案分享架構」並不是一種主從架構,它是主從架構的前身,早期個人電腦網路都是採用檔案分享架構,主機扮演的角色單純只是「檔案伺服器」(File Server)。 客戶端向檔案伺服器請求資料檔案,然後將檔案下載到客戶端,然後在客戶端電腦啟動資料庫管理系統執行資料處理,真正執行資料處理是在客戶端的個人電腦或工作站,檔案伺服器只是儲存和管理檔案,稱為「檔案伺服器模型」。

3-6-2 主從架構的基礎 主從架構的電腦本身並沒有分別,只是扮演不同的角色,分為伺服端(Server)和客戶端(Client),如下所示: 伺服端(Server):在主從架構中扮演提供服務(Service)的提供者(Provider)角色。 客戶端(Client):在主從架構中的角色是提出服務請求(Request)的請求者(Requester)。

3-6-2 主從架構的基礎

3-6-3 二層式主從架構 標準主從架構是二層式主從架構(Two-Tier Client/Server Architecture)。 二層式主從架構可以分成兩部分,如下: 展示層(Presentation Tier):與使用者互動的使用介面,這是實際使用者看到的應用程式,同時負責商業邏輯(Business Logic)和資料處理邏輯(Data Processing Logic)。 資料層(Data Tier):負責資料的儲存,以資料庫系統來說,就是管理資料庫的資料庫管理系統。

3-6-3 二層式主從架構

3-6-3 二層式主從架構 缺點 更改商業和資料處理邏輯就需要重新修改、編譯和安裝展示層應用程式。 二層式主從架構只傳遞回應資料,但是真正的資料處理是在展示層應用程式,所需的資料仍然需要從資料層傳送到展示層,增加區域網路負載。 在從端的每一個展示層應用程式都需要獨立的資料庫連結,並且保持連線狀態,而區域網路最多只能支援大約100人同時建立資料庫連結。 客戶端應用程式的程式碼是使用特定資料庫管理系統的函式庫,如果資料庫管理系統更改時,展示層應用程式的程式碼也須修改。

3-6-4 三層式主從架構 擴充二層式主從架構,在之間新增一層「商業邏輯層」(Business Logic Tier),就成為「三層式主從架構」(Three-Tier Client/Server Architecture),將二層式主從架構展示層的資料處理和商業邏輯功能獨立成「應用程式伺服器」(Application Server)。 應用程式伺服器(Application Server)如同餐廳中超高效率的服務生,從展示層的前台取得點選的套餐,將它送到後台的資料庫伺服器取得所需的各種餐點,在處理後,送到前台的是一套完整組合的套餐。

3-6-4 三層式主從架構-圖例

3-6-4 三層式主從架構 優點 清楚切割使用介面的展示層和商業邏輯層的資料處理與商業邏輯,如此可以重複使用資料處理和商業邏輯的現成軟體元件,加速應用程式的開發。 集中管理和維護商業邏輯,如有更改,只需更改商業邏輯層的應用程式伺服器,而不用更改展示層的應用程式。 更改資料層的資料庫管理系統,同樣不會影響展示層的應用程式。 商業邏輯層和資料層的實際架構可以位在同一台電腦伺服器,或是不同電腦使用高速網路連接,如此可以解決網路資料傳遞的頻寬問題。

3-6-5 多層架構 多層架構(N-Tier Architecture)是將三層式主從架構進行再次的擴充,N表示分割成3、4或5等層,需視資料庫系統架構的需求來進行分割。 多層架構是將三層式架構的商業邏輯層架構再次分割成獨立軟體元件的多個應用程式伺服器,事實上,三層式架構可視為一種最基本的多層架構。

3-6-5 多層架構-網頁資料庫圖例

3-7 中介軟體 「中介軟體」(Middleware)是一種軟體用來整合不同應用程式,以便各應用程式可以使用標準方式進行連結和資料的交換。 中介軟體可以隱藏背後實際執行的應用程式,只需透過中介軟體就可以進行與其他應用程式的通訊和資料交換。

3-7-1 資料庫系統的中介軟體 在資料庫系統架構,中介軟體在二層式主從架構是連接前台和後台的軟體程式,在三層式主從架構是用來連接商業邏輯層和資料層的資料庫管理系統。 中介軟體的主要的目的是簡化資料庫應用程式的開發,因為資料庫管理系統的種類繁多且支援多種作業系統,各家廠商都擁有專屬函式庫呼叫來進行通訊和資料交換。

3-7-1 資料庫系統的中介軟體優點

3-7-2 微軟的中介軟體-說明 微軟主導的資料庫中介軟體有兩種: ODBC。 OLE DB。 OLE DB和ODBC的主要差異是OLE DB資料來源並不限於關聯式資料庫,它也可以使用在非關聯式資料庫、試算表或文字檔案等其他資料來源。

3-7-2 微軟的中介軟體-ODBC 微軟主導的資料庫中介軟體稱為「ODBC」,ODBC提供標準方式存取關聯式資料庫伺服器的資料,程式使用「ODBC API」呼叫來建立所需的應用程式,ODBC架構主要分成兩個部分: ODBC驅動程式管理員(ODBC Driver Manager):管理ODBC支援的各種驅動程式,以便使用正確的ODBC驅動程式來轉換ODBC API呼叫。 ODBC驅動程式(ODBC Driver):各種資料庫管理系統支援的驅動程式,可以將ODBC API呼叫轉換成專屬資料庫管理系統的原生API呼叫。

3-7-2 微軟的中介軟體-ODBC(圖例)

3-7-2 微軟的中介軟體-OLE DB OLE DB(也寫成OLE-DB或OLEDB)是一種微軟開發的資料庫存取介面API,它是繼ODBC後,微軟另一種開放規格的資料存取介面。 OLE DB是使用COM(Component Object Model)元件來實作存取介面,可以使用一致行為來存取不同資料來源的資料,支援關聯式資料庫、非關聯式資料庫的物件導向資料庫、文字檔、電子郵件、目錄服務、試算表和商業物件等不同來源的資料。

3-7-2 微軟的中介軟體-OLE DB

3-7-3 昇陽的JDBC 昇陽公司提出的資料庫中介軟體是「JDBC」是一種開放標準的Java程式介面,可以讓Java程式連結資料庫管理系統。 以Java程式語言來說,這是一個實作JDBC驅動程式介面的類別,即JDBC API,JDBC驅動程式介面主要分為兩類: 透過其他中介軟體作為另一種中介軟體的橋樑。 JDBC驅動程式介面可以直接連接資料庫管理系統。

3-7-3 昇陽的JDBC-圖例

3-8 分散式資料庫系統 若資料庫伺服器只有一個,資料庫的資料是集中儲存在一個地方,稱為「集中式資料庫系統」。 集中式資料庫系統雖然方便資料管理,但風險高、易受網路流量影響傳輸速度且主機負荷量大。 分散式資料庫系統:將資料依特性分散儲存在以網路的連接的資料庫伺服器上

3-8 分散式資料庫系統-圖例

3-8-1 分散式資料庫系統的基礎 「分散式資料庫」(Distributed Database, DDB):指資料在邏輯上屬於同一個資料庫系統,不過事實上,實際的資料是分散儲存在以網路連接的不同資料庫伺服器上。 「分散式資料庫管理系統」:管理分散式資料庫的軟體,提供資料的分散儲存,但是使用者並不會認為它是在存取分散儲存的資料,對於使用者來說,仍然是一個完整的資料庫,如此稱為「透通性」(Transparent)。

3-8-1 分散式資料庫系統的基礎 最基本的分散式資料庫系統架構是使用主從架構,它是由多個站(Sites)或稱為點(Nodes)所組成,使用通訊網路(Communication Network)連接,可以使用區域網路(Local Area Network)或廣域網路(Wide Area Network)。 分散式資料庫系統分成1~N個站,有些站的角色是客戶端(從端),有些站是伺服器(主端),有些站同時擁有客戶和伺服器,資料庫分散置於擁有伺服器的各站。

3-8-1 分散式資料庫系統的基礎

3-8-1 分散式資料庫系統的基礎 分散式資料庫系統分成1~N個站,有些站的角色是客戶端,有些站是伺服器,有些兩者兼具,資料庫分散於擁有伺服器的各站 分散式資料庫系統主要在客戶端軟體處理分散功能,所以客戶端需要產生多站查詢和交易管理的執行計畫

3-8-2 分散式資料庫系統的優缺點 優點 增加資料庫系統的執行效能:在最近的地方就可以取得所需的資料。 提高可靠性和可用性:就算有些伺服器當機或出現網路問題,分散式資料庫系統仍然擁有足夠的妥善率,不會影響整個資料庫系統的運作。 更多的彈性和擴充性:因為資料是分散儲存在多台伺服器,不論擴充與重新配置資料庫伺服器的彈性都比較高。 分享與區域自主性:資料庫伺服器的資料可以分享,也可以只讓區域的使用者存取。

3-8-2 分散式資料庫系統的優缺點 缺點 系統複雜:資料是分散儲存在各地的伺服器,所以分散式資料庫系統的複雜度相當高。 成本高昂:相關應用程式的開發成本隨著分散程度而提高。 維護不易:分散式資料庫系統維護不易,容易產生資料安全與整合問題。 缺乏標準:目前並沒有分散式資料庫系統的官方標準。

3-8-3 分散式資料庫系統的種類 同質分散式資料庫系統(Homogeneous Distributed Database System) 指所有資料庫伺服器都採用相同的資料庫管理系統,使用相同的資料庫模型和資料操作方式。 異質分散式資料庫系統(Heterogeneous Distributed Database System) 指資料庫伺服器使用不同的資料庫管理系統,例如:同時使用SQL Server和Oracle,此時需要考量不同資料庫管理系統和不同格式資料間的整合問題。

3-8-4 資料分割-說明 「資料分割」(Data Fragmentation)是分割資料庫的資料成為一個個片斷(Fragment),以便將各片斷分散儲存在其他資料庫伺服器,其中每一個片斷是資料庫的一個較小的邏輯單位。 以分散式關聯式資料庫為例,各資料庫只會儲存關聯表的部分片斷,其分割方式有水平方向的水平分割和垂直方向的垂直分割。

3-8-4 資料分割-水平分割 水平分割(Horizontal Fragmentation) 以關聯式資料庫為例,就是將關聯表以值組的列為分割單位,分割成更小的邏輯單位。

3-8-4 資料分割-垂直分割 垂直分割(Vertical Fragmentation) 以關聯式資料庫為例,就是將關聯表以屬性的欄為分割單位,分割成更小的邏輯單位。

3-8-5 資料複寫-說明 「資料複寫」(Data Replication)是分散式資料庫系統的重要特點,複寫是建立資料庫的備份,其中原始資料庫稱為主資料庫(Master),複寫的資料庫稱為拷貝資料庫(Replica),在主資料庫和拷貝資料庫之間需要定時進行同步更新。 在分散式資料庫系統使用複寫的方式分為: 沒有複寫 完全複寫 部分複寫

3-8-5 資料複寫-圖例