資料庫初體驗(3)
Tags: none 發表: 2008-05-30, 點閱: 7,330 , 加入收藏櫃 , 列印 , 轉寄資料庫設計DIY
如何設計資料庫欄位?
如何建立客製化的資料查詢列表?
在上一個章節中,介紹了許多的資料庫產品,而不同資料庫所提供的功能及介面也會有所不相同,因此,若要進行資料庫設計時,作法上也會有所差異。雖然大部份的資料庫產品都可以透過SQL的語法進行各種資料庫的操作,但並非所有人都可以記住各類的SQL語法,即使是專業的資料庫管理師也是如此。所以部份資料庫產品還會提供管理介面,讓管理者更方便、快速的執行資料定義、資料操作及資料控制的處理,也就是說,這類產品在進行資料庫設計時,就會變得比較輕鬆容易。基於這個原因,若是資料庫屬於資料複雜度低且資料查詢需求較簡單的,則可以考慮自行設計屬於自己的資料庫。
對於初次嘗試DIY設計資料庫的初學者而言,Microsoft Access是個不錯的選擇。它提供了大家較為熟悉的視窗操作介面,而且只要在安裝Microsoft Office時,就可以選擇是否安裝Access。另外,Microsoft Access還具備下列的功能:
因此不論是個人需要的資料庫或是像數位典藏計畫所需要的典藏資料庫,都可以利用Microsoft Access來建置,同時還可以搭配自己熟悉的網頁程式,如:ASP、PHP或JSP等語言,開發出線上多人的資料著錄及檢索系統。接下來,就示範如何利用Microsoft Access來建立屬於自己的資料庫。
進行資料庫設計的首要工作,就是定義清楚資料的結構。如何定義資料的結構呢?這個問題必須透過後設資料分析才能找到答案。若以3.1章節中的人名權威資料庫為例,根據其後設資料規格書,節錄出後設資料元素需求表單的部份內容,如下表所示。表中除了欄位的中英文名稱外,還有資料型態及欄位大小,這些都是對資料結構的描述。
有了上述需求表單內容,便可以透過Microsoft Access來設計欄位。首先選擇『資料表』物件,在這裡,Microsoft Access提供兩種快速的方式來建立資料表,一是『使用設計檢視建立資料表』,即是手動方式;二是『使用精靈建立資料表』,即是Step by Step方式。兩種方式都很簡單,因此直接點選『使用設計檢視建立資料表』就會進入欄位設計。
在進行欄位設計時,直接輸入資料欄位名稱並選擇適合的資料型態。Microsoft Access提供了多種的資料型態,只要資料型態設定正確,當在資料著錄時,資料庫便會自動檢查資料內容是否符合所設定的資料型態,以防止資料格式錯誤。如下圖,『性別』欄位設為數字,透過0或1來代表男或女;而『出生日』直接設為『日期/時間』型態。除了基本的資料型態設定外,每個資料型態還能夠更進一步設定參數,如:欄位大小、預設值或Unicode編碼等。為了避免資料內容重複而無法判斷,例如:有兩個人的姓名相同,因此建議可以增加一個識別碼的欄位,並設定為自動編號,讓每一筆資料自動給予一個唯一的號碼作為區隔。
依照3.1章節的表格關係,我們建立了『人物』資料表來代替表四的PEOPLE;建立『參考書目』資料表來代替表五的BOOK;建立『人物書目關係』資料表來代替表六的PEOPLE_BOOK。當完成資料表建立後,直接點選任一資料表即可進行著錄。
透過不同資料表個別著錄,可以避免『人物』或『參考書目』內容修改時面臨資料一致性的問題。然而,在查詢列表上,大部份人仍會希望如同表一合併了『人物』及『參考書目』資料表內容的單一表格呈現方式。這時候可以利用Microsoft Access的查詢物件,建立屬於自己的資料列表格式。首先,點選物件中的查詢功能,並選擇『使用設計檢視建立新查詢』。這時候將所有的資料表都新增到查詢中,如下圖。
接下來,最重要的步驟是建立資料表之間的關聯。由下圖可以看到資料表之間有一條細線將不同的欄位連結在一起,這代表被連結的兩個欄位間有著相同內容的關係。因此,必須將『人物』資料表的『識別碼』與『人物書目關係』中的『人物識別碼』相互連結;以及將『參考書目』資料表的『識別碼』與『人物書目關係』中的『參考書目識別碼』相互連結。而作法上,是利用滑鼠選取一個欄位,再將它拖移到另一個欄位即完成連結。相同的,也可以選取任一條已連結的線,點選滑鼠右鍵執行刪除,把多餘的線刪除,以建立如下圖所示的資料表關聯。最後在下方欄位設定區域,將所要顯示的欄位加入,即可完成客製化的查詢列表。
若開啟剛才新增的查詢,就會發現資料會以表一的格式列表,如下圖。因此呈現上可以以單一表格的顯示方式,但著錄時,則分散各資料表著錄,以避免資料不一致與重複著錄的問題,這也就是資料庫在資料管理上的優點。除了上述基本的功能之外,Microsoft Access還提供不少進階功能,例如:『表單』物件,可以建立自己喜歡的著錄介面;『報表』物件,可以建立客製化的列印報表格式;而『資料頁』物件,則可以快速建立網頁介面,讓資料庫變成線上的系統。若讀者有興趣,可以參考Microsoft Access書籍,會有更詳細的功能介紹以及操作說明。
Microsoft Access資料庫設計,可以適用於小型的資料庫系統,或是當系統尚未建置完成前,先在Microsoft Access著錄資料,等到系統建置完成後,再利用Microsoft Access資料匯出功能將資料轉入系統中,這將使得系統開發與資料數位化工作可以同步進行。