Transcript 資料庫設計與應用
資料庫設計與應用
東吳大學會計學系
謝 永 明
1
學習目標
一、瞭解資料庫方法
二、瞭解資料庫基本架構
三、瞭解關聯式資料庫基本觀念與架構
四、瞭解如何規劃與設計資料庫
五、瞭解資料庫的操作與維護
六、瞭解資料庫對於AIS可能產生的影響
2
資料庫方法
早期的資料處理以檔案為中心,企業主要以批
次處理方式透過電腦程式處理對應的檔案,以
產生使用者所需的資訊,因而造成同樣的資料
重複存放在不同的主檔以及資料內容不一致的
問題。
在資料庫方法下,資料被視為企業的資源,應
該由組織統籌管理與運用。換句話說,資料庫
強調資料的整合(integration)與分享,也就
是將原來分散存放在各個主檔的資料,透過一
定的方式加以合併,讓不同的應用程式可以共
同使用。
3
File-Oriented Approach
File # 1
Item A
Item B
Item C
Application
program #1
File # 2
Item B
Item D
Item E
Application
program #2
4
Data Base Approach
Application
program #1
Data base
Item A
Item B
Item C
Item D
Item E
Data base
management
system
Application
program #2
Application
program #3
5
資料庫方法
資料庫的使用與維護必須有一套完整的程序與
方法。
企業用來管理與控制資料庫使用情形的程式,
稱為資料庫管理系統(database management
system,簡稱DBMS)。
我們將資料庫、資料庫管理系統、以及相關的
應用程式加以整合,形成資料庫系統
(database system) 。
而負責管理資料庫的人員便稱為資料庫管理師
(database adminstrator,簡稱DBA)。
6
資料庫基本架構
在資料庫方法下,程式與資料相互獨立,
也就是資料如何儲存與資料如何使用並
無直接的關聯。
資料的邏輯觀點(logical view)代表使用
者或程式設計師在觀念上如何組織及理
解資料,至於資料實際上如何存放在實
體的儲存媒介(例如磁碟、光碟)上,則稱
為實體觀點(physical view)。
7
資料庫基本架構
為了克服在傳統檔案中,程式與資料密不可分所造成的
問題,資料庫方法將資料的邏輯觀點與實體觀點加以分
離,便於程式設計師及使用者專心的設計應用程式或查
詢資料,而不必在意資料如何存放及存取。
換句話說,資料庫系統過資料庫管理系統(DBMS)將使用
者如何使用資料(邏輯觀點)與資料實體存放方式(實
體觀點)結合起來,免除使用者確認資料實際上如何儲
存的負擔,並容許使用者改變其邏輯觀點,彈性的運用
資料。同樣的,資料庫管理師在調整資料實際儲存方式,
以提昇系統績效時,也不必擔心使用者或相關的應用程
式受到影響。
8
Logical and Physical
Views of Data
Logical View User A
Logical View User B
Past Due Accounts
Name Balance Days
Jones 2100 50
Perez 1000 60
DBMS
Operating
system
Sales by Region
Data
base
9
資料庫基本架構
在建構資料庫時,我們利用綱要(schema)來描述
資料庫的邏輯架構。資料庫的綱要區分為三層:
觀念層(conceptual-level)、
外部層(external-level) 、以及
內部層(internal-level)。
觀念層綱要代表整個組織對於整個資料庫的觀點,
列出資料庫中所有的資料項目以及它們之間的關
係。外部層綱要由不同使用者的邏輯關點所組成,
又稱為次綱要(subschema)。至於內部層綱要則被
用來描述資料實際存放與存取的方式,包括資料
的索引、紀錄長度、指標等資訊。
10
資料庫綱要(schema)
觀念層綱要代表整個組織對於整個資料
庫的觀點,列出資料庫中所有的資料項
目以及它們之間的關係。
外部層綱要由不同使用者的邏輯關點所
組成,又稱為次綱要(subschema)。
至於內部層綱要則被用來描述資料實際
存放與存取的方式,包括資料的索引、
紀錄長度、指標等資訊。
11
Schemas
Subschema A
Jones 210
Perez 100
Subschema
B
r
Subschema
C
r
xxxxxxx
xxxxxxx
Mapping external level views to conceptual level schema
Inventory
Sales
Cash receipt
Customer
12
資料庫綱要(schema)
在建構及實際使用資料庫時,觀念層綱
要負責連結外部層與內部層綱要。
會計人員因為職務上的關係,相當瞭解
企業的營運及資料處理模式。因此,會
計人員應瞭解不同綱要之間的差別與關
聯性,並主動參與訂定這三種綱要。
13
Schemas
Inventory
Sales
Customer
Cash receipt
Mapping conceptual level items
to internal level descriptions
Inventory Record
Item number – integer (5), non-null, index =
itemx Description – character (15)
14
資料辭典(data dictionary)
資料庫中存放的資料種類繁多,為了便
於資料庫的管理,通常會設置一份資料
辭典(data dictionary,簡稱DD),用來記
錄與資料庫架構有關的資訊。對於資料
庫中的每一筆資料,都可以在資料辭典
中找到對應的紀錄,存放與這筆資料有
關的資訊。
15
資料辭典(data dictionary)
在建立資料庫系統時,資料庫管理師應
首先設置資料辭典,藉以訂定資料庫的
架構。日後資料庫中的資料項目有所增
刪或變動時,資料辭典亦應配合修訂。
一般而言,會計人員相當瞭解企業各項
資料的來源及用途。因此,會計人員應
參與資料辭典的訂定。
16
資料庫管理系統(DBMS)
資料庫管理師、程式設計師以及一般使用者必
須透過DBMS提供的指令,來建立、變更及查
詢資料庫。
DBMS的指令可以區分為三組:
資料定義語言(data definition language,簡稱
DDL)、
資料操作語言(data manipulation language,簡稱
DML)、以及
資料查詢語言(data query language,簡稱DQL)。
17
資料庫管理系統(DBMS)
DDL主要用於(1)設置資料辭典、(2)建立資料
庫、(3)描述個別使用者或程式設計師的邏輯觀
點、以及(4)界定資料庫各項紀錄或欄位的安全
限制(例如授權使用者)。
DML主要用於資料庫的維護,例如資料的更新、
插入、或刪除等動作。
至於DQL則用於查詢資料庫的內容,便利使用
者擷取資料庫中相關的資料項目,並進行資料
排序、整理、以及輸出的動作。
18
資料庫管理系統(DBMS)
為了強化資料庫的內部控制,資料庫語
言的使用權限應做適當的區分,例如一
般使用者可以使用DQL與報表編寫程式,
DDL及DML的授權使用者則應以資料庫
管理師及程式設計人員為限。
19
關聯式資料庫基本觀念與架構
DBMS管理與維護資料庫的方式與其所
依據的邏輯資料模式(logical data model)
有著密切的關係。
資料模式以抽象的方式表達資料庫的內
容,目前的會計資訊系統大多使用關聯
式資料模式來建立其關聯式資料庫
(relational database)。
20
關聯式資料庫
關聯式資料模式利用表格(tables)顯示存
放在資料庫中的各種資料,這些表格代
表特定的關係(relations)。
換句話說,這種資料庫是以關聯式資料
模式表達資料庫的外部層及觀念層綱要,
至於資料實際上並非以表格的形式存放,
而是以內部層綱要指定的方式儲存。
21
關聯式資料庫
關聯式資料庫的每一個資料表包含一定
數目的欄位,用來描述資料中的個體屬
性。
資料表中的每一列稱為拓蹼(tuple),用
來表示資料表中的個體(或紀錄)。
22
關聯式資料庫
根據關聯式資料模式,我們在建構關聯式資料表
時,應符合下列四項規範:
每 個 資 料 表 的 主 要 鍵 ( primary key) 必 須 是 唯 一 的
(unique),而且其主要鍵資料內容不能為空值(primary
keys cannot be null),這項規範稱為個體完整性法則
(entity integrity rule),它的目的在於確保資料表(關係)
中的每一列代表一個實際的個體所對應的資料。
資料表中的每一個外鍵(foreign key)值若非為空值,
則必須對應於另一個資料表中的主要鍵值,這項規範
稱為參考完整性法則(referential integrity rule)。
23
關聯式資料庫
資料表中每一個欄位(除主要鍵外)必須描述關於主
要鍵值所辨識特定個體的某項特/屬性。(All nonkey attributes in a table should describe a characteristic
about the object identified by the primary key.)
資料表的每一個欄位中的資料必須屬於同一資料類
型,每一個儲存格只能有一個數值(every column in
a row must be single valued)。至於資料表中各欄及
各列資料的順序如何安排,並不會影響資料的擷取。
24
關聯式資料庫的設計
傳統的檔案系統轉換成關連式資料庫時,
必須遵循一定的規範,以避免發生更新
異常(update anomaly)、新增異常(insert
anomaly)、 以 及 刪 除 異 常 ( delete
anomaly)等現象。
建構關聯式資料表的過程稱為資料表的
正規化(normalization),關聯式資料表應
符合第三級正規化格式(third normal form)。
25
如何規劃與設計資料庫
資料庫的設計與操作包含六個主要的階
段:
初步規劃、
需求分析、
設計、
編碼、
施行、以及
操作與維護。
26
Data Base Design
Six stages of data base design and operation
Planning
Operation and
maintenance
Requirements
analysis
Implementation
Design
Coding
27
規劃與設計資料庫
當企業大幅更動資料庫架構或建立新的資料庫
時,必須完成這六個階段相關的工作。
初步規劃的目的在於決定提議的系統是否具備
技術、經濟(成本效益)、時間等方面的可行性。
提議的資料庫系統被評定為可行後,應先進行
需求分析:包括(1)辨認使用者的資訊需求、(2)
界定系統範圍、以及(3)初步決定所需的電腦軟
體與硬體。
28
規劃與設計資料庫
完成資料庫初步規劃及需求分析後,接著訂定資
料庫的結構。資料庫的設計可以分為三個步驟:
觀念性設計、邏輯設計以及實體設計。觀念性設
計的目的在於將使用者的資訊需求轉換成資料庫
的觀念層綱要 (也就是建立整個組織的資料模
式)﹔邏輯設計階段則實際選定適用的DBMS,
以便將觀念性模式轉換成對應的資料庫模式;實
體設計則在於將邏輯模式(綱要)轉換成實體綱要,
作為實際儲存與擷取資料的依據。
29
規劃與設計資料庫
編碼的主要工作在於將實體綱要轉換成
實際的資料庫結構,並編寫新的應用程
式以及修改現有的程式。資料庫的編碼
與設計方案很多,設計人員應選用最能
達成資料庫目標的方案。
30
規劃與設計資料庫
資料庫施行階段的工作包括新系統測試、舊
資料轉入資料庫、以及員工訓練等項目,其
目的在於確保資料庫系統得以順利的裝設與
運行。
資料庫的操作與維護應該由專責人員負責,
其主要工作在於確保資料庫的正常運作,並
蒐集與資料庫系統績效以及使用者滿意度有
關的資料,作為判定資料庫應否修改或升級
的依據。
31
資料庫的操作與維護
為幫助同學瞭解上述的資料庫設計過程,
我們以Microsoft Access 為例,說明關連
式資料表的建立、資料輸入、以及查詢
(相當於資料庫設計過程中的「編碼」
與「操作」階段)。
使用者查詢Access資料庫時,應先進行
資料庫查詢設計,有關說明請參閱相關
的Access課程教材。
32
建立Access資料表
建立Access資料表時,必須經過四個步
驟:
(1)定義資料表欄位、
(2)標示資料表主要鍵、
(3)標示資料表外鍵、以及
(4)建立資料關聯圖等。
33
建立Access資料表
Access提供三種不同建立資料表的方式:
使用設計檢視建立資料表、
使用精靈建立資料表、以及
藉由輸入資料建立資料表。
34
資料庫查詢語言
使用者查詢資料庫時,必須採用特定的查詢語
言,關連式DBMS對於資料表進行的作業主要
有三種:
投射(PROJECT)
限制(RESTRICT)
結合(JOIN)
三種作業都會產生新的資料表,並可由使用者
決定是否儲存這些查詢所產生的資料表。
35
資料庫查詢語言
資料庫查詢語言可以區分為兩類:
文字性查詢語言(text-based query languages)
圖形查詢語言(graphical query languages)
實務上最為常用的文字性查詢語言是結
構化查詢語言(structured query language,
簡稱SQL),它的特點為簡單易學、彈性
大、以及功能強。
36
結構化資料庫查詢語言
大部分的SQL使用下列五個基本的關鍵字:
SELECT
FROM
WHERE
ORDER BY
GROUP BY
37
結構化資料庫查詢語言
”SELECT”相當於前述的「投射」作業,
”FROM”用於列出查詢時使用到的資料表(若使
用兩個以上的資料表,便會進行前述的「結合」
作業),
”WHERE”等於前述的「限制」作業,
”ORDER BY”規範查詢結果列示的順序,
”GROUP BY”則用來指定資料表中的哪些欄位,
應該進行基本的數學運算(例如SUM)。
38
圖形查詢語言
至於圖形查詢語言則是指DBMS提供圖
形的介面,讓使用者可以透過畫面設計
查詢應產生的結果,而不需要輸入SQL。
這種查詢方式又稱為範例查詢(queryby-example,簡稱QBE),DBMS會將使
用者輸入的畫面範例轉換成對應的SQL
指令,以便執行使用者的查詢。
39
資料庫的操作與維護
關連式資料模式最大的限制在於它不容
易整合較為複雜的資料型態(例如圖形、
聲音、影像等多媒體資料)與文數字資料。
因此,電腦界發展出物件導向資料庫模
式(object-oriented data model),以克服上
述的限制。
40
物件導向資料庫
物件導向資料庫模式與關連式資料模式的
主要差別在於前者是以物件為基礎。物件
是指一組預先設計及測試完成的程式碼,
用來代表一定的個體及相關的程序,物件
內同時包含描述該個體相關屬性的值
(value)以及執行相關程序的方法(method),
此種結合資料及使用資料的方法於同一物
件的方式稱為封裝(encapsulation)。
41
物件導向資料庫
物件可以同時容納不同類型的資料型態
(包括多媒體資料)與有關的方法,並可表
達階層式的架構,使得物件導向DBMS相
當適合於表現空間性的關係,例如電話公
司的通訊網路。
42
物件導向資料庫
物件導向資料庫採用階層式的架構,除了最底
層的物件之外,其他的層級代表不同的物件類
別,較低層的物件類別會繼承其上端所有物件
類別的一般特性,所以每一物件類別只需要定
義該類別獨有的特性或規則即可。
因此,物件導向資料庫的新綱要(物件類別)可
以快速設計完成,提昇資料庫設計與維護的效
率。
43
物件導向資料庫
不過,物件導向資料庫系統也有下列的缺點:
(1)執行某項物件的方法通常已經封裝在該物件中,
可能導致使用者無法以較具彈性或突發性的方式進
行資料庫查詢,
(2)物件導向資料庫使用指標連結物件與物件類別,
使用者必須順著指標擷取所需的資訊,增加使用者
的負擔,以及
(3)物件導向DBMS仍無標準化、易於使用的查詢語
言。
44
物件導向資料庫
就資料庫模式未來的發展趨勢而言,企
業界可能會同時採用關連式資料庫與物
件導向資料庫,分別處理文數字資料以
及較複雜的資料型態。
部分電腦軟體業者則嘗試將兩種資料庫
加以結合,推出所謂的物件導向關連式
資 料 庫 管 理 系 統 ( 簡 稱 object-oriented
relational DBMS,簡稱ORDBMS)。
45
資料庫對於AIS可能產生的影響
就會計資訊系統及會計交易處理而言,資料庫
觀念與方法的發展帶來顯著的影響。部份會計
學者甚至認為資料庫系統的普遍使用,可能造
成雙式簿記的式微。
資料庫系統也可能明顯的改變企業財務報導的
本質,部分人士主張直接提供外部使用者企業
有關的資料庫,以取代財務報表。使用者可以
運用資料查詢語言(例如SQL)或企業提供的查
詢介面,按照自己的決策需求,查詢相關的資
料庫,自行產生所需的資訊。
46
資料庫對於AIS可能產生的影響
透過關連式(或類似的)DBMS,企業可以
有效的整合財務與營運資料,讓經理人
員可以取得更為豐富、有用的資訊,進
而提昇決策品質與經營績效。
會計人員應具備資料庫系統方面的知識,
並積極參與資料庫規劃與設計的工作,
協助確認相關系統具有適當的控制,以
保護資料的安全及確保資訊的可靠性。
47