第 2 章 資料 庫系統

• 2-1 資料庫環境的四大組成元件
• 2-2 ANSI/SPARC 的三層資料庫系統架構
• 2-3 資料庫綱要( Database Schema )
• 2-4 實際與邏輯資料獨立
• 2-5 資料庫系統的優缺點
• 2-6 資料庫管理系統
• 2-7 資料庫管理師

2-1 資料庫環 境的 四大 組成元

• 2-1-1
• 2-1-2
• 2-1-3
• 2-1-4

使用者
資料
軟體
硬體

2-1 資料庫環 境的 四大 組成元

2-1-1 使用 者 - 終端 使用者
終端使用者( End Users )
• 終端使用者( End Users )的主要工作是
查詢或更新資料庫,或是存取資料庫以產
生所需的報表,終端使用者可以分為數種
,如下所示:
– 初級使 用者( Naive or Parametric
Users )
– 不常使 用的使 用者 ( Casual Users )
– 熟練使 用者( Sophisticated Users )

2-1-1 使用 者 - 資料庫 設計 師
資料庫設計師( Database Designers )
• 資料庫設計師精通資料庫設計,其主要的
工作是建立資料庫結構,判斷哪些資料需
要儲存在資料庫,和使用什麼樣的結構來
儲存這些資料。
• 資料庫設計師通常是使用「資料庫設計工
具」( Database Design Tools )來建
立資料庫結構。

2-1-1 使用 者 - 資料庫 管理 師
資料庫管理師( Database Administrator,
DBA )
• 資料庫系統需要一位或一組對整個系統十
分了解的人員作為資料庫管理師,負責管
理整個資料庫環境。
• 因為資料庫管理師的工作十分專業,需要
擁有公司管理和資料庫等電腦技術的專業
知識,特別適合主修資訊管理或資訊工程
且擁有管理經驗的人員來擔任。

2-1-1 使用 者 - 系統 分析師
系統分析師( System Analyst , SA )
• 系統分析師與應用程式設計師屬於「專業使用者
」( Specialized Users ),系統分析師依據終
端使用者的需要,主要是指初級使用者( Naive
or Parametric Users )的需要來製定資料庫應
用程式的規格與功能。
• 應用程式設計師( Application Programmer )
依據系統分析師定義的規格建立終端使用者使用
的資料庫應用程式,利用程式開發工具或指定的
程式語言,呼叫資料庫系統提供的「資料庫存取
函式庫」( Database Access Library )建立
所需的資料庫應用程式。

2-1-2 資料 - 長存資 料
長存資料( Persistent Data )
• 資料庫儲存的是公司或組織的非暫時資料
,這些資料是長時間存在的資料,使用者
以應用程式使用介面輸入(新增、刪除或
更新操作)建立的資料。
• 從這些操作的資料可以進一步執行各項查
詢和運算,以得到使用者所需的資料。

2-1-2 資料 - 系統目 錄
系統目錄( System Catalog )
• 系統目錄是由資料庫管理系統自動產生的
資料,在資料庫管理系統稱為「系統目錄
」( System Catalog 或稱為 Data
Dictionary ),其內容是從前述的操作資
料所衍生的一些資料。
• 例如:資料庫結構的定義資料,它是用來
描述資料本身,也稱為中繼資料( The
data about data ),系統目錄的主要用
途是用來提供維護資料庫所需的資訊。

2-1-2 資料 - 索引資料 ( 說
明)

索引資料( Indexes )
• 「索引」( Indexes )的目的是為了在資
料庫儲存的龐大資料中能夠更快速的找到
資料。
• 索引資料是一些參考資料,這是將資料庫
中特定部分(屬性)的資料預先進行排序
,並且提供「指標」( Pointer )指向資
料庫真正儲存資料的位置,資料庫管理系
統使用雜湊函數( Hash Function )或 B
樹( B-Tree )等演算法來建立索引資料。

