資料表是資料庫中不可或缺的物件,因為其中保留了所有資訊或資料。 例如,企業的資料庫中可能有儲存供應商名稱、電子郵件地址和電話號碼的「連絡人」資料表。 由於其他資料庫物件非常仰賴資料表,因此建議您應一律按照下列流程開始設計資料庫:先建立資料庫中的所有資料表,再建立任何其他物件。 在 Access 中建立資料表之前,請先考慮您的需求,並決定您可能需要的所有數據表。 如需規劃及設計資料庫的簡介,請參閱資料庫設計的基本概念。
本文內容
概觀
關聯式資料庫 (例如 Access) 通常內含數個相關資料表。 在設計良好的資料庫中,每個資料表都會存有關於特定主題的資料,例如員工或產品。 資料表含有記錄 (資料列) 與欄位 (資料行)。 欄位可儲存不同類型的資料,像是文字、數字、日期、超連結等。
-
記錄:包含特定資料,如有關特定員工或產品的資訊。
-
欄位:包含資料表主題單一層面的資料,例如名字或電子郵件地址。
-
欄位值:每筆記錄都會有一個欄位值。 例如 Contoso, Ltd. 或 someone@example.com。
資料表和欄位屬性
資料表和欄位也具有屬性,以便您設定以控制它們的特性或行為。
1. 資料表屬性
2. 欄位屬性
在 Access 資料庫中,資料表屬性指的是可影響整體資料表之外觀與行為的資料表屬性。 您可以在 [設計檢視] 中的資料表屬性表中設定資料表屬性。 例如,您可以設定資料表的 [預設檢視] 屬性,指定資料表預設顯示的方式。
欄位屬性適用於資料表中的特定欄位,且會定義其中一個欄位的特性或該欄位的行為面向。 您可以在 [資料工作表檢視] 中設定部分欄位屬性。 您也可以使用 [欄位屬性]</c0></c0> 窗格,在 [設計檢視] 中設定任何欄位屬性。
資料類型
每個欄位都設有資料類型。 欄位的資料類型可指出欄位中儲存的資料類型,例如大量文字或附件。
資料類型雖是欄位屬性,但與其他欄位屬性並不同,差異如下:
-
您會在資料表設計格線中設定欄位的資料類型,而非 [欄位屬性] 窗格。
-
欄位的資料類型會決定欄位具有的其他屬性為何。
-
建立欄位時,您必須設定欄位的資料類型。
您可以在 [資料工作表檢視] 的新欄位中輸入資料,藉此在 Access 中建立新欄位。 在 [資料工作表檢視] 中輸入資料來建立新欄位時,Access 會根據輸入值自動指定欄位的資料類型。 如果您的輸入並未隱含其他任何資料類型,Access 會將資料類型設定為「文字」。 如有需要,您可以使用 [功能區] 來變更資料類型。
自動資料類型偵測功能的範例
下表顯示如何自動資料類型的偵測功能如何在 [資料工作表檢視] 中運作。
|
資料表關聯
雖然每個資料表中會儲存不同主題的相關資料,Access 資料庫中的資料表通常會儲存主題相互關聯的相關資料。 例如,資料庫可能包含:
-
列出公司客戶和地址的客戶資料表。
-
列出銷售之產品的產品資料表,包括每項商品的價格和圖片。
-
追蹤客戶訂單的訂單資料表。
由於您在個別的資料表中儲存的資料分屬不同的主題,因此您需要一些方式來結合資料,以便輕鬆地合併來自其他資料表的相關資料。 若要連結儲存在不同資料表中的資料,您必須建立關聯。 關聯指的是兩個資料表之間的邏輯連結,用於指定資料表中相同的欄位。 如需詳細資訊,請參閱資料表關聯指南。
索引鍵
屬於資料表關聯一部分的欄位稱為索引鍵。 索引鍵通常是由一個欄位所組成,但是可能包含多個欄位。 索引鍵有兩種:
-
主索引鍵 一個資料表只能有一個主索引鍵。 主索引鍵的組成為唯一識別您儲存在資料表中之每筆記錄的一個或多個欄位。 通常會有做為主索引鍵的唯一識別碼,像是識別碼編號、序號或是代碼。 例如,您可以建立「客戶」資料表,並在當中給每個客戶指派一組唯一的客戶識別碼編號。 客戶識別碼欄位是客戶資料表的主索引鍵名稱。 主索引鍵含有一個以上的欄位時,通常是由預先設定且提供唯一值的欄位合併而成。 例如,您可能會使用姓氏、名字和出生日期的組合,當做人員相關資料表的主索引鍵。 如需詳細資訊,請參閱新增或變更資料表的主索引鍵。
-
外部索引鍵 一個資料表也可以有一個或多個外部索引鍵。 外部索引鍵會包含一些值,這些值對應至另一個資料表中之主索引鍵的值。 例如,您可能有一個「訂單」資料表,其中每一個訂單都有一個客戶識別碼編號,這個編號對應至「客戶」資料表中的一個記錄。 客戶識別碼欄位就是「訂單」資料表的外部索引鍵。
索引鍵欄位之間值的對應關係構成資料表關聯的基礎。 資料表關聯可用於結合相關資料表中的資料。 例如,假設您有一個「客戶」資料表和一個「訂單」資料表。 「客戶」資料表中的每一個記錄都會以主索引鍵欄位「識別碼」識別。
若要將每個訂單與客戶產生關聯,請在「訂單」資料表中新增一個外部索引鍵欄位,這個欄位對應至「客戶」資料表的識別碼欄位,然後再建立兩個索引鍵之間的關聯性。 當您新增記錄至「訂單」資料表時,使用從「客戶」資料表取得之客戶識別碼的值。 每當您想檢視訂單之客戶的任何資訊,即可使用關聯性來識別「客戶」資料表中的哪些資料對應至「訂單」資料表中的哪些記錄。
1. 主索引鍵,藉由欄位名稱旁邊的索引鍵圖示識別。
2. 外部索引鍵 (請注意沒有索引鍵圖示)。
若資料表中之各個唯一實體的欄位可能需要一個以上的值,請勿新增欄位。 對於前述的範例,若要開始追蹤客戶的訂單狀況,請勿新增資料表欄位,因為每位客戶可能會有超過一筆以上的訂單。 您應建立新的資料表來儲存訂單,然後再建立兩份資料表的關聯。
使用關聯性的好處
將資料分開保存在相關的資料表中有下列好處:
-
一致性 因為每個資料項目只會記錄一次,因此在同一個資料表中,就不太會發生模稜兩可或不一致的情況。 例如,您只會在關於客戶的資料表中儲存客戶名稱一次,而不會在包含訂單資料的資料表中再重複儲存客戶名稱 (甚至有可能存錯名稱)。
-
效率 只將資料記錄在一個位置,表示使用的磁碟空間較少。 此外,比起大型資料表,較小的資料表也能更快速提供資料。 最後,如果不對單獨的主題使用單獨的資料表,則會在資料表中引入 Null 值 (缺少資料) 和冗餘,這兩者都會浪費空間並妨礙性能。
-
易理解 如果適當地將主題分開記錄到各資料表中,較容易了解資料庫的設計。
規劃資料表時,請留意關聯。 如果資料表包含的對應主索引鍵已存在,您可以使用查詢精靈建立外部索引鍵欄位。 查閱精靈會為您建立關聯。 如需詳細資訊,請參閱 建立或刪除查詢欄位。