Ch01 資料庫系統理論
Download
Report
Transcript Ch01 資料庫系統理論
Ch01 資料庫系統理論
資料庫管理
大綱
• 資料庫
• 資料庫模型
• 資料庫管理系統
2015/7/20
2
資料庫的定義-定義
• 資料庫正式的定義有很多種,比較通用的定義,
如下所示:
定義:資料庫(Database)是一個儲存資料的電子
文件檔案櫃(An Electronic Filing Cabinet)。
• 以現代的企業或組織來說,資料庫是讓企業或組
織能夠正常運作的重要元件,想想看!如果銀行
沒有帳戶和交易記錄的資料庫,客戶存款和提款
需要如何運作。每家航空公司都需要依賴訂票系
統的資料庫,才能讓各旅行社訂機票,旅客才知
道班機是否已經客滿。
2015/7/20
3
資料庫的定義-長存資料
• 在企業或組織資料庫儲存的大量資料並非短暫儲
存的暫時資料,而是長時間存在的資料,稱為
「長存資料」(Persistent Data),長存資料是
維持企業或組織正常運作的重要資料,如下:
– 在組織中的資料需要一些操作或運算來維護資料。例
如:當公司員工有人離職或是新進,員工資料需要新
增和刪除操作來進行維護。
– 資料之間是有關係的。例如:員工資料和出勤資料擁
有關係,一位員工擁有一份多筆的出勤資料。
– 資料不包含輸出資料、暫存資料或任何延伸資訊。例
如:員工平均出勤資料、年齡和居住地分佈資料等並
不屬於長存資料,因為這些資料都可以透過資料運算
2015/7/20
而得,亦稱為導出資料(Derived Data)。
4
資料庫的定義-範例
• 資料庫(Database)這個名詞是一個概念,這是
一種資料儲存單位,一些經過組織的資料集合。
事實上,有很多現成擁有或一些常常使用的資料
集合,都可以稱為資料庫,如下所示:
– 在Word文件中編輯的通訊錄資料。
– 使用Excel管理的學生成績資料。
– 在應用程式提供相關功能來維護和分析儲存在大型檔
案的資料。
– 銀行的帳戶資料和交易資料。
– 醫院的病人資料。
– 大學的學生、課程、選課和教授資料。
2015/7/20
– 電信公司的帳單資料。
5
資料庫-範例(以ACCESS為例)
• Access資料庫的資料是儲存在「資料表」
(Tables)物件,每一個資料表使用「欄位」
(Fields)分類成很多群組,每一個群組是一筆
「記錄」(Records),例如:通訊錄資料原來
是使用表格儲存,如下表所示:
2015/7/20
6
資料庫的說明
• 一般來說,我們所泛稱的資料庫正確的說
是「資料庫系統」(Database System)的
一部分,資料庫系統是由「資料庫」
(Database)和「資料庫管理系統」
(Database Mangement System,簡稱
DBMS)所組成。
2015/7/20
7
資料庫的基礎-圖例
2015/7/20
8
邏輯關聯資料
• 在資料庫儲存的是一種擁有關係的資料,這些資
料使用關聯性(Relationships)建立與其它資料
的邏輯關聯,所以稱為「邏輯關聯資料」
(Logically Related Data)。
• 關聯性是一個術語,如果使用口語方式來說,可
以將它視為一種資料間的連結,在資料庫儲存的
是一種「完全連結」(Fully Connected)的資料,
完全連結是指資料庫儲存的資料間擁有連結方式,
這個連結允許從一個資料存取其它的資料。例如:
前述的員工資料和出勤資料擁有關係,一位員工
擁有一份多筆的出勤資料,換一個角度來說,就
是在資料之間擁有連結方式,以便可以將員工資
2015/7/20
9
料連接到出勤資料。
使用Access資料庫管理系統儲存資料
• Access可以將上述表格轉換成【通訊錄資料.mdb】
檔案,這是一個資料庫,內含上述表格的通訊資
料,【通訊錄】是表格名稱,順理成章成為資料
表物件的名稱,表格的每一列是一筆記錄的群組,
這個群組分成欄位:姓名、地址、電話、生日和
電子郵件地址。
• 換一個角度來看,我們使用資料庫儲存資料的目
的是為了能夠快速排序和查詢,或是輸出報表,
所以資料庫管理系統提供有各種排序和查詢功能,
只需透過資料庫管理系統就能夠輕鬆取出資料庫
所需的資料且產生所需的報表,這也是我們建立
資料庫的目的。
2015/7/20
10
資料庫模型
• 「資料庫模型」(Database Model)是使
用一組整合觀念來描述資料與資料間的關
係和資料的限制條件(檢查是否是儲存正
確資料的條件),也就是用來描述資料庫
中資料的關聯性。
• Access是一套關聯式資料庫系統,這是指
它是一套使用關聯式資料庫模型
(Relational Database Model)的資料庫
管理系統。
2015/7/20
11
大型檔案資料庫模型-說明
• 「大型檔案資料庫模型」(Flat-File
Database Model)是直接使用檔案(通常
是文字檔案)儲存資料庫的資料。
• 早期在沒有資料庫管理系統的年代,大部
分公司都是直接使用COBOL程式語言設計
系統,以文字檔案儲存資料,每一個檔案
是一個資料表,檔案中的每一列是一筆記
錄,使用固定欄寬或特殊的分隔字元儲存
欄位資料。
2015/7/20
12
大型檔案資料庫模型-範例1
• 資料庫的每一個文字檔案就是一個資料表,在檔
案中的每一列是一筆記錄,使用固定欄寬或特殊
分隔字元來儲存欄位資料,例如:【學生】資料
表,如下圖所示:
2015/7/20
13
大型檔案資料庫模型-範例2
• 如果資料庫很龐大,需
要使用多個資料表來儲
存資料時,每一個資料
表就是一個檔案,例如:
新增【選課】資料表,
如右圖所示:
2015/7/20
14
關聯式資料庫模型-說明
• 「關聯式資料庫模型」(Relational
Database Model)是1970年由IBM研究員E.
F. Codd博士開發的資料庫模型,其理論基
礎是數學的集合論(Set Theory),不同於
階層和網路式模式使用低階指標連結資料,
關聯式資料庫模型是使用「資料值」
(Data Value)建立關聯,支援一對一、一
對多和多對多關聯性。
2015/7/20
15
關聯式資料庫模型-資料結構
• 關聯式資料庫模型可以視為一個儲存記錄的二維
表格,其資料結構是「關聯表」(Relations),
如下圖所示:
2015/7/20
16
關聯式資料庫模型-關聯性
• 關聯式資料庫模型建立的關聯是以資料值(Data
Values),而不是使用連接結構(Links
Structures),如下圖所示:
2015/7/20
17
關聯式資料庫模型-優缺點
• 關聯式資料庫模型的優缺點,如下表所示:
優點
缺點
資料庫設計可以專注於邏輯觀點,而不 執行關聯式資料庫的硬體和作業系統都
用考量實際的資料庫結構
需要高昂花費,甚至可能是超過預算的
費用
很容易設計和管理資料庫,並不需要太 關聯式資料庫的資料是使用資料值來建
多程式設計工作
立連接,而不是低階指標,所以存取效
率比其他模型的資料庫系統來的差
提供標準 SQL 語言,可以定義、查詢和 不支援複雜結構的資料,一個關聯表只
執行資料操作
能實作一個實體,並不能表示多個子實
體的集合。例如:電腦是由主機、鍵盤
和螢幕所組成
在不同關聯式資料庫間,可以輕易轉換 關聯式資料庫的容易使用反而可能成為
儲存的資料
重大缺點,因為人為錯誤,反而可能造
2015/7/20
18
成儲存資料的不正確
資料庫系統的種類
•
•
•
•
使用者數來區分
範圍來區分
位置來區分
資料庫模型來區分
2015/7/20
19
使用者數來區分
• 資料庫系統以使用者人數來區分可以分為
單人使用和多人使用的資料庫系統,如下
所示:
– 單人使用(Single-user):單人使用的資料庫
系統,資料庫系統只有專屬的使用者,從早期
大型主機的資料庫系統和一些小型資料庫系統
都屬於此類。
– 多人使用(Multi-user):資料庫系統允許多
位使用者同時使用,目前大部分資料庫系統都
屬於多人使用的資料庫系統。
2015/7/20
20
範圍來區分
• 桌上型(Desktop):桌上型資料庫系統是指在
個人電腦上執行的資料庫系統,通常屬於個人使
用,適用在個人或中小企業的資料庫應用。
• 工作群組(Workgroup):在公司部門或組織中
以工作群組方式區分的資料庫系統。例如:業務、
會計和倉庫管理等各工作群組使用的資料庫系統,
巿面上眾多現成的進銷存、會計和客戶管理等資
料庫系統都屬此類。
• 企業級(Enterprise):跨部門或分公司的大型
資料庫系統,屬於大型企業使用的資料庫系統,
因為分公司可能分佈在世界各地,大多是使用分
散式資料庫系統(Distributed Database
2015/7/20
21
System)。
位置來區分
• 集中式資料處理(Centralized Data
Processing):指使用單一大型主機
(Mainframe),將資料處理、儲存都集中在這
台電腦,使用「終端機」(Terminals)連接主機
執行資料處理,換句話說,資料庫系統就是安裝
在這台主機上。
• 分散式資料處理(Distributed Data
Processing):電腦是分散在公司和組織的不同
位置,使用網路連接電腦,此時的資料庫系統可
以安裝在任何一台電腦執行所需的資料處理。
2015/7/20
22
資料庫模型來區分
• 資料庫系統如果使用資料庫模型來區分,
資料庫系統可以依使用的資料庫模型分類
成數種,例如:
– 網路式資料庫系統。
– 階層式資料庫系統。
– 關聯式資料庫系統。
2015/7/20
23
資料庫管理系統-ANSI/SPARC三層
資料庫系統架構
• 目前大部分巿面上的資料庫系統都是使用
ANSI/SPARC三層資料庫系統架構,這是
由「ANSI」(American National
Standards Institute)和「SPARC」
(Standards Planning And Requirements
Committee)制定的資料庫系統架構。
• 雖然ANSI/SPARC三層資料庫系統架構從
未正式成為官方的標準規格,不過它是目
前被廣泛接受的資料庫系統架構。
2015/7/20
24
ANSI/SPARC三層資料庫系統架構圖例
2015/7/20
25
ANSI/SPARC三層資料庫系統架構概念層(說明)
概念層(Conceptual Level)
• 在概念層看到的是整個資料庫儲存的資料,
這是資料庫管理師觀點所看到的完整資料
庫。因為是概念上的資料庫,所以並不用
考量資料實際的儲存結構,因為這部分屬
於內部層(Internal Level)的問題。
• 以Access資料庫來說,在概念層看見的是
【資料表】物件的清單和【資料工作表】
以二維表格方式顯示的記錄資料。
2015/7/20
26
ANSI/SPARC三層資料庫系統架構概念層(範例)
• 例如:Access資料庫的【學生】資料表,
如下圖所示:
2015/7/20
27
ANSI/SPARC三層資料庫系統架構外部層(說明)
外部層(External Level)
• 在外部層看到的是使用者觀點(User Views)的
資料,代表不同使用者在資料庫系統所看見的資
料,通常只有部分資料庫的資料。對於資料庫系
統的使用者來說,其面對的是外部層,包含多種
不同觀點的資料。例如:一所大學或技術學院,
可以提供多種不同使用者觀點,如下所示:
使用者觀點1:學生註冊資料
使用者觀點2:學生選課資料
使用者觀點3:學生成績單資料
2015/7/20
28
ANSI/SPARC三層資料庫系統架構外部層(範例)
• 例如:Access的【查詢1980年前出生的學
生資料】查詢物件就只顯示學生資料表的
部分資料,如下圖所示:
2015/7/20
29
ANSI/SPARC三層資料庫系統架構外部層
內部層(Internal Level)
• 內部層是以實際儲存觀點所呈現的資料,
這是實際儲存在磁碟等儲存裝置的資料,
內部層在三層架構中扮演資料庫管理系統
與作業系統的介面。
2015/7/20
30
資料庫綱要
• ANSI/SPARC三層資料系統架構是探討資
料庫管理系統的角度,針對不同使用觀點
來說明其管理的資料。
• 現在轉換主題到資料庫本身,在資料庫管
理系統看到的資料是儲存在資料庫的資料,
除了資料本身外,還包含描述資料的定義,
稱為「綱要」(Schema)。
2015/7/20
31
資料庫綱要的基礎-說明
• 「資料庫綱要」(Database Schema)是
指整個資料庫的描述,即描述整個資料庫
儲存資料的定義資料,如下所示:
– 綱要(Schema):資料描述的定義資料,對
比程式語言的變數就是資料型態(Data
Type)。例如:VB語言宣告成整數的age年齡
變數,如下圖所示:
Dim age As Integer
– 資料(Data):資料本身,也就是程式語言的
變數值。例如:年齡為25,如下所示:
age
=
25
2015/7/20
32
資料庫綱要的基礎-圖例
2015/7/20
33
三層資料庫綱要-圖例
2015/7/20
34
三層資料庫綱要-概念綱要
概念綱要(Conceptual Schema)
• 概念綱要是描述概念層的完整資料庫,所以資料
庫只擁有一個概念綱要來定義資料表的欄位和資
料類型。以Access來說,這就是【資料表】物件
設計檢視的欄位定義,如下圖所示:
2015/7/20
35
三層資料庫綱要-外部綱要
外部綱要(External Schema)
• 外部綱要源於概念綱要,主要是描述外部
層顯示的資料,每一個外部層綱要只描述
資料庫的部分資料,隱藏其它部分的資料。
換句話說,每一個外部層使用者觀點的資
料都需要一個外部綱要,在一個資料庫允
許擁有多個外部綱要。
2015/7/20
36
三層資料庫綱要-內部綱要
內部綱要(Internal Schema)
• 內部綱要是描述內部層實際儲存觀點的資料,定
義資料的儲存結構和哪些資料需要建立索引,如
同概念綱要,資料庫只擁有一個內部綱要。例如:
使用C語言宣告學生Student的結構,如下所示:
struct Student {
char no[5];
char name[15];
char address[40];
int telephone;
struct Date birthday;
struct Student *next;
};
2015/7/20
37
資料庫管理系統-說明
• 資料庫管理系統從字面來說是一套管理資料庫的
軟體工具,它是由一組程式模組負責組織、管理、
儲存和讀取資料庫的資料,使用者對於資料庫的
任何操作,都一定需要透過資料庫管理系統來處
理。
• 目前巿面上大部分的資料庫管理系統都屬於「關
聯式資料庫管理系統」(Relational Database
Management System,簡稱RDBMS),這是用
來管理關聯式資料庫模型(Relational Database
Model)的關聯式資料庫(Relational
Database)。
2015/7/20
38
資料庫管理系統-圖例
• 資料庫管理系統在眾多的電腦軟體系統架
構中,是位在作業系統和應用程式開發工
具之間,如下圖所示:
2015/7/20
39
資料庫管理系統的系統架構-說明
• 在討論三層資料庫系統架構是資料庫管理
系統的抽象觀點(Abstract View),以資
料庫儲存資料的角度來說明整個資料庫管
理系統。
• 換一種方式,從軟體角度出發,資料庫管
理系統是由多種不同的程式模組所組成,
雖然各家廠商的資料庫管理系統擁有不同
的系統架構,不過,基本資料庫管理系統
的系統架構都擁有四大模組。
2015/7/20
40
資料庫管理系統的系統架構-圖例
2015/7/20
41
資料庫管理系統的系統架構-儲存管理
• 儲存管理(Storage Manager)對於簡單的
資料庫管理系統來說,就是作業系統的檔
案管理,不過為了效率考量,資料庫管理
系統通常都會自行配置磁碟空間,將資料
存入儲存裝置的資料庫。例如:硬式磁碟
機,或從資料庫讀取資料。
• 儲存管理可以再分為:檔案管理(File
Manager)實際配置磁碟空間後將資料存入
磁碟,和緩衝區管理(Buffer Manager)負
責電腦記憶體的管理。
2015/7/20
42
資料庫管理系統的系統架構-查詢處
理模組
• 目前的資料庫管理系統大多提供第4代語言
(4GL),可以讓使用者定義、查詢或存取資料,
資料庫管理系統語言(DBMS Languages)主要
分成兩大類,如下所示:
– 資料定義語言DDL(Data Definition Language):
DDL是用來建立資料庫綱要(Database Schema),
我們使用它來定義概念綱要、內部綱要和外部綱要。
– 資料操作語言DML(Data Manipulation Language):
這個語言的指令敘述可以讓使用者存取和操作資料庫
的資料,它是使用者與資料庫管理系統間溝通的語言,
可以查詢、新增、刪除和更新資料庫的資料。
2015/7/20
43
資料庫管理系統的系統架構-交易管
理
• 資料庫系統通常都會支援商業用途,而商業系統
架構的基礎是商業交易,這些商業交易的操作需
要一併執行,視為一個無法分割的單位,整個過
程對於資料庫來說是一個「交易」
(Transaction)。
• 交易管理(Transaction Manager)主要分為:同
名的交易管理子系統,負責處理資料庫的交易,
保障資料庫商業交易的操作需要一併執行;「鎖
定管理」(Lock Manager)也稱為「並行控制管
理」(Concurrency-Control Manager)子系統來
負責資源鎖定。
2015/7/20
44
資料庫管理系統的系統架構-回復管
理
• 資料庫在運作中可能碰到系統當機、斷電
或磁碟損壞等突發狀況,所以,資料庫管
理系統需要提供備份和回復管理(Backup
and Recover Management),以保障資料
的完整或一致性。
• 回復管理(Recovery Manager)主要分為:
「記錄管理」(Log Manager)子系統,負
責記錄資料庫的所有操作,包含交易記錄,
以便同名的回復管理子系統能夠執行回復
處理來回復資料庫系統。
2015/7/20
45
常見的資料庫管理系統-說明
• 目前巿場主流的資料庫管理系統是關聯式資料庫
管理系統,有相當多廠商開發相關的資料庫產品,
有些軟體公司的主力產品就是資料庫,例如:甲
骨文公司的Oracle。
• 隨著「開放原始碼」(Open Source)的大力推
展,一些免費的資料庫管理系統產品也可以從網
路上免費取得,換句話說,如果公司或組織的軟
體採購經費不足,也可以選擇免費的資料庫管理
系統來建構公司的資料庫系統。
2015/7/20
46
常見的資料庫管理系統-商用的資料
庫管理系統1
• SQL Server:微軟SQL Server是微軟公司針對
企業級巿場的主力資料庫產品,使用SQL結構化
查詢語言,稱為Transact-SQL。第一個版本約在
1989年推出,這是OS/2作業系統的版本,SQL
Server是源於UNIX和VMS作業系統的Sybase
SQL Server 4.0,Sybase和微軟最後分道揚鑣分
別獨立開發其產品,其網址:
http://www.microsoft.com。
• Access:繼Xbase資料庫系統DBASE和FoxPro
等之後,微軟開發針對個人電腦使用的資料庫管
理系統,屬於微軟Office家族的一員,提供圖形使
用介面,在不需要設計程式的情況下,就可以建
立應用程式,通常是用來建立搭配其他資料庫管
理系統的「前台」(Frontends)應用程式。
2015/7/20
47
常見的資料庫管理系統-商用的資料
庫管理系統2
• DB2:IBM公司主力的資料庫產品,也是使用
SQL語言,DB2不只是一套關聯式資料庫系統,
從技術上來說,它還是一套物件關聯式資料庫系
統,其網址:http://www.ibm.com。
• Oracle:甲骨文公司(Oracle Corporation)開發
與公司同名的著名資料庫產品Oracle,這是一套
巿佔率很高的資料庫產品,使用名為PL/SQL資料
庫語言,Oracle是一套強力支持Java語言的資料
庫產品,如同IBM DB2,它不只是一套關聯式資
料庫系統,還是一套物件關聯式資料庫系統,其
網址:http://www.oracle.com.。
2015/7/20
48
常見的資料庫管理系統-商用的資料
庫管理系統3
• INGRES:源於加州大學柏克萊分校的關聯式資
料庫研究計劃,在1982年成立Ingres公司開發商
用資料庫產品,後來被組合國際(Computer
Associates)購併,稱為Ingres Enterprise
Relational Database,這是一套高效能和高擴充
性的關聯式資料庫管理系統,事實上,目前巿面
上各家的資料庫管理系統,有很多都是源於
Ingres研究計劃,其網址:http://www.ca.com。
• Sybase:賽具斯公司開發的資料庫管理系統,原
名Sybase SQL Server,後來更名為Sybase
Adaptive Server,以避免與微軟Microsoft SQL
Server混淆,Sybase是最早使用Ingres系統開發
資料庫管理系統,早於Informix,其網址:
http://www.sybase.com/home。
2015/7/20
49
常見的資料庫管理系統-商用的資料
庫管理系統4
• Informix:Informix公司擁有20年關聯式資料庫管
理系統開發經驗,Informix公司是最早使用Ingres
系統開發資料庫系統的廠商之一,在2001 年被
IBM公司購併,IBM將其資料庫技術使用在DB2,
稱為DB2 Arrowhead,其相關開發工具的軟體公
司改名為Ascential軟體公司。
• InterBase:Borland公司的關聯式資料庫管理系
統,InterBase不同於其他公司的資料庫管理系統,
這是一套很小的產品,幾乎不需任何管理,一樣
提供多層架構,其網址:http://www.borland.com。
2015/7/20
50
常見的資料庫管理系統-免費的資料
庫管理系統1
• MySQL:MySQL AB公司開發和維護的關聯式資
料庫管理系統,MySQL是一套快速、多執行緒、
多使用者和使用SQL語言的關聯式資料庫管理系
統,這是一套GNU免費軟體,如果需要技術支援,
可以購買商業版本的MySQL,其網址:
http://www.mysql.com/。
• PostgreSQL:PostgreSQL是一套BSD License
授權的免費物件關聯式資料庫管理系統,這是由
PostgreSQL Global Development Group開發和
維護的資料庫管理系統,類似商用資料庫管理系
統Oracle和IBM DB2,其網址:
http://www.postgresql.org/。
2015/7/20
51
常見的資料庫管理系統-免費的資料
庫管理系統2
• Firebird:Firebird原來是由Inprise公司
(即現在的Borland公司)開發的資料庫管
理系統,現由Firebird Foundation
Incorporated負責後續開發與維護的免費關
聯式資料庫管理系統。Firebird新增的程式
模組是使用Initial Developer's Public
License(IDPL)授權,原始模組是
InterBase Public License授權,支援ANSISQL資料庫語言,其網址:
http://www.firebirdsql.org/。
2015/7/20
52
資料庫管理師-說明
• 「資料庫管理師」(Database
Administrator,DBA)負責和執行一個成功
資料庫環境的相關管理和維護工作。事實
上,資料庫管理師負責很多工作,它可以
是一個人,也可能是一個小組來擔任。簡
單的說,資料庫管理師的主要目的是維護
資料庫系統的正常運作,並且提供使用者
存取所需的資料。
2015/7/20
53
資料庫管理師-背景
• 通常資料庫管理師需要擁有公司管理和資料庫等
電腦技術的專業知識,最好是主修資訊或資管科
系的人員,其需要的相關電腦知識,如下所示:
– 熟悉作業系統操作。
– 熟悉一種或數種資料庫管理系統的使用。
– 精通資料庫系統提供的查詢語言,即SQL結構化查詢
語言。
– 資料庫設計,至少需要清楚公司資料庫系統的資料庫
綱要。
– 對電腦硬體與網路架構有一定的了解。例如:主從架
構和Internet網際網路。
2015/7/20
54
資料庫管理師扮演的角色-說明
• 資料庫管理師負責資料庫系統的維護和管理,在
角色上是扮演中間協調與溝通的角色,需要和軟
體與硬體廠商溝通軟體升級或硬體擴充,提供管
理者決策支援和使用者所需的資料,和開發者研
究系統功能擴充,解決系統問題,資料庫管理師
都扮演重要的中間溝通與協調角色。
• 資料庫管理師處理的主要對象是資料,資料庫管
理師需要執行整個公司的資料管理和處理,讓資
料庫以最佳效能、能夠24小時正常的運作。
2015/7/20
55
資料庫管理師扮演的角色-圖例
2015/7/20
56
資料庫管理師負責的工作-維護資料
庫綱要
維護資料庫綱要
• 資料庫管理師需要參與資料庫設計,提供
資料庫設計師關於概念層綱要的修改建議,
即協助建立Access資料表物件的定義資料。
• 資料庫管理師需要負責從資料庫使用的資
料庫模型。例如:關聯式資料庫模型,和
系統規格建立資料庫,描述資料庫在儲存
裝置的實際資料結構。
2015/7/20
57
資料庫管理師負責的工作-資料管理
資料管理
• 資料庫管理師最主要的工作是資料管理,
提供公司或組織一個集中管理的資料庫,
並且依據各部門的需求,提供不同使用者
觀點的資料,即建立不同的Access查詢物
件。
2015/7/20
58
資料庫管理師負責的工作-維護和監
控資料庫管理系統1
• 維護和監控資料庫管理系統
• 安裝和升級資料庫管理系統:資料庫管理師負責
公司資料庫管理系統和更新套件的安裝,當新版
推出時,還負責資料庫管理系統的升級安裝。
• 監控和調整資料庫的效能:資料庫管理師負責監
控資料庫系統的實際使用狀態,統計和分析資料
庫的資料使用狀態,依據監控所得的資訊,調整
資料庫效能和最佳化資料庫的使用。
2015/7/20
59
資料庫管理師負責的工作-維護和監
控資料庫管理系統2
• 使用者的稽核追蹤:資料庫管理師扮演資料庫系統的線上
警察,負責追蹤各使用者的資料存取狀況,是否有非法入
侵的使用者,可以防止違規使用者存取重要資料。
• 容量計劃和選擇儲存裝置:資料庫儲存的資料會隨時間而
成長,但是資料庫系統的儲存容量並不會自動的同步成長,
資料庫管理師需要預估未來可能的資料成長量,選擇適當
的儲存裝置和更改資料結構,以滿足資料成長的需求。
• 備份與回復:資料庫是公司重要的資產,資料庫管理師需
要儘其所能維護資料庫不受到損害,資料庫管理師負責定
期備份資料庫,當系統發生問題時,使用最適當的回復程
序,以最快速的方式恢復資料庫的正常運作。
2015/7/20
60
資料庫系統的優點-1
• 整合資料管理:相關資料檔案是集中由資
料庫管理系統進行管理。
• 資料共享:資料庫的資料可以由多人共享,
允許多人同時存取資料庫,另外透過網路
或Internet,就算位在世界各地都可以存取
資料庫的資料。
2015/7/20
61
資料庫系統的優點-2
• 減少資料重複(Data Redundancy):因為資料庫系統
是集中管理資料庫的資料,所以可以大幅降低資料重複的
可能性。
• 維持資料的一致性(Data Consistency):因為資料庫
系統可以減少資料重複,再加上資料庫管理系統可以檢查
完整性限制條件(Integrity Constraints),不只可以保證
輸入資料的正確,還可以維持資料的一致性。
• 資料獨立(Data Independence):在檔案處理系統存取
資料需要了解詳細的資料結構,資料庫管理系統提供資料
獨立,換句話說,如果資料結構或存取方式改變,並不會
影響應用程式的執行,例如:學號從5碼改為6碼,並不需
要更改應用程式的程式碼。
2015/7/20
62
資料庫系統的優點-3
• 提供單一介面和語言存取資料:資料庫系統提供
4GL的資料庫語言存取資料庫。例如:SQL語言,
或是透過應用程式的操作介面存取資料,可以隱
藏資料庫管理系統的實際資料存取方式。
• 更多的資料保密、安全管理和控制能力:資料庫
系統提供資料保密、使用者存取權限和資料存取
的控制,可以強迫達成標準化的資料管理。例如:
標準的文件格式或不同層級的資料存取。
• 提供多種觀點的資料:因為資料庫系統是由多人
共享,每位使用者可以分別取得所需的資料,而
且以不同的觀點來符合其需求。例如:同樣是教
授,它可以是學生的老師,也可以是學校的員工。
2015/7/20
63
資料庫系統的優點-4
• 支援交易管理(Transaction Management):
資料庫系統提供交易管理和並行處理,可以處理
商業交易,保障交易進行的正確無誤。
• 具高可靠性(Reliability):資料庫系統十分可
靠,提供備份與回復功能來進一步保障資料的安
全,在出現狀況時,可以回復資料庫系統的資料。
• 降低軟體開發的費用:直接選擇現成的資料庫管
理系統,然後在管理系統下開發所需的資料庫系
統,而不用重頭開發整個資料庫系統。
2015/7/20
64
資料庫系統的缺點-1
• 龐大的額外費用:建構資料庫系統需要升
級電腦硬體和軟體環境,一套企業永續經
營的資料庫系統,包含網路建置,硬體和
軟體升級,將會是一筆相當龐大的額外預
算,有可能未蒙其利,先受其害,造成公
司財務的負擔。
• 資料轉換的成本:各部門的資料都需要轉
換成資料庫結構,以便存入資料庫,這不
只是資訊部門的一項大工程,而且需要全
公司各部門人員的充分支援。
2015/7/20
65
資料庫系統的缺點-2
• 安全管理的漏洞:雖然資料庫擁有安全管理能力,
但是人為錯誤或非專業人員的控管,資料共享的
優點,反而容易造成人為的安全問題。例如:沒
有取消離職員工的帳號,增加公司重要資料被竊
取的機會。
• 大幅更改作業流程:資料庫系統可能大幅更改現
有公司的作業流程,使用者不只需要熟悉全新的
應用程式操作,還需要適應新的資料處理流程,
如此可能產生額外的人力支援和不合作的使用者,
加重資訊部門的負擔和責任。
2015/7/20
66
資料庫系統的缺點-3
• 系統風險增加:資料庫系統使用集中方式管理資
料,一旦系統停擺,將會讓公司蒙受重大損失。
資料庫系統可能因為電腦病毒、天災、硬體故障
或人為操作錯誤等情況造成系統癱瘓,所以資料
庫系統在建置時,就需考量備援系統或額外的保
護設備。例如:使用不斷電系統(Un-interrupt
Power Systems)可防止不預警的停電。如果是
一套全年無休持續運作的NonStop資料庫系統,
還需要準備異地備援系統,以免公司主機遭遇地
震或火災受損時,仍然可以使用位在其它地方的
資料庫系統,維持公司的正常運作。
2015/7/20
67
資料庫系統的缺點-4
• 人為風險增加:事實上,人為錯誤和破壞
才是資料庫系統的最大敵人,如果資料庫
系統設計錯誤,一旦人為的資料輸入錯誤,
小則只是系統受損,大則錯誤的資料,可
能造成決策錯誤和管理作業上的混亂。更
進一步,如果資訊部門有不肖人員(或駭
客),蓄意進行破壞,集中管理的資料庫
系統,反而成為最佳的攻擊目標,所以資
料庫系統除了系統管理外,相關人員的忠
誠管理也是一項重要的工作。
2015/7/20
68