2-1-2 資料 - 索引資 料 ( 圖例
)
• 例如:在關聯式資料庫的 Students 關聯表
,建立 GPA 屬性的單層有序次索引,如下
圖所示:

2-1-2 資料 - 交易記錄
交易記錄( Transaction Log )
• 交易記錄是資料庫管理系統自動產生的歷
史資料,可以記錄使用者在什麼時間下達
什麼指令或執行什麼操作。
• 這些資料對於一般使用者而言,並沒有什
麼用處,但是對於資料庫管理師來說,就
是十分重要的參考資訊。

2-1-3 軟體 - 資料庫 管理 系統
( 說明 )
資料庫管理系統( DBMS )
• 資料庫管理系統是一組程式模組用來定義、處理
和管理資料庫的資料,在此主要是指那些通用用
途的資料庫管理系統,如下圖所示:

2-1-3 軟體 - 資料庫 管理 系統
( 語言 )
• 資料庫管理系統語言( DBMS
Languages )主要可以分成二個部分,如
下所示:
– 定義部 分: 使用資料定義語言( Data
Definition Language , DDL )定義資料庫
的結構。
– 操作部 分: 直接使用資料操作語言( Data
Manipulation Language , DML )或透過
應用程式介面產生,就可以查詢資料庫資料或
新增、刪除或更新資料庫的資料。

2-1-3 軟體 - 應用程 式
應用程式( Application Program )
• 應用程式是程式設計師使用開發工具或程式語言
,所自行建立的專屬軟體。應用程式提供使用者
相關的使用介面,透過使用介面的選單或按鈕,
就可以向資料庫管理系統下達查詢語言的相關指
令,在取得所需資料後,顯示或產生所需的報表

• 換句話說,配合公司或組織的需求,我們可以在
資料庫管理系統的基礎上,建立各種不同的應用
程式。例如:選課系統、人事資料系統、進銷存
系統、會計系統和公文系統等。

2-1-3 軟體 - 開發工 具
開發工具( Development Tools )
• 開發工具是用來建立資料庫和開發應用程
式。例如:資料庫設計工具、資料庫開發
工具或程式語言的整合開發環境,它可以
幫助資料庫設計師建立資料庫結構和程式
設計者快速建立應用程式。
• 例如: PowerBuilder 、 Oracle
Developer 、 Visual Studio.NET 和
Visual Stuido 2005 等。

2-1-4 硬體
• 安裝資料庫相關軟體的硬體設備,包含:
主機( CPU 、記憶體和網路卡等)、磁碟
機、磁碟陣列、光碟機、磁帶機和備份裝
置。
• 整個資料庫系統的硬體處理架構依其運算
方式,可以分為:集中式或分散式的主從
架構。

2-2 ANSI/SPARC 的三 層資
料庫系統 架構
• 2-2-1 概念層
• 2-2-2 外部層
• 2-2-3 內部層
• 2-2-4 ANSI/SPARC
三層資料庫架構的目的

2-2 ANSI/SPARC 的三 層資
料庫系 統架 構 - 圖例

2-2 ANSI/SPARC 的三 層資
料庫 系統架 構 - 簡單說明
• 概念層( Conceptual Level ): 資料
庫管理師觀點的資料,這是資料庫儲存的
完整資料,屬於在概念上看到的完整資料
庫。
• 外部層( External Level ): 一般使
用者觀點的資料,代表不同使用者在資料
庫系統所看見的資料,通常只是部分資料
庫的資料。
• 內部層( Internal Level ): 實際觀點
所呈現的資料,這是實際資料庫儲存在電
腦儲存裝置的資料。

2-2-1 概念 層 - 說明
• 在概念層看到的是整個資料庫儲存的資料
,這是資料庫管理師觀點所看到的完整資
料庫。因為它只是概念上的資料庫,所以
並不用考量資料實際的儲存結構,因為這
是內部層( Internal Level )的問題。

2-2-1 概念 層 - 範例
• 關聯式資料模型的資料庫在概念層所見的是以二
維表格顯示的資料,如下圖所示:

