使用關聯

開始使用資料表關聯

您的瀏覽器不支援視訊。請安裝 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

關聯式資料庫的強大功能在於結合各個資料表的資料。若要那麼做,您必須先建立資料表之間的關聯。然後,讓 Access 開始運作以合併查詢、表單及報表中的資料。

若要查看為資料庫定義的所有現有關聯,請開啟 Access 範本,移至 [資料庫工具] 索引標籤,然後選取 [​​關聯​​]。

附註: 如果您開啟一個空白資料庫或尚未定義任何資料表關聯時,Access 會提示您新增資料表或查詢。您必須至少有兩個資料表,才能新增關聯。在理想的情況下,您需先建立所有資料表。若要深入了解,請參閱使用查閱精靈建立多個關聯使用資料庫關聯圖窗格建立關聯

了解關聯​​檢視

[關聯] 檢視中的線條會指出資料表之間的關係。在下圖中,左側資料表是父資料表。右側資料表是子資料表。它們之間的線條連接用來比對資料的欄位 (在此例中為 [訂單識別碼] 和 [產品識別碼])。

在父欄位和子欄位之間繪製線條以顯示其關聯。

線條和符號說明了資料表關聯的方式︰

  • 粗的連接線代表您正強迫參考完整性。這樣很好。它可讓您的資料保持同步。

  • 在圖中,數字 1 表示在該資料表中只能有一筆相符的記錄。在此處所示的 [訂單] 資料表中,只有一筆記錄彼此相符。

  • ∞ 符號表示多筆記錄可能包含相同的識別碼。在此處所示的 [訂單詳細資料] 資料表中,一份訂單 (以其訂單識別碼表示) 可能會出現一次以上,因為相同訂單可能包含多個產品。

資料表之間的關聯類型

資料表之間有三種關聯類型:

  • 一對一。當每個資料表中的每個項目只出現一次時。例如,每位員工只能有一輛公司車可供使用。如需詳細資訊,請參閱建立一對一關聯性

  • 一對多。當一個資料表中的一個項目可以與另一個資料表中的多個項目有關聯時。例如,每個採購單可以包含多個產品。

  • 多對多。當一個資料表中的一或多個項目可以與另一個資料表中的一或多個項目有關聯時。例如,每個訂單可以有多個產品,而每個產品也可以出現在許多訂單上。若要了解更多資訊,請參閱建立多對多關聯性

一對多關聯性

在設計良好的資料庫中,資料表之間最常見的關聯性之一就是一個對多關聯性。

資料表之間的關聯性通常倚賴其中一個資料表中的主索引鍵。還記得主索引鍵是每一筆記錄的唯一識別碼 (通常是數值)。為了顯示兩個不同資料表中的資訊相關,您通常會使用其中一個資料表的主索引鍵來建立關聯。

例如,在此處所示的關聯中,[連絡人] 資料表中的每個人都有一個識別碼,這是主索引鍵 (以其旁邊的金鑰符號表示)。該識別碼也出現在 [資產] 資料表的 [擁有者] 欄位中。若要傳送電子郵件給與某個資產關聯的人員,請從 [電子郵件地址] 欄位取得值。若要這麼做,請尋找 [資產] 資料表中 [擁有者] 欄位中的值,然後在 [連絡人] 資料表中搜尋該識別碼。連接線一端的數字 1 及另一端的 ∞ 符號指出這是一對多關聯性,因此一個連絡人可能與多項資產有關聯。

一對多關聯

編輯關聯

如果您要修改現有的資料庫,或已從範本建立您的資料庫,您可以編輯現有的關聯來符合您的需求。

附註: 如果您想要處理的資料表處於使用中狀態,您必須先將它們及任何使用它們的已開啟物件關閉。

  1. 選取 [資料庫工具] > [關聯]。

  2. 選取連接兩個關聯資料表的線條。

    提示: 如果您沒有看到想要的關聯,請在 [設計] 索引標籤上的 [關聯] 群組中,選取 [所有關聯]。

  3. 在 [設計] 索引標籤上,選取 [編輯關聯​​]。

    編輯現有資料表之間的關聯

    [資料表/查詢] 係指左側的父資料表 (在此範例中為 [客戶])。

    [關聯資料表/查詢] 係指子資料表 (在此範例中為 [訂單])。

    即使在「關聯」檢視中這些資料表未出現在此訂單中,它們在對話方塊中的位置仍會指出連接它們的線條方向和關聯。舉例來說,如果是一對多關聯性,這會相當重要,因為它指出左側資料表是一 (父資料表),而右側資料表是多 (子資料表)。

  4. 若要變更連接資料表的欄位,請選取所示每個資料表底下的不同欄位。在此範例中,[客戶] 資料表中的 [識別碼] 欄位會連接到 [訂單] 資料表中的 [客戶識別碼] 欄位。

  5. 變更 Access 同步處理資料表間資料的方式。

    強迫參考完整性

    若要避免無效資料,以及讓參考能夠跨資料表關聯保持同步,請選取此選項。

    例如,假設 [員工] 和 [員工福利] 資料表之間有一對一關聯性。如果某個員工離職,當您從 [員工] 資料表中將其移除時,也會一併移除 [員工福利] 資料表中該相關員工的記錄。

    有時強迫參考完整性並沒有意義。例如,假設 [貨運公司] 與 [訂單] 之間有一對多關聯性。您刪除某個貨運公司,而該貨運公司對應 [訂單] 資料表中的訂單。這些訂單會變成孤立項目,也就是說,它們仍然包含 [貨運公司識別碼],但識別碼已不再有效,因為它所參考的記錄已不存在。

    串聯更新關聯欄位

    若要確保更新所有關聯資料表中的關聯欄位資料,請選取此選項。

    例如,假設您只想要變更貨運公司的識別碼。設定此選項將可確保更新 [貨運公司識別碼] — 不只是在 [貨運公司] 資料表中,也在所有其他與其連接且包含 [貨運公司識別碼] 的資料表 (例如 [訂單] 資料表) 中。

    串聯刪除關聯記錄

    是否要決定選取此選項,取決於您是否需要在某些資料表中保留記錄,即使可能從其他資料表中刪除這些記錄。

    例如,假設您刪除某個貨運公司。如果選取此選項,Access 就會刪除所有資料表中參照該 [貨運公司識別碼] 的所有記錄,包括由該貨運公司運送的所有訂單 (在 [訂單] 資料表中)。請只有在您確定想要刪除訂單歷程記錄的情況下,才選取此選項。

  6. 若要將資料表之間的關聯從內部聯結變更為外部聯結,請選取 [聯結類型] 按鈕。如需詳細資訊,請參閱使用外部聯結建立查詢

