跳到主要內容
:::
:::

軟體文件 / access / 關聯

建立關聯式資料庫

一、收集完整的資料集並轉成欄位

若資料項目很多,可將之分門別類,再劃分到不同的資料表中。

二、錯誤的示範

客戶名稱欄裏,若需輸入完整的書店名稱,在很多訂單的情況下,若不小心打錯字,將造成資料查閱或計算的錯誤。這錯誤將很難查出。其他欄位也是,若每次訂書都要打所有的欄位,不僅操作煩瑣,輸入各欄位也都有出錯的可能。

 

三、怎樣做最佳化的分割

    要解決上述的問題,就要個資料表的正規化。

例:書籍訂單的欄位   *:代表主索引

*訂單序號

日期

客戶名稱

書籍名稱

單價

數量

是否付款

備註

 

對於分割資料表,有幾個觀念

1.          分割與主索引無關的欄位

    主索引是整筆記錄的代表(記錄中的每個欄位都相依於主索引)。而若其它欄位間也有類似索引的關係,且具有更強的相依性,以致某個欄位的值修改時,也必須去修改另一個相關的欄位,則可將此二欄位分割。

    例如:書籍名稱更改時,單價也一定要修改,所以單價與書籍名稱有更強的相關程度。這二者可分割。

 

訂單資料

 

 

 

書籍資料表

 

 

*訂單序號

客戶名稱

書籍編號

數量

 

*書籍編號

書籍名稱

單價

 

    分割時,多加一個書籍編號做中介欄位,因此在訂單中要知道所訂書名及單價時,可依書籍編號到書籍資料表中尋找。

優點:輸入訂單時只要輸入訂購的書籍編號,不需輸入書籍名稱與單價,以免名稱與單價出錯。

用法:在查詢或報表時可將兩資料表整合起來就像一個一樣。

 

2.          分割欄位值一再重複的欄位

    上述的做法,免除了重複輸入書名與書價,但客戶名稱欄仍要一再的輸入重複的的值(客戶的數量有限,一直重複)。因此,可再分割出客戶名稱。

訂單資料

 

 

 

客戶資料表

 

 

*訂單序號

客戶編號

書籍編號

數量

 

*客戶編號

客戶名稱

 

    優點:若客戶改名了,或有新客戶,只須在客戶資料表中更改即可。

    作法:若不知客戶、書籍的編號是多少呢?只要做個查詢即可。

 

3.          判斷欄位是否真的需要分割

    不是想分割就可分割。

例:通訊錄的欄位   *:代表主索引

*編號

姓名

性別

地址

郵遞區號

電話

 

    性別欄一再重複,但它只有男、女二項可選,欄位也短,分割了也沒意義,就不需再分割了,否則不會增加困擾。

    郵遞區號的值是由地址欄決定,但地址欄不太會重複,也不必針對這二欄位分割。

 

四、何謂關聯式資料庫

關聯必須由二個資料表中相同意義、相同資料類型的欄位來實現(欄位名稱不一定要相同,但一般都會設為相同)。如書籍編號或客戶編號。

Excel也有類似資料表的功能,而關聯是AccessExcel更靈活的地方。

訂單資料表

 

 

 

 

*訂單序號

客戶編號

書籍編號

數量

 

客戶資料表

 

 

書籍資料

 

*客戶編號

客戶名稱

 

*書籍編號

書籍名稱

單價

        

 

 

五、關聯的種類

    資料表間的關聯有一對多、一對一、多對多三種。

Ø          一對多關聯:

資料表中的一筆記錄可對應到另一資料表中的多筆記錄。如:客戶資料表中的某客戶編號(某客戶),可對應到訂單資料表的多筆資料(同一客戶訂購多筆)

Ø          一對一關聯:

一筆記錄只對應到另一資料表中的一筆記錄。

員工資料可分為可公開機密,再分別存放在二個資料表中。平時只用到可公開資料表(員工編號姓名、地址、電話),若有特殊需要時,如計算月薪時(需員工編號、薪資、考績),就可一對一關聯,由二個資料表中找出員工完整資料。

Ø          多對多關聯:課程資料表中,每一門課程都可對應到許多的學生,而每一個學生也都可以修許多的課程。它們之間就是「多對多」的關係。

 

 

六、資料表分析精靈

    上述都是在建立資料庫的時候需注意的事項,資料庫已使用一段時間了,還是能將資料庫的關聯性的補強。只要利用 Access  所提供的資料表分析精靈即可。它的功能有:

1.          分析資料表中那些欄位應該分割出來,以加強效能

2.          可使用自動或手動的方式分割資料表,並建立其關聯

3.          處理分割後的善後,讓先前已設計好的畫面、報表仍可用。

 

作法:

1.          精靈作分割:選要分析的資料表工具/分析/資料表【若有重複資訊(如打錯名稱,發生地址相同、供應商不同的錯誤。)會找出來。】--下一步……

2.          手動資料表的分割:精靈問其所做的資訊分組正確嗎?之視窗時,選訂單的欄位拖曳至空白處,即可增加一個分割。

註:若要改標題,直接在其上雙按滑鼠即可。

3.          設定各資料表的主索引:預設會用有唯一編號的欄位為主索引。若想改主索引可重設。

4.          更正資料表內的錯誤:精靈會檢查資料表的內容,找出有可能是輸入錯誤的資料的。

5.          分割後的報表、查詢:分割後查詢等都不能用了。但精靈仍會製告一個和原始資料表一模一樣的替身(可自選要不要)

跳至網頁頂部