1、第一章第一章 資料庫的介紹資料庫的介紹SQL Server 2012SQL Server 2012資料庫實務應用資料庫實務應用12本章學習重點本章學習重點l 資料庫系統概述資料庫系統概述 l 資料庫系統種類資料庫系統種類 l 資料庫管理系統架構資料庫管理系統架構 l 資料庫系統的環境資料庫系統的環境l 資料庫系統的架構資料庫系統的架構 l 資料庫的應用範圍資料庫的應用範圍 l 資料庫系統的演進資料庫系統的演進3資料庫系統概述資料庫系統概述l資料管理的重要性資料管理的重要性企業透過有效的資料管理,來提昇企業企業透過有效的資料管理,來提昇企業競爭力競爭力l資料處理的演進過程資料處理的演進過程人工作
2、業人工作業 檔案處理檔案處理 資料庫處理資料庫處理4資料處理的演進過程資料處理的演進過程資料庫系統概述資料庫系統概述檔案系統處理檔案系統處理l程式程式-資料相依資料相依(Data Dependence)(Data Dependence)所有程式必需維護它們所使用的每一個檔案的所有程式必需維護它們所使用的每一個檔案的metadatametadatal資料的重複性資料的重複性(Duplication)(Duplication)不同的不同的 systems/programs systems/programs 使用相同資料的不同拷貝版使用相同資料的不同拷貝版l限制資料的分享限制資料的分享資料沒有集中管
3、理資料沒有集中管理l增長系統開發的時間增長系統開發的時間Programmers Programmers 必須自己設計檔案的格式必須自己設計檔案的格式l過度的程式維護工作過度的程式維護工作花費資訊系統花費資訊系統 80%80%的預算的預算5資料庫系統概述資料庫系統概述6程式程式 二二程式程式 一一程式程式 三三程式程式 一一訂單系統訂單系統客戶客戶主檔主檔庫存庫存主檔主檔退貨退貨檔檔庫存庫存計價檔計價檔客戶客戶主檔主檔員工員工主檔主檔發票系統發票系統薪資系統薪資系統程式程式 二二程式程式 一一程式程式 二二業務部業務部會計部會計部人事部人事部重複資料重複資料檔案系統處理檔案系統處理的的缺點缺點資
4、料庫系統概述資料庫系統概述程式與資料是依存在一起程式與資料是依存在一起程式與檔案是互相獨立互不相關程式與檔案是互相獨立互不相關7解決方案:解決方案:導入導入資料庫方法資料庫方法資料庫系統概述資料庫系統概述8資料庫系統概述資料庫系統概述資料庫系統資料庫系統資料庫系統的優點資料庫系統的優點l程式與資料的獨立性程式與資料的獨立性l資料容易共享資料容易共享l降低資料重複性降低資料重複性l提昇資料的一致性提昇資料的一致性l制定的標準化制定的標準化l提高應用程式開發的產能提高應用程式開發的產能l降低程式維護成本降低程式維護成本l資料的安全性資料的安全性9資料庫系統概述資料庫系統概述10資料庫的成本與風險資
5、料庫的成本與風險l新的專業人員新的專業人員l安裝與管理的成本及複雜度安裝與管理的成本及複雜度l轉換成本轉換成本l備份與還原的需求備份與還原的需求l組織的衝突組織的衝突 資料庫系統概述資料庫系統概述l 資料庫管理師Database Administrator,簡稱DBA負責維護整體的資料庫管理系統的正常運作包括資料庫的安全管理、授權管理、效能調整管理、資料庫的備份/還原等等的工作。l 資料庫設計師Database Designers必須瞭解使用者的需求,有哪些資料要儲存於資料庫找出其間的關係,將其資料庫的結構設計並建立,以提供日後使用者存取資料使用。l 系統分析師l 程式設計師l 終端使用者資料
6、庫系統的人員相關角色資料庫系統的人員相關角色常見的資料庫管理系統常見的資料庫管理系統l WindowsWindows視窗作業平台視窗作業平台小型資料庫:小型資料庫:MS AccessMS Access、Visual Visual FoxproFoxpro、ParadoxParadox、ClipperClipper等。等。中大型資料庫:中大型資料庫:MS SQL ServerMS SQL Server、SybaseSybase、InformixInformix、IBM IBM DB2DB2、OracleOracle等。等。l UNIX UNIX 作業平台作業平台SybaseSybase、Info
7、rmixInformix、IBM DB2IBM DB2、OracleOracle、IngresIngres等。等。12資料庫系統概述資料庫系統概述資料庫系統種類資料庫系統種類lX X 階層式資料庫架構階層式資料庫架構(HierachicalHierachical Database)Database)lX X 網路式資料庫架構網路式資料庫架構(Network Database)(Network Database)l關聯式資料庫架構關聯式資料庫架構(Relational Database)(Relational Database)l物件導向式資料庫架構物件導向式資料庫架構(Object-Orien
8、ted(Object-Oriented Database)Database)lX X 多維度資料庫架構多維度資料庫架構(Multi-dimensional(Multi-dimensional Database)Database)13l目前使用最多的一種資料庫架構目前使用最多的一種資料庫架構 l是以一張二維的資料表是以一張二維的資料表(table)(table)來儲存資料來儲存資料 l資料表是由欄位資料表是由欄位(column)(column)和記錄和記錄(row)(row)所組所組成的,可以直接存取與維護成的,可以直接存取與維護l兩個資料表間都有的共同欄位來維繫之間兩個資料表間都有的共同欄位來
9、維繫之間的關係的關係 l較少有資料重複性出現,且資料保持一致較少有資料重複性出現,且資料保持一致性與完整性性與完整性14關聯式資料庫架構關聯式資料庫架構資料庫系統種類資料庫系統種類 15關聯式資料庫架構關聯式資料庫架構資料庫系統種類資料庫系統種類 利用兩資料表間的利用兩資料表間的共同欄位來建立關係共同欄位來建立關係l資料是以物件來表示資料是以物件來表示l物件上有資料的屬性與在這個物件上運算物件上有資料的屬性與在這個物件上運算的方法所組成的封裝的方法所組成的封裝l可以支援聲音、圖形與視訊等較大量且複可以支援聲音、圖形與視訊等較大量且複雜的資料型態雜的資料型態l適合應用在較複雜的資料或事件驅動的程
10、適合應用在較複雜的資料或事件驅動的程式設計上式設計上16物件導向式資料庫架構物件導向式資料庫架構資料庫系統種類資料庫系統種類 17物件導向式資料庫架構物件導向式資料庫架構資料庫系統種類資料庫系統種類 18資料庫管理系統架構資料庫管理系統架構l將應用程式與資料庫實體區分將應用程式與資料庫實體區分,讓使用者使讓使用者使用起來較簡單與方便用起來較簡單與方便l遵循遵循ANSI/SPACANSI/SPAC資料庫三層式架構資料庫三層式架構外部層外部層概念層概念層內部層內部層19資料庫管理系統架構資料庫管理系統架構ANSI/SPACANSI/SPAC資料庫三層式架構資料庫三層式架構l外部層外部層(Exter
11、nal Layer)(External Layer)提供不同使用者所需要的不同資料景觀提供不同使用者所需要的不同資料景觀 l概念層概念層(Conceptual Layer)(Conceptual Layer)描述整個資料庫的詳盡架構描述整個資料庫的詳盡架構 l內部層內部層(Internal Layer)(Internal Layer)概念綱要儲存在實體電腦中的規格概念綱要儲存在實體電腦中的規格 l外部外部/概念對映概念對映l概念概念/內部對映內部對映對映的定義資料是由對映的定義資料是由DBMS來管理與維護來管理與維護20ANSI/SPACANSI/SPAC資料庫三層式架構資料庫三層式架構外部層
12、外部層/概念層的映對概念層的映對概念層概念層/內部層的映對內部層的映對資料庫管理系統架構資料庫管理系統架構當內部層當內部層實際檔案組實際檔案組織或存取方式改變織或存取方式改變只只需需改改變變不會影響上層不會影響上層概念層的任何概念層的任何變動變動當概念層的概念當概念層的概念綱要的結構改變綱要的結構改變只只需需改改變變不會影響上層不會影響上層外部層外部層21資料獨立的種類資料獨立的種類l邏輯資料獨立邏輯資料獨立(外部層外部層/概念層概念層)指概念層綱要需更改時,不會影響外部指概念層綱要需更改時,不會影響外部層綱要層綱要l實體資料獨立實體資料獨立(概念層概念層/內部層內部層)指內部層綱要更改時,不
13、會影響概念層指內部層綱要更改時,不會影響概念層綱要綱要資料庫管理系統架構資料庫管理系統架構22資料庫系統的環境資料庫系統的環境資料庫環境的成員資料庫環境的成員l 資料管理者資料管理者:負責整個資料庫系統的管理與組織整體的規劃工作:負責整個資料庫系統的管理與組織整體的規劃工作l 程式開發者程式開發者:負責企業資訊系統的規劃與開發人員:負責企業資訊系統的規劃與開發人員l 終端查詢者終端查詢者:一般終端使用者,可分成:初階使用者與高階使用者:一般終端使用者,可分成:初階使用者與高階使用者l 使用者介面使用者介面:指應用程式開發的介面或系統提供的公用程式,它是用:指應用程式開發的介面或系統提供的公用程
14、式,它是用 來做為使用者與系統工具間的溝通橋樑來做為使用者與系統工具間的溝通橋樑l 應用程式應用程式:運用各類工具來建立與維護資料庫資料的程式:運用各類工具來建立與維護資料庫資料的程式l CASECASE工具工具:電腦輔助軟體工程工具,用來輔助資料庫應用系統分析與:電腦輔助軟體工程工具,用來輔助資料庫應用系統分析與設計的工具設計的工具l 資料儲存所資料儲存所(Repository)(Repository):是用來儲存資料的定義、資料間的關係、:是用來儲存資料的定義、資料間的關係、設計的畫面與報表設計的畫面與報表等資訊的儲存所等資訊的儲存所l 資料庫資料庫(Data Base)(Data Bas
15、e):用來儲存經過組織過相關聯的資料,資料庫所:用來儲存經過組織過相關聯的資料,資料庫所存的是純資料,然而資料儲存所存的是資料的存的是純資料,然而資料儲存所存的是資料的metadatametadata l 資料庫管理系統資料庫管理系統(DBMS)(DBMS):一種系統應用軟體,可以對資料庫與資料儲:一種系統應用軟體,可以對資料庫與資料儲存所做建立、維護與存取資料等操作動作存所做建立、維護與存取資料等操作動作23資料庫系統的環境元件資料庫系統的環境元件資料庫系統的環境資料庫系統的環境資料庫系統的架構資料庫系統的架構 24l集中式處理架構集中式處理架構 l主從式架構主從式架構 檔案伺服器架構檔案伺
16、服器架構 資料庫伺服器架構資料庫伺服器架構(二層式二層式)三層式架構三層式架構 l分散式架構分散式架構 25l 早期電腦系統架構是以主機集中處理的方早期電腦系統架構是以主機集中處理的方式來處理資料,簡單且容易管理,所有工式來處理資料,簡單且容易管理,所有工作由主機來安排處理作由主機來安排處理l 缺點缺點主機若故障,將會使得所有的作業停擺主機若故障,將會使得所有的作業停擺若使用者太多,將導致主機的負荷過重,因而影若使用者太多,將導致主機的負荷過重,因而影響工作的處理速度,整體的效能變差響工作的處理速度,整體的效能變差主機的價格十分昂貴主機的價格十分昂貴資料庫系統的架構資料庫系統的架構 集中集中式
17、處理架構式處理架構26主從式架構主從式架構l依據應用程式的邏輯成份可分成三個元件依據應用程式的邏輯成份可分成三個元件表現表現(presentation)(presentation)邏輯元件:邏輯元件:負責格式化資料、資料的輸入與輸出等處理。負責格式化資料、資料的輸入與輸出等處理。處理處理(process)(process)邏輯元件:邏輯元件:負責處理驗證資料、錯誤處理、企業規範與資料管理等負責處理驗證資料、錯誤處理、企業規範與資料管理等處理。處理。儲存儲存(storage)(storage)邏輯元件:邏輯元件:負責對負責對DBMSDBMS資料的儲存與擷取處理。資料的儲存與擷取處理。資料庫系統的
18、架構資料庫系統的架構 27主從式架構主從式架構-檔案伺服器架構檔案伺服器架構l資料處理的負載在客資料處理的負載在客戶端,造成強客戶端戶端,造成強客戶端(Fat Client)(Fat Client)的情況的情況l容易造成網路負載過容易造成網路負載過重重資料庫系統的架構資料庫系統的架構 28主從式架構主從式架構-資料庫伺服器架構資料庫伺服器架構資料庫系統的架構資料庫系統的架構 客戶端的連線數會客戶端的連線數會增加伺服器端的負荷增加伺服器端的負荷29主從式架構主從式架構-三層式三層式(3-tier)(3-tier)架構架構資料庫系統的架構資料庫系統的架構 30分散式架構分散式架構資料庫系統的架構資
19、料庫系統的架構 31資料庫的應用範圍資料庫的應用範圍l個人電腦資料庫個人電腦資料庫l工作群組資料庫工作群組資料庫l部門資料庫部門資料庫l企業資料庫企業資料庫l網際網路網際網路(Internet)(Internet)、企業內部網路企業內部網路(Intranet)(Intranet)及企業外部網路及企業外部網路(Extranet)(Extranet)資資料庫料庫32資料庫種類資料庫種類一般使用者數目一般使用者數目一般架構一般架構一般資料庫大小一般資料庫大小個人資料庫個人資料庫1桌上型桌上型/筆記型電腦筆記型電腦PDAM bytes工作群組資料庫工作群組資料庫5-25主主/從架構從架構M bytes
20、G bytes部門資料庫部門資料庫25-100三段式主從架構三段式主從架構G bytes企業資料庫企業資料庫100分散式或平行處理的分散式或平行處理的主主/從架構從架構G byteT byte網際網路資料庫網際網路資料庫1000網站網站/應用程式伺服應用程式伺服器器M bytes G bytes資料庫應用的彙整資料庫應用的彙整(white 1995)(white 1995)資料庫的應用範圍資料庫的應用範圍個人資料庫中個人資料庫中的典型資料的典型資料資料庫的應用範圍資料庫的應用範圍34資料庫的應用範圍資料庫的應用範圍建立在區域網建立在區域網路上的工作群路上的工作群組資料庫組資料庫35企業資料庫企
21、業資料庫l企業資源規劃(企業資源規劃(ERPERP)系統)系統l整合所有企業功能整合所有企業功能(製造、財務、銷售製造、財務、銷售、行銷、存貨、會計、人力資源、行銷、存貨、會計、人力資源)l資料倉儲資料倉儲l由各個作業性資料庫衍生的整合式決策由各個作業性資料庫衍生的整合式決策資源系統資源系統資料庫的應用範圍資料庫的應用範圍36企業資料倉儲企業資料倉儲資料庫的應用範圍資料庫的應用範圍37資料庫的應用範圍資料庫的應用範圍網際網路、企業內部及企業間網際網路、企業內部及企業間網路資料庫網路資料庫l 網際網路網際網路(Internet)(Internet)資料庫資料庫搭配網際網路的資料庫,存取是來自全球各地的搭配網際網路的資料庫,存取是來自全球各地的使用者連線,容量須考慮上線人數及儲存空間使用者連線,容量須考慮上線人數及儲存空間l 企業內部網路企業內部網路(Intranet)(Intranet)資料庫資料庫只提供給企業內部人員使用只提供給企業內部人員使用l 企業間網路企業間網路(ExtrantExtrant)資料庫資料庫以網際網路的技術,經過授權或協議來達成廠商以網際網路的技術,經過授權或協議來達成廠商間合法存取與資訊使用間合法存取與資訊使用早期透過早期透過EDIEDI進行,現在透過進行,現在透過BtoBBtoB的交換進行的交換進行