刪除資料表關聯

附註: 如果您想要處理的資料表處於使用中狀態,您必須先將它們及任何使用它們的已開啟物件關閉。

刪除資料表關聯:

  1. 選取 [資料庫工具] > [關聯]。

  2. 選取連接兩個關聯資料表的線條。

    提示: 如果您沒有看到想要的關聯,請在 [設計] 索引標籤上的 [關聯] 群組中,選取 [所有關聯]。

  3. 選取 Delete 鍵。如果系統提示您確認是否要刪除關聯,請選取 [是]。

附註: 當您移除關聯時,會一併移除該關聯的參考完整性支援 (如果有的話)。因此,Access 將不會再防止會在一對多關聯性的多端導致產生孤立記錄的變更。

想要更多資訊嗎?

建立關聯

刪除關聯

Excel 訓練課程

Outlook 訓練

您的資料庫一旦有資料表,您就建立它們之間的關聯性。關聯性至關重要。因為在您分隔資料後,關聯性會連結您的資料表。而且也因為關聯性對於設計查詢以及從資料取得答案的方法有重大影響。

任何關聯式資料庫會在它的資料表之間使用三種關聯性。一對多、多對多,以及一對一。

您使用的關聯性視您的資料而定。當一個資料表中的單一記錄與另一個資料表中的一筆或多筆記錄相關,您擁有的就是一對多關聯性。

我們的範例資料庫就有這種關聯性。一個客戶可以有一或多個電話號碼,而各個電話號碼只與一個客戶相關。

當資料表 A 中的單一記錄與資料表 B 中的一筆或多筆記錄相關,而資料表 B 中的單一記錄也可以與資料表 A 中的一或多筆記錄相關,您擁有的就是多對多關聯性。

您通常會在順序追蹤資料庫中看到多對多關聯性,其中一個順序可以包含許多產品,而一個產品可以是多個順序的一部分。

您也會在學生資料庫中看到這種關聯性,其中許多學生可以使用許多教室。

當一個資料表中的單一記錄與另一個資料表中的一筆記錄相關,您擁有的就是一對一關聯性。例如,一位員工可能會駕駛一台公務車。不過,您不會經常看到,因為一對一關聯性並不是很常見。

現在讓我們選取 [資料庫工具],然後選取 [資料庫關聯圖]。這麼做會開啟 [資料庫關聯圖] 窗格。您會滿常使用此工具。

這是您建立及管理大多關聯性的位置。您會在這裡看到典型的關聯性:兩個資料表之間有一條線。這條線表示資料表是相關的。

此外,這是一對多關聯性。因為這裡的關聯線具有「一」與「無限」符號,所以您可以辨識得知。這些符號意味著幾項重要的概念。

首先,「一」端的資料表是「父」資料表,而「多」端的資料表是「子」資料表。

其次,您可以把大多的關聯性看做是具有「端」。在此情況下,您在「一」端有一個資料表,並且在「多」端有一個資料表。

「端」至關重要,因為它們會影響您設計查詢的方法。

現在讓我們選取關聯線,然後選取功能區上的 [編輯關聯]。

三種關聯性設定會影響您的資料,並協助您正確地使用關聯性:[參考完整性]、[串聯更新] 及 [串聯刪除]。以下是它們的功用。

首先,[參考完整性] 會同步處理兩個資料表中的記錄。這是使資料保持正確的關鍵部分,所以您幾乎都會想要設定這個選項。

在強制執行 [參考完整性] 的情況下,您無法新增電話號碼,除非您在 [客戶] 資料表中有一個名稱。這會防止您建立所謂的「孤立項目」:也就是無父記錄的資料。

例如,想像一下未附加順序的銷售圖表,您就可以了解為何設定 [參考完整性] 如此重要。

[串聯更新] 設定可允許父端的任何變更,串聯到「子」或「多」端的任何相關記錄。

例如,如果客戶變更他的名稱,您只須在 [客戶] 資料表中輸入該變更,任何相關記錄就會變更。

[串聯刪除] 設定控制您是否可以刪除資料。如果您未選取這個選項,您就無法刪除資料。如果您選取了這個選項,當您刪除一筆記錄時,Access 就會刪除與該筆記錄相關的一切。

例如,刪除一位客戶時,也會刪除該客戶的相關電話號碼。

這樣很好,因為它可以防止孤立項目 — 例如無客戶的電話號碼。另一方面,請切記您的商務規則可能會防止您刪除資料,所以請記得這一點。您的商務規則在您的資料庫設計中會扮演重要的角色。

所以您現在了解資料表關聯,包括使用 Access [資料庫關聯圖] 窗格,以及協助您更有效率地使用 Access 資料庫的關聯性設定。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×