資料庫設計與應用

Download Report

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