現今數位化資料累積與擴充的速度不斷增加,而儲存空間的價格也不斷降低,如果沒有經過分類、組織與有系統的管理這些資料,
會嚴重影響爾後的搜尋、存取、統計、呈現…等資料利用的效率。因此,在採用資料庫系統來管理資料,幾乎是現今資訊系統必備的一個要件。
一個資料庫系統(Database System)可分為資料庫(Database)與資料庫管理系統(Database Management System,DBMS)兩個部份。在從事資訊工程的領域,通常稱呼的「資料庫」指的是「資料庫系統」;而從事數位內容行業的非技術人員,通常稱呼的「資料庫」,所指的則是特定資料的集合,例如圖書館的資料庫,通常是指儲存索引、摘要或全文的資料庫,例如圖1-1中所示的內容,處處提到的資料庫,指的都是特定資料的集合,並不是「資料庫管理系統」。因此必須能有分辨人們所談論的資料庫所指為何的基本概念。
主要的原因是「資料庫」對一般情況而言,它是一個通用的名稱,只要是資料儲存的一個單位或個體,都可以稱為資料庫。不過針對數位的資料而言,資料庫所代表的涵義是:一群經過電腦整合後的資料,儲存在一個或多個檔案中,並將這些檔案集中在一個空間,這個空間就是「資料庫」;而管理這個資料庫的相關軟體就稱之為「資料庫管理系統」。
【名詞說明】
(1)資料(Data):資料是資料庫中儲存的基本物件。資料的種類很多,包括文字、圖形、聲音、影像等都是資料。
(2)資料庫:一群整合性的資料記錄集合。
(3)資料庫管理系統(DBMS)是由一組電腦程式所組成,用來定義、管理和處理資料庫內儲存的資料。
資料的結構分為「非結構化」、「半結構化」、「結構化」三種型式。
1.非結構化
表示資料沒有特定的結構存在,使用者可以任意改變其結構,例如Word、文書處裡工具軟體所編輯的檔案便是屬於「非結構化」的文件,其內容可以任意更改,自由換行或依需要而增加一個表格、刪除一行…等。
2.半結構化
延展式標示語言(eXtensible Markup Language,XML)則是屬於「半結構化」,XML具備包括DTD(Data Type Definition)與XML Schema文件型別的定義規則,能夠明確地宣告文件的結構,但宣告的結構仍能夠有資料著錄的彈性,例如元素(如同資料庫的欄位)的重複、是否必備、多值或多型態(例如XML Schema的
3.結構化
結構化是最嚴謹的資料結構。所有的資料必須嚴格遵循結構的宣告,包括長度、型態、性質…等。資料庫系統所儲存的便是這一類的資料,因此在建立一個資料庫時,必須宣告資料庫內所存放各個資料單位(也就是檔案,在關聯式資料庫則稱為表格)的結構。爾後輸入資料時,系統便會確認資料是否符合宣告的要求,只有完全符合才能將資料輸入到資料庫內,搜尋與取出資料時,也有明確的語法規範,確保資料的存取都能具備一致性。
資料庫是以嚴謹的結構將零散的資料組合而成為結構化的資料,藉由資料庫管理系統來管理這些資料,以方便後續的利用。除了內容的結構之外,一個資料庫系統和多數的資訊系統一樣,其組成可分為四個部分:
1. 使用者
使用者乃是資料庫系統的主要服務對象,依其使用資料庫的方式、目的與時機來區分,可以將使用者分為下列三種:
•直接使用者:嚴格來講使用者並無法直接使用資料庫,而是需要經由應用程式存取資料庫管理系統的使用者,或是透過線上或自動化系統互通(Interoperation)的外部系統。主要的原因是所有對資料庫存取的操作,除了安全管理的考量之外,實際都必須經由資料庫管理系統(DBMS)做為資料處理的管控與使用者下達命令的編譯和執行。
•應用程式:透過程式介面的呼叫,對資料庫管理系統下達命令的應用軟體程式。
•資料庫管理師(Database Administrator,DBA):透過資料庫管理系統所提供的命令,扮演資料庫管理系統與上述兩種使用者之間的中介角色。負責排解資料庫管理系統在使用上的疑難、調整系統效能、保護資料避免破壞等等。
2.資料
資料乃是資料庫中的主體,在資料庫系統中的資料基本可以分為「運算資料」(Operational Data)與「交易資料」(Transaction Log,或稱異動資料)。運算資料就是使用者所要面對的處理對象,也就是資料庫中所存放的資料;而交易(異動)資料則是資料庫管理系統為了對資料庫做有效和正確的管理,依照使用者所下達的命令,而自動產生的記錄資料。
3.硬體
資料庫系統所運作的硬體設備。包括電腦主機、磁碟機、光碟機(櫃)、備份裝置等。
4.軟體
一個資料庫系統所包含的軟體包括:
•資料庫管理系統:作為使用者和資料庫之間的橋樑。
•應用程式:即是之前所提,透過各種程式介面使用資料庫的應用程式,也是資料庫的使用者之一。
【說明】
資料庫內一個作業的邏輯單元,經常是由數個運算所組成,以學生匯款繳學費為例,可能涉及的運算包括:從一個帳戶轉到學校帳戶、學生註冊檔紀錄繳費狀況、學生學籍資料記錄學期狀況。由轉帳完成開始,這些資料必須全部完成,或是全部都不發生,以免造成資料的不確定性(也就是資料關聯性不完整),這種不是全有便是全無的要求稱為不可分割性(atomicity)。而匯出的學費與入到學校帳戶的金額、匯款入帳的時間與學生註冊檔繳費完成的時間,這些數值都必須維持一致性(consistency)。
交易(Transaction,也稱作異動),就是資料庫系統執行一個作業的邏輯單元,所有處理動作的集合。每筆交易的資料都是不可分割性與一致性的基本單元。