• 關聯式資料庫的「關聯表」( Relations )是資
料庫所看到的完整資料。

2-2-2 外部 層 - 說明
• 資料庫系統使用者面對的是外部層,這是
使用者觀點( User Views )的資料,包
含多種不同觀點的資料,例如:一間大學
或技術學院,不同使用者的觀點,如下:
使用者觀點 1 :學生註冊資料
使用者觀點 2 :學生選課資料
使用者觀點 3 :學生成績單資料

2-2-2 外部 層 - 範例
• 資料以 不同的 方式 呈現: 外部層的資料如同裁
縫師手上的布,可以將概念層的資料剪裁成不同
衣服樣式的資料。例如:使用清單、表格或表單
內容(例如: Visual Basic 的表單或 HTML 表
單)等方式來呈現資料。
• 只包含 使用者 有興 趣的資 料: 外部層的資料只
是部分資料庫,例如:二位使用者分別看到
Students 關聯表的部分或導出內容,年齡 Age
是由生日計算而得。
• 相同資 料可以 顯示 不同格 式: 雖然在資料庫儲
存的資料是單一格式,不過在顯示時可以使用不
同格式。

2-2-3 內部 層
• 在內部層看到的是實際觀點的資料庫,這是實際
儲存在磁碟等外部儲存裝置的資料,內部層在三
層架構中扮演資料庫管理系統與作業系統的介面

• 在內部層的資料是實際儲存在資料庫的資料結構
或檔案組織所呈現的資料,例如:使用鏈結串列
結構儲存資料,如下圖所示:

2-2-4 ANSI/SPARC 三層 資
料庫架 構的 目的 - 使用者角 度
• 使用者觀點所見的資料是獨立的:不同使
用者可以存取相同資料,只是觀點可能不
同,但是,各觀點的資料是獨立的,更改
觀點的資料,並不會影響其他使用者觀點
的資料。
• 使用者並不用了解實際資料的儲存方式:
使用者的焦點是在處理資料本身,而不是
了解到底這些資料是如何儲存。

2-2-4 ANSI/SPARC 三層 資
料庫架 構的 目的 - 資料庫管 理
師角 度

更改實際儲存結構不會影響使用者觀點的
資料:當有全新的儲存結構和索引技術時
,就算更改資料庫的儲存結構,也不會影
響外部層使用者觀點的資料。
• 更改概念層的完整資料庫也不會影響使用
者觀點的資料:如果將資料庫從關聯式資
料模型改為物件導向式資料庫模型時,我
們仍然可以顯示完全相同的使用者觀點資
料,並不會影響使用者看到的資料。

2-3 資料庫綱 要
( Database Schema )
• 2-3-1 三層資料庫綱要
• 2-3-2 資料庫綱要間的對映

2-3 資料庫 綱要
( Database Schema ) 圖例

「資料庫綱要」( Database Schema )
是指整個資料庫的描述,即描述整個資料
庫儲存資料的定義資料,如下圖所示:

2-3 資料庫 綱要
( Database Schema ) 說明
• 資料庫管理系統管理的資料庫可以分割成

資料和描述資料的綱要( Schema ),如
下所示:
– 綱要( Schema ): 資料描述的定義資料,
對比程式語言的變數是資料型態( Data
Type ),例如: C 語言宣告成整數的 age 年
齡變數,如下圖所示:
int age;
– 資料( Data ): 資料本身,也就是程式語言
的變數值,例如:年齡為 20 ,如下所示:
age = 20;

2-3-1 三層 資料庫 綱要 - 圖例

2-3-1 三層 資料庫 綱要 - 簡單
說明
• 三層資料庫綱要每一層的簡單說明,如下
所示:
– 外部綱 要( External Schema ): 描述使
用的資料。
– 概念綱 要( Conceptual Schema ): 描
述資料本身的意義。
– 內部綱 要( Internal Schema ): 描述儲
存的資料。

