【中華百科全書●工學●資料庫設計】 傳統檔案有許多不方便的地方,例如資料的重複、檔案維護的困難、應用程式編寫的困難,以及檔案與檔案之間,不易做資料的移轉等。
為了改進這些缺點,遂有資料庫(DataBase)的誕生。
資料庫是一群相關資料集(檔案)的集合體,在資料庫管理系統的控制之下,達到統一管理的特性。
資料庫使用者存取資料時有一定的格式和方法,不因使用者應用程式之不同而有所差異。
資料庫依所使用的資料庫管理系統之不同,而分網路式(Network)資料庫、層次式(Hierarchical)資料庫和關係式(Relational)資料庫三類。
茲將目前使用最多的兩種資料庫分述於後:一、TOTAL資料庫TATAL資料庫屬於網路式資料庫,它使用ClNCOM系統公司所開發的TOTAL資料庫管理系統。
此種資料庫中的資料集,分成主資料集和變動資料集兩種。
變動資料集是由傳統檔案中,有變動長度的項目所組成,而其餘有固定長度的項目,則形成主資料集。
例如若學生個人資料錄中含有學號、姓名、籍貫、地址1、地址2、…、地址m,和專長1、專長2、…專長n等,則所有學生的地址部分構成一變動資料集,專長部分構成另一變動資料集,而有固定長度的學號、姓名和籍貫部分則構成一主資料集。
使用者只須了解資料的結構及其相互間的關係,並描述給資料庫系統,那麼它會自動地將這些關係建立起來。
設計TOTAL資料庫時有下列三規則:(一)將傳統記錄中有變動項目的資料分出來另外建立變動資料集,有幾種變動項就有幾個變動資料集。
(二)為了滿足某種類型的詢問時,可將屬於變動資料集的某一資料細項分出來作為一個次鍵值,此次鍵值則構成另一個主資料集。
例如將上例中的地址變動資料集中的郵遞區號另外建立一個主資料集,則可根據某一郵遞區號將屬於該區的學生資料牽出來。
(三)利用前二規則可以設計出任何複雜的資料庫。
TOTAL資料庫的設計過程分下列幾個步驟:(一)以資料庫定義語言,(DataBaseDefinitionLanguage,簡稱DBDL)描述資料庫的結構,其中包含了資料集與資料集之間的關係、資料項的內容,和資料集在磁碟上的儲存方式與特性。
下面是此種語言的部分指令寫法:BEGIN-DATA-BASE-GENERATIONDATA-BASE-NAME=SAMPLEBEGIN-MASTER-DATA-SETEND-DATA-BASE-GENERATION(二)將前一步驟中的程式經過一個DBGEN系統程式轉換成彙集語言,然後將它譯成一個DBDL模元程式(ObjectModule)並錄在CIL(CoreImageLibrary)中。
將來使用者要資料庫管理系統處理資料庫時,該系統會將模元程式載入主記憶體,然後依其定義的資料集關係到磁碟取資料。
(三)在磁碟上分配一個空間,儲存資料。
(四)清理磁碟上預留的空間。
(五)撰寫資料庫載入(Loading)程式。
利用廠商所提供的一般語言,如FORTRAN,COBOL等,加上資料處理語言(DataManipulationLanguage,簡稱DML),來撰寫應用程式以載原始資料於資料庫。
(六)連結模元,即連結DBDL模元程式、TOTAL模元程式、DATABAS模元程式以及應用程式。
二、DL/I資料庫DL/I(DataLanguageOne)資料庫屬於層次式資料庫,它使用IBM公司所推出的DL/I資料庫管理系統。
此種資料庫是將變動長度的記錄分成很多固定長度的段(Segment),這些段之間的排列必須滿足一種層次關係。
例如網路式資料庫中的例子可以分成兩個層次:學號、姓名和籍貫屬於第一層次,它們形成一段;
地址部分和專長部分均屬於第二層次,但各形成一段。
設計DL/I資料庫時有下列之規則:(一)將傳統記錄中變動項分出來建立為第二層的段,剩下固定項則屬於第一層的段。
(二)若第二層中的段還有變動項,則再將它分出來建立為第三層的段。
(三)應用前二規則可以設計出很複雜的層次式資料庫。
DL/I資料庫的設計過程分下列幾個步驟:(一)使用資料庫描述語言(DataBaseDescriptionLanguage,簡稱DBDL)描述其層次結構、儲存方式與資料格式等。
此分程式是用彙集語言中的一些集體指令所組成,經過編譯後錄在CIL中。
(二)使用資料庫部分集合的描述語言(ProgramSpecificationBlockLanguage,簡稱PSBL)描述資料的部分集合,以達到資料保密的目的。
當應用程式要資料庫管理系統到資料庫提取資料時,該系統會先檢查應用程式所描述的資料庫部分集合語言,看它是否有足夠的權利提取該筆資料。
如權利不夠,提取資料之命令會被取消。
這步驟的程式經編譯後同樣錄在CIL中。
第一、二步的程式通常都是由資料庫管理師負責。
(三)連結前兩步驟中的程式產生ACB(ApplicationControlBlock)錄在CIL中。
在使用應用程式之前,ACB會被資料庫管理系統帶入主記憶體中,然後應用程式即可根據ACB來提取資料庫的資料。
(四)使用之VSAM儲存方式,在磁碟上預留一塊空間以便儲存資料。
(五)撰寫資料庫載入程式。
利用DL/I系統所提供的介面語言(InterfaceLanguage)撰寫應用程式建立資料庫的原始資料,以供往後其他應用程式提取資料庫中的資料。
(林國棟)
引用:http://ap6.pccu.edu.tw/Encyclopedia/data.asp?id=8292 |