Table of contents
×
使用關聯
使用關聯

建立多對多關聯性

您的瀏覽器不支援視訊。

試試看!

什麼是多對多關聯性?

多對多關係是最常用的資料表關係。 它們提供重要的資訊,例如您的銷售人員已聯繫哪些客戶,以及哪些產品是客戶訂單。

如果某個資料表中的一或多個項目能夠和另一個資料表中的一或多個項目具有關聯性,就會形成多對多關聯性。 例如:

  • 您的訂單資料表包含多位列在客戶資料表中的客戶所建立的訂單,且一位客戶可能建立多份訂單。

  • 產品資料表包含您販售的個別產品,而這些產品也出現在訂單資料表的多份訂單中。

  • 一份訂單可能會包含特定產品的一或多個執行個體,和/或多個產品的一或多個執行個體。

例如,莊麗麗這位客戶的訂單號碼為 1012,可能包含識別碼為 12 與 15 的產品各一個,以及五個識別碼為 30 的產品。

建立多對多關聯性

多對多關聯性的建立方式,與一對一或一對多關聯性的建立方式並不相同。 建立後兩種關聯性時,您只需要用一條線連結適當的欄位。 但若要建立多對多關聯性,您必須建立一份新資料表以連結另外兩個資料表。 這份新資料表稱為中繼資料表 (有時又稱為連結或聯合資料表)。

在前述案例中,您建立了一份訂單詳細資料資料表,當中包含訂單資料表與產品資料表內每個訂單項目識別碼的記錄。 您結合兩個資料表的索引鍵建立了主索引鍵。

在我們的案例中,莊麗麗的訂單號碼為 1012,其包含了識別碼為 12、15 與 30 的產品。 也就是說,訂單詳細資料項目看起來像這樣︰

訂單識別碼

產品識別碼

1012

12

1012

15

1012

30

Elizabeth 訂購的產品 12 和 15 各一個,而產品 30 的 5 個則各訂購一個。 我們無法新增另一列 1012 和 30,因為訂單識別碼與產品識別碼組合在一起,是我們的主鍵,而且主鍵 必須 是唯一的。 相反地,我們會新增數量欄位至訂單詳細資料資料表。

訂單識別碼

產品識別碼

數量

1012

12

1

1012

15

1

1012

30

5

建立中繼資料表

  1. 選取 [建立] > [資料表]。

  2. 選取 儲存 儲存

  3. 在 [資料表名稱] 中輸入具有描述性的標題。 為表明它的用途,建議您在資料表名稱當中加入「聯合」或「中繼」字詞。

在中繼資料表中建立欄位

Access 會自動新增識別碼欄位做為資料表的第一欄。 請進行相關變更,讓該欄位與您多對多關聯性中第一個資料表的識別碼相符。 舉例來說,如果第一個資料表是叫做「訂單識別碼」的訂單資料表,而且它的主索引鍵是一個數字,請將新資料表中的識別碼欄位名稱變更為「訂單識別碼」,並將資料類型設為 [數字]。

  1. 在 [資料工作表檢視] 中,選取 [識別碼] 欄位標題,然後輸入新的欄位名稱。

  2. 選取您剛剛重新命名的欄位。

  3. 在 [欄位] 索引標籤的 [資料類型] 底下,選取與原始資料表中欄位相符的資料類型,例如 [數字] 或 [簡短文字]。

  4. 選取 [按一下以新增],然後選取與第二個資料表的主索引鍵相符的資料類型。 在已選取的欄位標題中,輸入第二個資料表的主索引鍵欄位名稱,例如 [產品識別碼]。

  5. 如果您需要追蹤有關這些記錄的任何其他資訊 (例如項目數量),請建立其他欄位。

合併主要識別碼欄位

您已為要連結的兩個資料表設定好包含資料表識別碼的欄位,接下來請根據這些識別碼,在中繼資料表中建立主索引鍵。

  1. 在 [設計檢視] 中開啟中繼資料表。

  2. 選取這兩個包含該資料行的列。 (如果您遵循前兩個程式,這些是前兩列。)

  3. 選取 [設計] > [主索引鍵]。
    兩個識別碼欄位旁會顯示按鍵圖示。

    資料表中的主索引鍵螢幕擷取畫面

連結三個資料表以建立多對多關聯性

若要完成多對多關聯性,請在每個資料表的主索引鍵欄位以及中繼資料表的對應欄位之間,建立一對多關聯性。 如需相關操作步驟的詳細資訊,請參閱開始使用資料表關聯

完成後,關聯應會如下所示:

連結三個資料庫資料表的螢幕擷取畫面

想要更多資訊嗎?

開始使用資料表關聯

建立、編輯或刪除關聯

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×