2-3-1 三層 資料庫 綱要 - 外部
綱要
外部綱要( External Schema )
• 外部綱要源於概念綱要,主要是描述外部層顯示
的資料,每一個外部層綱要只描述資料庫的部分
資料,隱藏其他部分的資料。
• 換句話說,每一個外部層使用者觀點的資料都需
要一個外部綱要,在一個資料庫可能擁有多個外
部綱要,如下圖所示:

2-3-1 三層 資料庫 綱要 - 概念
綱要
概念綱要( Conceptual Schema )
• 概念綱要是描述概念層的完整資料庫,這是「概
念資料庫設計」( Conceptual Database
Design )的結果,概念資料庫設計主要是分析使
用者資訊,以便定義所需的資料項目,並不涉及
到底是使用那一套資料庫管理系統。
• 概念綱要描述完整資料庫的資料和其關聯,所以
資料庫只能擁有一個概念綱要,如下圖所示:

2-3-1 三層 資料庫 綱要 - 內部
綱要
內部綱要( Internal Schema )
• 內部綱要是描述內部層實際觀點的資料,定義資
料的儲存結構和那些資料需要建立索引,如同概
念綱要,資料庫只擁有一個內部綱要。
• 例如: C 語言宣告學生 Students 的結構,如下

struct Students {
char no[5];
char name[15];
char address[40];
int telephone;
struct Date birthday;
struct Student *next;
};

2-3-2 資料 庫綱要 間的 對映 說明
• 三層資料庫綱要只是描述資料,真正的資料是儲
存在外部儲存裝置的資料庫。
• 當以外部層使用者觀點顯示資料時,也就是參考
外部綱要向概念綱要請求資料,然後概念綱要請
求內部綱要從資料庫取得資料,在取得真正的資
料後,資料需要進行轉換來符合概念綱要的定義
,然後再轉換成符合外部綱要的定義,最後才是
外部層使用者觀點看到的資料,在各層間進行的
資料轉換過程,稱為「對映」( Mapping )。

2-3-2 資料 庫綱要 間的 對映 圖例

2-3-2 資料 庫綱要 間的 對映 種類
• 各層綱要間的對映主要有兩種:
– 外部與 概念對 映( External/Conceptual
Mapping ): 所有外部綱要都是對映到概念
綱要,以便資料庫管理系統知道如何將外部層
的資料連結到那一部分的概念綱要。例如:在
外部綱要 (S_No, Name, Age) , S_No 是對
映到概念綱要的 No , Age 是從概念綱要的
Birthday 運算而得。
– 概念與 內部對 映( Conceptual/Internal
Mapping ): 概念綱要對映到內部綱要的關
聯,以便資料庫管理系統可以找到實際儲存裝
置的記錄資料後,建立概念綱要的邏輯結構。

2-4 實體與邏 輯資 料獨立
• 2-4-1
• 2-4-2
• 2-4-3

資料獨立的基礎
邏輯資料獨立
實體資料獨立

2-4-1 資料 獨立的 基礎 - 說明
• 三層資料庫綱要的主要目的是為了達成「資料獨
立」( Data Independence ),也就是說上層
的綱要並不會受到下層綱要的影響,當下層綱要
更改時,也不會影響到上層綱要。
• 與資料獨立相反的術語是「資料相依」( Data
Dependence )。例如:使用 C 語言建立「堆
疊」( Stacks )資料結構,如下圖所示:

2-4-1 資料 獨立的 基礎 - 種類
• 三層資料庫綱要一共擁有兩種資料獨立:
– 外部與概念對映的邏輯資料獨立( Logical
Data Independence )。
– 概念與內部對映的實體資料獨立( Physical
Data Independence )。

2-4-2 邏輯資 料獨 立 - 圖例

2-4-2 邏輯資 料獨 立 - 說明
• 當更改概念綱要,例如:新增或刪除實體
、屬性或關聯性,並不用同時更改存在的
外部綱要或重寫程式碼,因為可以透過外
部與概念對映來達成邏輯資料獨立。
• 每當資料庫需要更改概念綱要時,只需配
合修改外部與概念對映的定義,就可以在
不更改存在的外部綱要下,取得相同使用
者觀點的資料。

