資料庫系統概觀 Database System 第二章 資料庫系統概觀 Database System
Chapter 2 Outline 2-1: 從資料到資訊 2-2: 資料庫、資料庫管理、系統資料庫系統 2-3: 組成資料庫系統成員 2-4: 使用資料庫系統之優缺點 2-5: 資料庫管理系統之分類 2-6: 資料庫系統的網路架構 2-7: SQL Server 2005 Express的主從架構 2-8: 本章總結
2-1 從資料到資訊 處理-1 資訊-1 處理-2 資訊-2 資料 處理-n 資訊-n 圖2-1.1 資訊系統 電腦是一個資訊處理系統,由輸入裝置輸入資料(Data)之後,經過特定的處理程序將輸入的資料作計算、分析、彙總後而得到的輸出才能稱之為資訊 處理-n 資訊-n 圖2-1.1 資訊系統
2-2 資料庫、資料庫管理、系統資料庫系統-1 資料庫(Database) 資料庫儲存了我們要解決問題的相關資料。 資料庫中的資料具有相互關係,它們是繼承了真實世界上的關係意義。 資料庫中存放的資料是經過特別細心設計的,使得每個使用者或應用程式能有效及正確的獲得需要的資料。 我們可以將資料庫想像成一個電子化的檔案櫃,為了支援快速與有效的資料存取功能 ===以下提示的好處在2-4有詳細之說明========== 使用檔案系統與傳統紙張來記錄資料的方式相比較,好處有:簡潔(資料儲存在媒體中,不必使用大量的紙張)、迅速分享、修改容易、即時性以及集中控制管理等的好處 使用資料庫與使用一般檔案相比較的優點有:可減少重複性、達成資料的一致性、資料共享、安全性、完整性以及需求衝突的平衡等的優點。
2-2 資料庫、資料庫管理、系統資料庫系統-2 資料庫管理系統 (Database Management System/DBMS) 定義(Defining)資料庫 建構(Constructing)資料庫 操作(Manipulating)資料庫 DBMS是一套通用目的的軟體系統(General-purpose Software System)用來管理與處理所有資料庫的應用,所以DBMS之最基本功能為定義、建構以及操作資料庫來解決特定的問題
2-2 資料庫、資料庫管理、系統資料庫系統-3 一個典型的資料庫系統包含下列四個主要成員: 使用者(User) 資料(Data) 軟體(Software) 硬體(Hardware)
資料庫系統(Database System)架構示意圖
2-3 組成資料庫系統成員 使用者 資料 直接使用者(End Users) 應用程式設計師(Application Programmers) 資料庫管理師(Database Administrators/DBA) 資料 一般資料(使用者所存入之資料) Metadata(意義為Data about Data ),包含 資料描述,包含資料型態和資料長度 資料間的關係,資料的儲存結構及索引資料 資料的整合性(Integrity Constraints) 資料的觸發程序(Trigger) 直接使用者(End Users):該使用者為應用資料庫系統的人,他們對資料庫系統作新增、修改、刪除和查詢等操作來完成所需的工作 應用程式設計師(Application Programmers):根據直接使用者的需求,應用程式設計師使用不同的程式語言,如VB、C++、Delphi、Java、ASP…等撰寫應用程式來解決直接使用者的問題。 資料庫管理員(Database Administrators/DBA)資料庫管理員之工作包括:資料庫規劃、資料庫設計、安全性與整合性設計、資料庫備份與回復、資料轉換、效能調校等系統維護功能。
2-3 組成資料庫系統成員(續) 軟體:包含資料庫管理系統(DBMS)和應用軟體(Application Software/AP) 非程序式查詢語言(Non-procedural Language) 表單產生器(Form Generators) 報表產生器(Report Generators) 程式產生器(Program Generators) 圖形產生器(Graphics Generators) 應用軟體由應用程式設計師(Application Programmers)所開發
2-3 組成資料庫系統成員(續) 硬體:泛指所有系統執行相關之設備,並須注意系統可靠性(Reliability)。依據整體需求配置不同等級的硬體,如電腦等級、 CPU等級、記憶體大小、硬碟等級與大小與架構(RAID-0/1/5)等。 電腦等級:一般PC 、一般的Server 、機架式Server 、大型Server等 CPU等級:一般CPU 、Server 專用CPU,單CPU或多顆CPU 記憶體大小:1G 、2G 、4G 、8G 、16G … 硬碟:一般IDE硬碟、一般SATA硬碟、伺服器專用的SCSI或SAS硬碟,硬碟轉速也有關存取速度 RAID架構:可加強存取速度或提高資料儲存的安全性 NAS(Network Attached Storage):專屬而專業整合之儲存裝置解決方案
2-4 使用資料庫系統之優缺點 電子化資料庫的優點 簡潔 快速 輕鬆 即時 資料均存在電腦中,不再需要大量的紙張,方便又環保。 2-4 使用資料庫系統之優缺點 電子化資料庫的優點 簡潔 資料均存在電腦中,不再需要大量的紙張,方便又環保。 快速 利用電腦快速的從大量資料中整理出需要的資訊之速度 輕鬆 電腦處理大量重覆作業 即時 經由資料庫系統能得到精確、即時的資訊。
2-4使用資料庫系統之優缺點(續) 使用資料庫系統之優點: 資料分享 能降低資料重覆 能避免資料不一致情況 強制使用統一標準 資料安全能被運作 整合性限制能被維護 需求衝突能被避免 資料獨立性(Data Independence) 資料分享:透過DBMS之管理,資料庫中的資料能被不同的應用程式分享 能降低資料重覆:資料重覆會資料不一致的問題 資料安全能被運作:透過DBMS集中方式管理資料,DBA能規劃資料庫中之資料、程序等各物件的存取及執行權限。不同使用者被規劃出不同的權限,資料安全能被確保。 整合性限制能被維護:所謂整合限制(Integrity Constraints)是確保資料在資料庫具正確性。 資料獨立性(Data Independence):比較精確的說法,資料獨立性不是使用資料庫系統的優點而是目標。所謂資料獨立是指資料庫中資料的存取方法(Access Method),和儲存結構(Storage Structure)與應用程式是相互獨立的。
2-4使用資料庫系統之優缺點(續) 使用資料庫系統之缺點: 成本較高 必須有良好規劃,以保證資料安全及資料整合 DBA責任重大 必須考慮備援作業 成本較高:軟硬體之成本較高,發展資料庫系統必須另外購買DBMS,這可能是一套昂貴的軟體(例如:MySQL到Oracle,其價格可能從數千元到上千萬),另外執行資料庫系統之硬體平台亦需要較好的配備,所以軟、硬體成本均較高。 必須考慮備援作業:當資料處理完全使用資料庫系統時,備援作業的考量十分重要,從電源備援(使用UPS)、電腦系統備援(使用兩套主機,其中一個為備援用)以及人工備援(電腦當機時)均應有詳細的規劃。
2-5 資料庫管理系統之分類 DBMS依下列幾個準則做分類: 資料模式(Data Model) 使用者人數(Number of Users) 2-5 資料庫管理系統之分類 DBMS依下列幾個準則做分類: 資料模式(Data Model) 使用者人數(Number of Users) 機器數量(Number of Sites)
2-5 資料庫管理系統之分類(續) 資料模式(Data Model) 指利用DBMS所支援的資料模式作分類。 關聯式(Relational) 2-5 資料庫管理系統之分類(續) 資料模式(Data Model) 指利用DBMS所支援的資料模式作分類。 關聯式(Relational) 物件關聯式(Object-relational) 階層式(Hierarchical) 網路式(Network) 關聯式資料模式中資料庫為一些資料表的集合,這些資料表在概念上是相互分開的檔案,而其中所有的運算也都是從舊的資料表產生新的資料表。 物件式資料模式之資料庫包含了物件(Objects)、性質(Properties)以及方法(Methods),在此模式中,所有事物均是物件。 階層式資料模式描述資料結構成一個樹狀結構 網路式資料模式表示資料成一個記錄型態(Record Types)而且定義出記錄型態間之1:N(一對多)的關係,而為了定義出各記錄間一對多的關係就會形成一個如網路的複雜架構。
2-5 資料庫管理系統之分類(續) 使用者人數 機器數量 判斷資料庫是否具備分散式處理之能力。 指系統能同時支援使用者人數數目。 2-5 資料庫管理系統之分類(續) 使用者人數 指系統能同時支援使用者人數數目。 單使用者系統(Single-user System) 多使用者系統(Multi-user System) 機器數量 判斷資料庫是否具備分散式處理之能力。 集中式DBMS (Centralized DBMS) 分散式DMBS (Distributed DBMS) 現今大多部DBMS均支援多使用者之操作,如SQL Server、Oracle、DB2、MySQL等
2-6 資料庫系統的網路架構 中央集中式架構(Centralized System) 中央集中式系統是早期的產品,以IBM公司的大型主機(Mainframe)為代表 在中央集中式架構中,所有的應用程式都是放在大型主機上執行 使用者透過終端機與主機作溝通,終端機與主機之間是以拉專線的方式連接,終端機本身沒有任何的處理能力,只是用來顯示主機傳送過來的資料以及讓使用者輸入資料而已 最大的優點是管理者能夠以中央管控的方式,充分掌握系統的安全性;缺點則是它為專屬系統、價格昂貴,而且必須有專責人員來管理維護。
2-6 資料庫系統的網路架構(續) 主從式架構(Client/Server) 組成之三要件為:伺服器(Server)、用戶(Client) 、網路(Network)
2-6-2 主從式系統運作簡介 用戶端將資料存取的需求利用網路送往伺服器 2-6-2 主從式系統運作簡介 用戶端將資料存取的需求利用網路送往伺服器 伺服器端於接收到用戶端的需求後,解析並執行之,再將執行結果透過網路傳送給用戶端 網路為所有的伺服器與用戶端所共用,所以網路在主從架構之中,扮演著極重要的角色。
2-6-2 主從式架構優點簡介 主從架構的優點: 價格相對低廉 系統的延展性(Scalability)較佳 降低對伺服器處理能力的需求 2-6-2 主從式架構優點簡介 主從架構的優點: 價格相對低廉 系統的延展性(Scalability)較佳 降低對伺服器處理能力的需求 不再受限於單一硬體平台 目前只要在個人電腦上加上適當的用戶端軟體,就可以將個人電腦模擬成主從式系統的用戶端。 用戶端還可以利個人電腦的視窗與多工處理能力,模擬成多個伺服器的用戶端,亦可以獨立使用個人電腦的軟體
2-6-2 主從式架構簡介(續) 兩層式(Two-tier) 應用系統架構 : 使用者介面 (User Interface/UI) 應用邏輯 2-6-2 主從式架構簡介(續) 兩層式(Two-tier) 應用系統架構 : 使用者介面 (User Interface/UI) 應用邏輯 (Application Logic) 營運規則 (Business Rules) 資料存取 (Data Access) 一般的主從式應用系統大多採用兩層式(Two-tier)的架構,所以用戶端應用程式就包了使用者介面(User Interface/UI)、應用邏輯(Application Logic)以及營運規則(Business Rules) 就「主從式」字面來看,系統內不是主就是從但兩層式主從架構有其先天的缺點: 每一用戶端應用都要與伺服器連線,因此會佔用較多的連接(Connection),也就是會佔用伺服器相當多的資源。 2.營運規則是企業性(Enterprise-wide)的,經常會隨著企業的運作而改變。但在兩層式架構下,當我們修改營運規則之後,就必須修改應用程式,因此會造成新版本軟體派發的困擾。
2-6-2 主從式架構簡介(續) 三層式(Three-tier)應用系統架構 三層式架構是針對兩層式架構改進而得來的,其優點如下: 2-6-2 主從式架構簡介(續) 三層式(Three-tier)應用系統架構 三層式架構是針對兩層式架構改進而得來的,其優點如下: 用戶端並不直接把需求送交資料庫伺服器,而是透過中介伺服器,每一用戶不需要都與資料庫伺服器連接,這樣可以降低系統對伺服端資源的需求。 如果需要修改營運規則,則於修改完畢之後,只需安裝於應用伺服器即可,不需要去修改用戶端應用程式。
2-7 SQL Server 2005的主從架構 SQL Server 2005 Express的設計可讓使用者在兩層(Two-tier)或多層(Multi-tier)主從式架構的資料庫系統下有效率的運作 典型的兩層式架構就是SSMSE與資料庫伺服器 典型的三層式架構就是網際網路上網頁與資料庫互動的應用
兩層式架構,用戶端使用應用程式直接連到SQL Server Express 三層式架構,用戶端只能連接到所謂的網際網路伺服器(IIS、Apache等系統)。而工程師撰寫一些程式包含商業邏輯在該伺服器上。 在上圖的兩層式架構中,如果SQL Server Express有更改架構貨要加強管理功能時,則SSMSE就必須更新版本 在上圖的三層式架構中,用戶端使用瀏覽器(Browser,如IE、FireFox 、SaFari(原為MAC上專用,目前也要支援Windows))連接到Web Server上,然後再透過Web Server連接到資料庫。 如果企業邏輯有所改變,則只要修改Web上的程式即可,並不需要更改用戶端的瀏覽器。
2-8 本章總結 資料、資訊、資料庫、資料庫管理系統和資料庫系統。 資料庫系統的成員 2-8 本章總結 資料、資訊、資料庫、資料庫管理系統和資料庫系統。 資料庫系統的成員 使用者(User) 、 資料(Data) 、軟體 (Software) 、 硬體(Hardware) 常用的DBMS資料模式有:關聯式(Relational)、物件關聯式(Object-relational)、階層式(Hierarchical)以及網路式(Network) 主從式架構(Client/Server) 三層式架構(Three-tier)