Microsoft Access 是一種關系型數據庫開發系統。Access 數據存儲在相關的表中,一個表中的數據(例如客戶〉與另一個表中的數據(例如定單〉是相關的。Access 維護了相關表之間的關系,然後提取客戶和該客戶的所有定單變得更容易,同時不會導致數據丟失或者提取他人的定單記錄。
1.2.1 使用多個表,
多個表可以通過減少冗余數據的輸入量來簡化數據項和報表。例如,通過為一個需要使用客戶信息的應用程序定義兩個表,就不需要在客戶每次購買商品時存儲該客戶的名稱和地址。
創建完表之後,需要讓它們關聯起來。例如,如果創建了一個Contacts 表和一個Sales 表,則必須建立Contacts 表和Sales 表之間的聯系以便於查看一個聯系人的所有銷售記錄。如果只有一個表,就必須重復查看每個銷售記錄對應的聯系人姓名和地址。使用兩個表就可以使用關系字段Contact ID C 在Contacts 中)和Buyer ID C 在Sales 中)來查看Contacts 表中每次銷售的對應信息。例如,客戶改變地址時,只是在Contact 表中的一個記錄中變更了地址; Sales 信息顯示在屏幕上時,始終可以看到正確的聯系人地址。
由於特定類型的所有記錄都在同一表內,所以將數據分離到數據庫中的多個表內可以便系統變得更易於維護。花些時間將數據正確放入多個表內,可以大幅縮短設計和工作時間。這一過程稱為卻/iJIt C 可以在第2 章了解規范化)。
在本章後面的"5 步驟設計方法"小節中,將有機會了解Access Auto Auctions 案例研究,該案例包含了5 個表。
1.2.2 了解創建多個表的原因
創建多個表總會使數據庫的初級用戶望而卻步。通常,他們希望創建一個包含全部所需信息的巨型表,在這個例子中,可以構建一個包含所有客戶銷售情況以及每個客戶的出售和購買情況的Customer 表。
因此,他們就創建)個包含有多個字段的表,其中包含了客戶信息(聯系人)、銷售信息字段(銷售日期、銷售人員、支付數額、折扣等),以及每次銷售的產品信息(銷售量、產品描述、單價等)。這種表會迅速增大,包含許多無法管理的字段,並且隨著新項目的添加而繼續增大。
可以看到,表設計有著自己的生命力。創建完這種單獨的表後,維護就會變得更難。就會開始意識到必須為客戶進行的每筆銷售輸入客戶信息(一次次地重復輸入客戶信息)。對於每筆銷售的購買項目來說亦是如此,即一筆銷售包含多個項目(於是需要再次重復該信息〉。這會使系統變得低效並且易於出現數據輸入錯誤。存儲在表中的信息也無法進行有效的維護,因為許多字段可能會不適合每個記錄,並且在表的結束處會出現大量空字段。
為了確保系統易用並且具有足夠的增長靈活性,創建多個包含最少量信息的表就顯得尤為重要。要實現這-點,需要考慮創建多個表,其中每個表都包含很多具有多個字段的記錄,記錄中的信息只與該表的主要目的有關。這樣,創建表之後,就可以把它們進行鏈接,以便從中收集有用信息。盡管這個過程昕起來很復雜,但實際的實現卻相當容易。將一個表的內容創建為多個表的過程稱為卻應佐(或者說是規范化表)。
關鍵詞:關系型