2-4-3 實體資 料獨 立 - 圖例

2-4-3 實體資 料獨 立 - 說明
• 當更改內部綱要,例如:使用不同的檔案
組織或儲存結構,並不用更改概念綱要和
外部綱要,因為可以透過概念與內部對映
來達成實體資料獨立。
• 每當資料庫需要更改內部綱要時,只需配
合修改概念與內部對映的定義,就可以完
全不動到概念綱要和外部綱要。

2-5 資料庫系 統的 優缺點
• 2-5-1 資料庫系統的優點
• 2-5-2 資料庫系統的缺點

2-5-1 資料 庫系統 的優 點 -1
• 整合的 資料管 理: 相關資料檔案是集中管理,不
像檔案處理系統,需要額外操作或程序來處理位
在不同檔案的資料。
• 資料共 享: 資料庫的資料可以由多人共享,允許
多人同時存取資料庫,只需透過網路或
Internet ,就算位在世界各地都可以存取資料庫
的資料。
• 減少資 料重複 ( Data Redundancy ): 不
同於檔案處理系統將資料分割成多個檔案來儲存
,資料庫系統集中管理資料庫的資料,可以大幅
降低資料重複的可能性。

2-5-1 資料 庫系統 的優 點 -2
• 維持資 料的一 致性 ( Data Consistency )
: 因為資料庫系統可以減少資料重複,再加上資
料庫管理系統可以檢查完整性限制條件
( Integrity Constraints ),不只可以保證輸
入資料的正確,還可以維持資料的一致。
• 資料獨 立( Data Independence ): 在檔
案處理系統存取資料需要了解詳細的資料結構,
資料庫管理系統提供資料獨立,換句話說,如果
資料結構或存取方式改變,並不會影響應用程式
的執行,例如:學號從 5 碼改為 6 碼,並不需要
更改應用程式的程式碼。

2-5-1 資料 庫系統 的優 點 -3
• 提供單 一介面 和語 言存取 資料 : 資料庫系統提
供 4GL 的資料庫語言存取資料庫。例如: SQL
語言,或是透過應用程式的操作介面存取資料,
可以隱藏資料庫管理系統的實際資料存取方式。
• 更多的 資料保 密、 安全管 理和 控制能 力: 資料
庫系統提供資料保密、使用者存取權限和資料存
取的控制,可以強迫達成標準化的資料管理,例
如:標準的文件格式或不同層級的資料存取。
• 提供多 種觀點 的資 料: 因為資料庫系統是由多
人共享,每位使用者可以分別取得所需的資料,
而且以不同的觀點來符合其需求。例如:同樣是
教授,它可以是學生的老師,也可以是學校的員
工。

2-5-1 資料 庫系統 的優 點 -4
• 支援交 易管理 ( Transaction
Management ): 資料庫系統提供交易管理
和並行處理,可以處理商業交易,保障交易進行
的正確無誤。
• 具高可 靠性( Reliability ): 資料庫系統十
分可靠,提供備份與回復功能來進一步保障資料
的安全,在出現狀況時,可以回復資料庫系統的
資料。
• 降低軟 體開發 的費 用: 直接選擇現成的資料庫
管理系統,然後在管理系統下開發所需的資料庫
系統,而不用重頭開發整個資料庫系統。

2-5-2 資料 庫系統 的缺 點 -1
• 龐大的 額外費 用: 建構資料庫系統需要升級電腦
硬體和軟體環境,一套企業永續經營的資料庫系
統,包含網路建置,硬體和軟體升級,將會是一
筆相當龐大的額外預算,有可能未蒙其利,先受
其害,造成公司財務的負擔。
• 資料轉 換的成 本: 各部門的資料都需要轉換成資
料庫結構,以便存入資料庫,這不只是資訊部門
的一項大工程,而且需要全公司各部門人員的充
分支援。

2-5-2 資料 庫系統 的缺 點 -2
• 安全管 理的漏 洞: 雖然資料庫擁有安全管理能力
,但是人為錯誤或非專業人員的控管,資料共享
的優點,反而容易造成人為的安全問題,例如:
沒有取消離職員工的帳號,增加公司重要資料被
竊取的機會。
• 大幅更 改作業 流程 : 資料庫系統可能大幅更改
現有公司的作業流程,使用者不只需要熟悉全新
的應用程式操作,還需要適應新的資料處理流程
,如此可能產生額外的人力支援和不合作的使用
者,加重資訊部門的負擔和責任。

2-5-2 資料 庫系統 的缺 點 -3
• 系統風 險增加 : 資料庫系統使用集中方式管理資
料,一旦系統停擺,將會讓公司蒙受重大損失。
資料庫系統可能因為電腦病毒、天災、硬體故障
或人為操作錯誤等情況造成系統癱瘓,所以資料
庫系統在建置時,就需考量備援系統或額外的保
護設備,例如:不斷電系統( Un-interrupt
Power Systems )防止不預警的停電。如果是
一套全年無休持續運作的 NonStop 資料庫系統
,還需要準備異地備援系統,以免公司主機遭遇
地震或火災受損時,仍然可以使用位在其他地方
的資料庫系統,維持公司的正常運作。

2-5-2 資料 庫系統 的缺 點 -4
• 人為風險增加: 事實上,人為錯誤和破壞
才是資料庫系統的最大敵人,如果資料庫
系統設計錯誤,一旦人為的資料輸入錯誤
,小則只是系統受損,大則錯誤的資料,
可能造成決策錯誤和管理作業上的混亂。
更進一步,如果資訊部門有不肖人員(或
駭客),蓄意進行破壞,集中管理的資料
庫系統,反而成為最佳的攻擊目標,所以
資料庫系統除了系統管理外,相關人員的
忠誠管理也是一項重要的工作。

2-6 資料庫管 理系 統 DBMS
• 2-6-1
• 2-6-2
• 2-6-3

資料庫管理系統的基本功能
資料庫管理系統的系統架構
常見的資料庫管理系統

2-6 資料庫管 理系 統 DBMS
• 「資料庫管理系統」( Database
Management System, DBMS )從字面來說,
是一套管理資料庫的軟體系統,它是由一組程式
模組負責組織、管理、儲存和讀取資料庫系的資
料,使用者對於資料庫的任何操作,都一定需要
透過資料庫管理系統來處理。

2-6-1 資料 庫管理 系統 的基本
功能 - 資料管 理
資料管理( Data Management )
• 資料庫管理系統的最基本功能是資料管理,管理
資料庫儲存的各種資料,包含:資料檔、系統目
錄、索引資料、備份檔(資料庫管理系統備份資
料庫時建立的檔案)和異動記錄,如下圖所示:

2-6-1 資料 庫管理 系統 的基本
功能 - 資料庫 管理 系統語 言
資料庫管理系統語言( DBMS Languages )
• 資料庫管理系統提供第 4 代語言( 4GL ),可以
讓使用者定義、查詢或存取資料,資料庫管理系
統語言可以分成兩大類,如下所示:
– 資料定 義語 言 DDL ( Data Definition
Language ): 這個語言的主要目的是建立資料庫綱
要( Database Schema ),其編譯後的指令敘述是
儲存在系統目錄( System Catalog ),使用者只需
使用此語言就可以建立資料庫綱要。
– 資料操 作語 言 DML ( Data Manipulation
Language ): 這個語言的指令敘述可以讓使用者存
取和操作資料庫的資料,這是使用者與資料庫管理系
統間溝通的語言。

2-6-1 資料 庫管理 系統 的基本
功能 - 安全管 理
安全管理( Security Management )
• 資料庫儲存的資料屬於使用者共享的資料,所以
資料庫管理系統需要提供使用者安全管理,以避
免使用者不當使用資料庫的資料。
• 安全管理通常是指定使用者密碼( Password )
來授予存取權限的控制( Access Control ),
常用的方式有兩種,如下所示:

– 自由選 擇存 取控制 ( Discretionary Access
Control, DAC ): 授予或取消使用者擁有新增、刪
除、更新或修改資料的權限。
– 強制存 取控 制( Mandatory Access Control,
MAC ): 將資料和使用者分類成不同的安全層級,使
用者只能存取授予安全層級的資料。

2-6-1 資料 庫管理 系統 的基本
功能 - 備份 與回復 管理
備份與回復管理( Backup and Recover
Management )
• 資料庫備份是將資料庫的資料儲存到備份裝置,
例如:磁帶機或可讀寫光碟機,資料庫管理師負
責定期備份資料庫。
• 當突發狀況產生時,因為資料庫管理系統會自動
產生交易記錄( Transaction Log ),可以使用
此記錄了解交易( Transaction )的狀態,回復
程序可以參考交易記錄正確的回存資料。

2-6-1 資料 庫管理 系統 的基本
功能 - 交易管理 1
異動管理( Transaction Management )
• 資料庫系統通常都會支援商業用途,而商
業系統架構的基礎是商業交易,這些商業
交易的操作需要一併執行,視為一個無法
分割的單位。
• 整個過程對於資料庫來說是一個「交易」
( Transaction )。

2-6-1 資料 庫管理 系統 的基本
功能 - 交易管理 2
• 例如:從帳戶 A 匯款到帳戶 B ,如下圖所
示:

2-6-1 資料 庫管理 系統 的基本
功能 - 交易管理 3
• 交易成功是指需要滿足四項基本的交易屬性,以
英文字頭的縮寫為 ACID 交易,如下所示:
– 單元性 ( Atomicity ): 將交易過程的每個操作都
視為同一個工作,不是全部執行完,就是通通不執行

– 一致性 ( Consistency ): 交易會更改資料庫的資
料,不過在交易之前和之後,資料庫的資料仍然需要
滿足完整性限制條件,維持資料的一致性。
– 隔離性 ( Isolation ): 雖然多個交易是並行處理,
不過各交易仍然是獨立的依序執行,任何一個交易並
不會影響到其他交易的結果。
– 持續性 ( Durability ): 當交易完成後,資料庫資
料是永久改變,如果在交易過程中發生錯誤,執行回

2-6-1 資料 庫管理 系統 的基本
功能 - 資料 完整性 管理
資料完整性管理( Data Integrity
Management )
• 資料庫管理系統能夠檢查新增或更新資料
時,不會產生資料不一致的資料完整性
( Data Integrity )問題。例如:帳戶餘
額不能為負值,員工年齡不可超過 100 歲

2-6-2 資料 庫管理 系統 的系統
架構 - 圖例

2-6-2 資料 庫管理 系統 的系統
架構 - 儲存管 理
儲存管理( Storage Manager )
• 儲存管理對於簡單的資料庫管理系統來說,就是
作業系統檔案管理,不過為了效率考量,資料庫
管理系統通常會自行配置磁碟空間,將資料存入
位在外部儲存裝置的資料庫,例如:磁碟機,或
是從資料庫讀取資料,可以分為:
– 檔案管理( File Manager )實際配置磁碟空間後將資
料存入磁碟。
– 緩衝區管理( Buffer Manager )負責電腦記憶體的
管理。

2-6-2 資料 庫管理 系統 的系統
架構 - 查詢處理 模組
查詢處理模組( Query Processor )
• 負責處理使用者下達的查詢語言指令敘述
,可以再細分成多個模組負責檢查語法、
最佳化查詢指令的處理程序。
• 查詢處理模組參考系統目錄的 Meta-data
進行「查詢轉換」( Query
Transformation ),將外部綱要查詢轉換
成內部綱要的查詢,或是使用索引加速資
料查詢,如果是異動,就交給異動管理來
處理。

2-6-2 資料 庫管理 系統 的系統
架構 - 交易管 理
交易管理( Transaction Manager )
• 交易管理( Transaction Manager )主
要分為:同名的交易管理( Transaction
Manager )子系統負責處理資料庫的交易
,保障資料庫商業交易的操作需要一併執
行。
• 「鎖定管理」( Lock Manager )也稱為
「並行控制管理」( ConcurrencyControl Manager )子系統負責資源鎖定

2-6-2 資料 庫管理 系統 的系統
架構 - 回復管 理
回復管理( Recovery Manager )
• 回復管理( Recovery Manager )主要分
為:「記錄管理」( Log Manager )子
系統負責記錄資料庫的所有操作,包含異
動操作的記錄,以便同名的「回復管理」
( Recovery Manager )子系統能夠執行
回復程序,回復資料庫系統。

2-6-3 常見 的資料 庫管 理系 統
- 商用 的資料 庫管 理系統
• SQL Server 。
• Access 。
• IBM 的 DB2 。
• Oracle 。
• INGRES 。
• Sybase 。
• Informix 。
• InterBase 。

2-6-3 常見 的資料 庫管 理系 統
- 免費 的資料 庫管 理系統
• MySQL 。
• PostgreSQL 。
• Firebird 。

2-7 資料庫管 理師
• 2-7-1 資料庫管理師扮演的角色
• 2-7-2 資料庫管理師負責的工作

2-7 資料庫管 理師 - 說明
• 「資料庫管理師」( Database
Administrator, DBA )負責和執行一個成
功資料庫環境的相關管理和維護工作。事
實上,資料庫管理師負責很多工作,它可
以是一個人,也可能是一個小組來擔任。
• 簡單的說,資料庫管理師的主要目的是維
護資料庫系統的正常運作,並且提供使用
者存取所需的資料。

2-7 資料庫管 理師 - 所需背 景
• 資料庫管理師需要公司管理和資料庫等電腦技術
的專業知識,最好是主修資訊或資管科系的人員
,其需要的相關電腦知識,如下所示:


熟悉作業系統操作。
熟悉一種或數種資料庫管理系統的使用。
精通資料庫系統提供的查詢語言,例如: SQL Server
的 Transact-SQL , Oracle 的 PL/SQL 。
– 資料庫設計,至少需要清楚公司資料庫系統的資料庫
綱要。
– 對電腦硬體的網路架構有一定的了解,例如:主從架
構和 Internet 網際網路。

2-7-1 資料 庫管理 師扮 演的角

2-7-2 資料 庫管理 師負 責的工
作 - 維護 資料庫 綱要
維護資料庫綱要
• 資料庫管理師需要參與資料庫設計( Database
Design ),提供資料庫設計師關於概念層綱要的
修改建議。
• 資料庫管理師需要負責從資料庫使用的資料模型
,例如:關聯式資料模型,和系統規格建立有效
的資料庫設計,也就是描述資料庫在外部儲存裝
置的實際資料結構。其主要的工作,如下:
– 決定哪些資料存入資料庫。
– 決定使用的資料結構
– 決定使用者觀點的資料。

2-7-2 資料 庫管理 師負 責的工
作 - 資料管理
資料管理
• 資料庫管理師最主要的工作是資料管理,提供公
司或組織一個集中管理的資料庫,並且依據各部
門的需求,提供不同觀點的資料,其主要的工作
,如下所示:




管理和維護系統目錄( System Catalog )。
使用者管理和存取控制。
資料安全控制( Data Security Control )。
資料完整性檢查( Data Integrity Checking )。
轉換資料。

2-7-2 資料 庫管理 師負 責的工
作 - 維護 和監 控資 料庫管 理系

維護和監控資料庫管理系統
• 對於資料庫管理系統本身,資料庫管理師
負責的工作,如下所示:




安裝和升級資料庫管理系統。
監控和調整資料庫的效能。
使用者的稽核追蹤。
容量計劃和選擇儲存裝置。
備份與回復。