資料表關聯指南

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

其中一個建議的資料庫設計的目標是移除資料複本 (重複資料)。若要達到這個目的,您將您的資料分成許多主旨為基礎的資料表,讓每個 fact 表示一次。然後提供將分割的資訊回一起方式的存取,您只要將一般的欄位放置在相關的資料表。若要執行此步驟正確,不過,您必須先瞭解您的資料表之間的關聯,然後指定這些關聯性資料庫中。

如需詳細資訊,請參閱資料庫設計的基本概念的文件。

本文並未涵蓋 web 資料庫中的關聯。Web 資料庫並不支援 [資料庫關聯圖] 視窗。您使用 web 資料庫中建立關聯的查閱欄位。如需詳細資訊,請參閱建立要在網路上共用資料庫的文件。

本文內容

簡介

資料表關聯的類型

為何需要建立資料表關聯?

瞭解參考完整性

檢視資料表關聯

建立資料表關聯

刪除資料表關聯

變更資料表關聯

強迫參考完整性

簡介

您建立的每個主旨的表格,在您的資料庫中之後,您必須提供存取用來將該資訊回一起再次時所需的方法。將一般的欄位放置在資料表的關聯,及定義您的資料表之間的關聯,您可以這麼做。然後,您可以建立查詢、 表單及報表,其中顯示數個資料表中的資訊,一次。例如,此處所示的表單包含來自多個資料表的資訊 ︰

同時顯示取自五個資料表之相關資訊的訂單表單

1. 此表單的資訊來自 [客戶] 資料表...

2. ...[訂單] 資料表...

3. ...[產品] 資料表 ...

4. ...及 [訂單詳細資料] 資料表。

[付款人] 方塊中的 [客戶名稱] 是來自 [客戶] 資料表,[訂單識別碼] 和 [訂單日期] 的值來自 [訂單] 資料表,[產品名稱] 來自 [產品] 資料表,[單價] 與 [數量] 的值則來自 [訂單詳細資料] 資料表。這些資料表會以各種方式互相連結,以便將資訊從各個資料表帶入此表單。

前述範例的資料表各欄位必須經過調整,才會顯示同筆訂單的資訊。您可以利用資料表關聯進行此項調整。資料表關聯會比對兩個資料表內 ,名稱相同之索引鍵欄位內的資料。在大部分情況下,這些相符的欄位通常是某個資料表的主索引鍵 (提供每筆記錄的唯一識別碼),在其他資料表中則是外部索引鍵。例如員工可以藉由建立 [員工] 資料表與 [訂單] 資料表之 [員工識別碼] 欄位間的關聯,而與其所負責的訂單建立關聯。

[員工識別碼] 用來當作 [員工] 資料表中的主索引鍵和 [訂單] 資料表中的外部索引鍵。

1. [員工識別碼] 在兩個資料表中出現時 ,一個會用為主索引鍵...

2. ...另一個用為外部索引鍵。

頁面頂端

資料表關聯的類型

資料表關聯有三種類型。

  • 一對多關聯

    請考慮訂單追蹤包含 [客戶] 資料表和 [訂單] 資料表的資料庫。客戶可以將任何訂單的數目。因此,在 [客戶] 資料表中表示客戶,可能會有很多訂單 [訂單] 資料表中表示。[客戶] 資料表和 [訂單] 資料表之間的關係是,因此,一對多關聯。

    若要顯示在您的資料庫設計的一對多關聯,採取關聯 「 一 」 端的主索引鍵,再將它為額外的欄位或欄位新增關聯 「 多 」 端的資料表。在此情況下,在您新增新的欄位,例如,[識別碼] 欄位從 [客戶] 資料表,以 [訂單] 資料表,並將其命名客戶識別碼]。然後 access 就可以客戶識別碼使用在 [訂單] 資料表中,找出每個訂單正確的客戶。

  • 多對多關聯

    請考慮產品] 資料表和 [訂單] 資料表之間的關聯。以單一順序可以包含一個以上的產品。另一方面,單一產品可以出現在許多訂單。因此,在 [訂單] 資料表中每一筆記錄,可以有多筆記錄在 [產品] 資料表中。此外,在 [產品] 資料表中每一筆記錄,可以有多筆記錄在 [訂單] 資料表中。這種關聯性稱為多對多關聯,因為任何的產品,可以有多個訂單,並針對任何順序,可能有許多產品。請注意,偵測到您的資料表之間的現有多對多關聯,您必須考量關聯性的兩側。

    若要表示多對多關聯,必須建立稱為連接資料表的第三個資料表,將多對多關聯分成兩個一對多關聯。將兩個資料表中的主索引鍵都插入到第三個資料表, 如此一來,第三個資料表就會記錄關聯中每一個出現的項目或執行個體。例如,[訂單] 資料表及 [產品] 資料表具有多對多關聯,這種關聯是藉由建立兩個與 [訂單詳細資料] 資料表的一對多關聯來定義。一個訂單可以含有多項產品,而每項產品可以出現在多筆訂單上。

  • 一對一關聯

    在一對一關聯性,每一筆記錄的第一個資料表中有一個符合的記錄在第二個資料表中,然後在第二個資料表中的每一筆記錄的第一個資料表中有只有一個相符的記錄。因為大多數情況下,以這種方式相關的資訊儲存在相同的資料表,並不常見此類型的關聯。您可以使用一對一關聯,將資料表分割為多個欄位,隔離基於安全性理由,表格的組件或儲存僅適用於主資料表子集的資訊。當您找對多關聯時,這兩個資料表必須共用常見的欄位。

頁面頂端

為何需要建立資料表關聯?

您可以使用 [資料庫關聯圖] 視窗中,或從 [欄位清單] 窗格中拖曳欄位明確建立資料表關聯。Access 會知道如何聯結資料表,當您需要使用資料庫物件時使用的資料表關聯。為什麼您應該建立資料表關聯建立資料庫物件,例如表單、 查詢和報表之前的幾個原因有。

  • 資料表關聯會影響您的查詢設計

    若要使用多個資料表中的記錄,您通常必須建立聯結資料表的查詢。查詢會找出相符的第二個資料表中的外部索引鍵欄位的第一個資料表的主索引鍵欄位的值。例如,若要傳回的所有各客戶的訂單] 清單中的列,您建構聯結與根據 [客戶識別碼] 欄位的 [訂單] 資料表的 [客戶] 資料表的查詢。在 [資料庫關聯圖] 視窗中,您可以手動指定要加入的欄位。不過,如果您已經有定義資料表之間的關聯性,Access 會提供的預設連接,根據現有的資料表關聯。此外,如果您是使用其中一個查詢精靈,Access 會使用已定義為您提供謹慎選擇並預先填入以適當的預設值] 屬性設定從資料表關聯,收集的資訊。

  • 資料表關聯會影響您的表單和報表設計

    當您設計表單或報表時,Access 會使用已定義為您提供謹慎選擇並預先填入以適當的預設值] 屬性設定從資料表關聯,收集的資訊。

  • 資料表關聯是用來執行強迫參考完整性、避免資料庫中發生記錄孤立的基礎。孤立記錄是指所參考的記錄已經不存在的記錄 ,例如參考到某個不存在之客戶記錄的訂單記錄,就是一個孤立記錄。

    當您設計資料庫時,您就會將您的資訊,成表格,每一個都有主索引鍵。然後,您會加入外部索引鍵至參照的主索引鍵的資料表。這些外部索引鍵主索引鍵配對表單資料表的關聯性和多重資料表查詢的基礎。請務必,因此,這些外部索引鍵主要鍵參考保持同步處理。參考完整性有助於確保的參照保持同步處理,它取決於資料表的關聯性。

頁面頂端

瞭解參考完整性

當您設計資料庫時,您就會將您將多個主旨為基礎的資料表,最小化資料重複的資訊。然後,您會提供存取要顯示的資料合併在一起放到相關資料表的一般欄位的方法。例如,代表一對多關聯您需要 「 一 」 資料表的主索引鍵,並將其新增為額外的欄位中,「 多 」 的資料表。若要將資料傳回放在一起,Access 會採用 「 多 」 資料表中的值,並尋找 「 一 」 資料表中的對應值。以這種方式的 「 多 」 資料表中的值,請參考 「 一 」 資料表中的對應值。

假設 [貨運公司] 和 [訂單] 資料表之間存在一對多關聯,而您想要刪除某一家貨運公司的記錄。如果想要刪除的貨運公司在 [訂單] 資料表中有一些訂單記錄,則當您將該貨運公司的記錄從 [貨運公司] 資料表中刪除之後,這些訂單記錄便會變成「孤立」記錄。這些訂單記錄仍然留有貨運公司識別碼,但是該識別碼已經無效,因為所參考的記錄已經不存在。

參考完整性之目的,在避免出現孤立的記錄,並保持參考的同步,讓這種假設情況不會發生。

您啟用此資料表關聯的強迫參考完整性 (如需逐步指示,請參閱強制執行參考完整性)。之後,強制執行存取拒絕違反該資料表關聯的參考完整性所有作業。這表示 Access 將拒絕變更的參照,並移除參照的目標的刪除目標這兩種更新。不過,則可能您可能需要完全有效有 [訂單] 資料表中的訂單貨運變更主索引鍵。這種情況下,您真的需要適用於 Access 自動更新所有受影響的資料列,做為單一作業的一部分。如此一來,可確保存取,更新已完成的完整,好讓資料庫已不在不一致的狀態,某些更新的資料行與一些不。因此 Access 支援 [串聯更新關聯欄位] 選項。當您強迫參考完整性,並選擇 [串聯更新關聯欄位] 選項,並且然後更新主索引鍵時,Access 會自動更新所有參照的主索引鍵的欄位。

也可以,您可能需要有效刪除列及所有相關記錄,例如 [貨運公司記錄] 和 [該貨運公司的所有相關的訂單。因此,Access 會支援 [串聯刪除關聯記錄] 選項。強迫參考完整性,並選擇 [串聯刪除關聯記錄] 選項,然後再刪除關聯性的主索引鍵的記錄,Access 就會自動刪除參照的主索引鍵的所有記錄。

頁面頂端

檢視資料表關聯

若要檢視您的資料表關聯,按一下 [資料庫工具] 索引標籤上的 [關係]。[資料庫關聯圖] 視窗隨即開啟,並顯示任何現有的關聯性。如果尚未定義資料表的關聯性,而且您要開啟 [資料庫關聯圖] 視窗的第一次,Access 會提示您視窗中新增資料表或查詢。

開啟資料庫關聯圖視窗

  1. 按一下 [檔案] 索引標籤上的 [開啟舊檔]

  2. [開啟舊檔] 對話方塊中,選取資料庫並加以開啟。

  3. [資料庫工具] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [資料庫關聯圖]

  4. 如果資料庫中包含關聯性,會出現 [資料庫關聯圖] 視窗。如果資料庫不包含的任何關聯性,而且您要開啟 [資料庫關聯圖] 視窗的第一次,就會出現 [顯示資料表] 對話方塊。按一下 [關閉] 對話方塊中的 [關閉]。

  5. [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [所有關聯]

    隨後便會顯示所有已定義之關聯的資料庫中。請注意,(已選取的隱藏] 核取方塊在資料表的 [屬性] 對話方塊中的表格) 的隱藏的資料表和及其關聯將不會顯示除非已在 [導覽選項] 對話方塊中選取 [顯示隱藏的物件] 核取方塊。

資料表關聯是以 [資料庫關聯圖] 視窗中資料表之間所畫的關聯線來表示。支援關聯的共同欄位之間若出現細線,表示是未執行強迫參考完整性的關聯。當您按一下關聯線選取該關聯時,選取的線會變粗。若您針對此關聯執行強迫參考完整性,這條線在兩端都會變得更粗。此外,在關聯的一端線較粗的部分上方會出現數字 1,而另一端線較粗的部分上方則會出現無限符號 ()。

您可以從作用中之 [資料庫關聯圖] 視窗的功能區中選取下列命令:

[設計] 索引標籤上的 [工具] 群組:

  • 編輯關聯    開啟 [編輯關聯] 對話方塊。選擇關聯線時可以按一下 [編輯關聯] 以變更資料表關聯。您也可以按兩下關聯線。

  • 清除版面配置    移除 [資料庫關聯圖] 視窗顯示中的所有資料表與關聯。請注意,此命令只會隱藏資料表與關聯 ,而不會實際將其刪除。

  • 關聯報表    建立報表顯示資料庫內之資料表與關聯。此報表只會顯示 [資料庫關聯圖] 視窗中所未隱藏的資料表與關聯。

[設計] 索引標籤上的 [資料庫關聯圖] 群組:

  • 顯示資料表    開啟 [顯示資料表] 對話方塊,讓您選取要在 [資料庫關聯圖] 視窗中檢視的資料表與查詢。

  • 隱藏資料表    在 [資料庫關聯圖] 視窗中隱藏所選的資料表。

  • 直接關聯    在 [資料庫關聯圖] 視窗中顯示所選資料表尚未顯示之所有關聯與關聯資料表。

  • 所有關聯    在 [資料庫關聯圖] 視窗中顯示資料庫內之所有關聯與關聯資料表。請注意,只有在 [導覽選項] 對話方塊中選取了 [顯示隱藏物件] 後,才會顯示隱藏的資料表 (在資料表 [屬性] 對話方塊中選取了 [隱藏] 核取方塊的資料表) 及其關聯。

  • 關閉    關閉 [資料庫關聯圖] 視窗。若您變更 [資料庫關聯圖] 視窗的版面配置,系統即會詢問您是否要儲存變更。

頁面頂端

建立資料表關聯

若要建立資料表關聯,可以利用 [資料庫關聯圖] 視窗,或是從 [欄位清單] 窗格中將欄位拖曳至資料工作表。當您建立資料表的關聯時,共同欄位的名稱不一定要相同,雖然情況常是如此。比較重要的是,這些欄位必須有相同的資料類型。但是,如果主索引鍵欄位是 [自動編號] 欄位,則只要這兩個欄位的 [欄位大小] 屬性相同,外部索引鍵欄位也可以是 [數字] 欄位。例如,如果 [自動編號] 欄位與 [數字] 欄位的 [欄位大小] 屬性都是 [長整數],則這兩個欄位就可以相互對應。當兩個共同欄位都是 [數字] 欄位時,雙方的 [欄位大小] 屬性設定必須相同。

使用資料庫關聯圖視窗建立資料表關聯

  1. 按一下 [檔案] 索引標籤上的 [開啟舊檔]

  2. [開啟舊檔] 對話方塊中,選取資料庫並加以開啟。

  3. 在 [資料庫工具] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [資料庫關聯圖]。

  4. 如果您尚未定義任何關聯,則 [顯示資料表] 對話方塊即會自動出現。若未出現,請在 [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [顯示資料表]

[顯示資料表] 對話方塊會顯示資料庫中的所有資料表和查詢。若只要查看資料表,請按一下 [資料表]。若只要查看查詢,請按一下 [查詢]。若要同時查看資料表和查詢,請按一下 [兩者都要]

  1. 選取一個或多個資料表或查詢,然後按一下 [新增]。完成將資料表和查詢新增至 [資料庫關聯圖] 視窗之後,請按一下 [關閉]

  2. 從一個資料表中拖曳某個欄位 (通常是主索引鍵) 至另一個資料表中的共同欄位 (外部索引鍵)。若要拖曳多個欄位,請按住 CTRL 鍵,然後按一下各個欄位,再加以拖曳。

[編輯關聯] 對話方塊即會出現。

  1. 請確認所顯示的欄位名稱是關聯的共同欄位。如果欄位名稱不正確,請在欄位名稱上按一下,再從清單中選取新的欄位。

若要針對此關聯執行強迫參考完整性,請選取 [強迫參考完整性] 核取方塊。如需參考完整性的詳細資訊,請參閱瞭解參考完整性強迫參考完整性等章節。

  1. 按一下 [建立]

    兩個資料表之間會畫上一條關聯線。如果您選取了 [強迫參考完整性] 核取方塊,則線條的兩端會比較粗。此外,唯有選取 [強迫參考完整性] 核取方塊時,數字 1 才會出現在某一端的較粗關聯線上方,而無限符號 () 則會出現在另一端的較粗關聯線上方。

    附註: 

    • 若要建立一對一關聯。   兩個常見的欄位 (通常是主索引鍵和外部索引鍵欄位) 必須擁有唯一索引。這表示這些欄位的 [索引] 屬性應該設定為 [是 (不可重複)。如果這兩個欄位都有唯一的索引,Access 會建立一對一關聯。

    • 若要建立一個對多關聯   在關聯 「 一 」 端 (通常是主索引鍵) 的欄位必須擁有唯一索引。這表示此欄位的 [索引] 屬性應該設定為 [是 (不可重複)。「 多 」 端的欄位應該具有唯一索引。它可以索引,但是它必須允許重複項目。這表示此欄位的 [索引] 屬性應該設為 [] 或 [是 (可重複)。當一個欄位都有唯一索引及其他不時,Access 會建立一個對多關聯。

使用欄位清單窗格建立資料表關聯

您可以透過拖曳 [欄位清單] 窗格的 [資料工作表檢視] 中開啟現有的資料表新增欄位。[欄位清單] 窗格會顯示在相關資料表中可用的欄位及也] 欄位在其他資料表中可用。當您從 [其他] (不相關) 的資料表中拖曳欄位,然後完成 [查閱精靈時,新的一對多關聯會自動建立 [欄位清單] 窗格中的資料表之間拖曳欄位的資料表。此關聯,建立的存取權,不會依預設強迫參考完整性。若要強迫參考完整性,您必須編輯關聯性。請參閱變更資料表關聯的詳細資訊。

在資料工作表檢視中開啟資料表

  1. 按一下 [檔案] 索引標籤上的 [開啟舊檔]

  2. [開啟舊檔] 對話方塊中,選取資料庫並加以開啟。

  3. 在 [功能窗格] 中,以滑鼠右鍵按一下要新增欄位並建立關聯的資料表,然後按一下 [開啟]

開啟欄位清單窗格

  • 按 ALT+F8。

    [欄位清單] 窗格即會出現。

[欄位清單] 窗格會顯示在您的資料庫中,所有其他資料表的分組到類別。當您使用資料工作表檢視中的表格時,Access 會顯示欄位中的 [欄位清單] 窗格中的兩個類別 ︰在相關資料表中可用的欄位其他資料表中可用的欄位。第一個類別列出所有已與您目前使用的資料表關聯的資料表。第二個類別列出所有與您的表格沒有關聯的資料表。

按一下 [欄位清單] 窗格中資料表名稱旁邊的加號 (+),就會看到此資料表中的所有可用欄位清單。若要新增欄位至資料表,請將所要欄位從 [欄位清單] 窗格拖曳至 [資料工作表檢視] 中的資料表。

從欄位清單窗格新增欄位並建立關聯

  1. [欄位清單] 窗格的 [在其他資料表中可用的欄位] 下,按一下資料表名稱旁的加號 (+),以顯示該資料表的欄位清單。

  2. [欄位清單] 窗格中拖曳所要欄位至 [資料工作表檢視] 中所開啟的資料表。

  3. 當插入線出現時,將欄位放到適當的位置。

    [查閱精靈] 即會啟動。

  4. 依照指示完成 [查閱精靈]

    欄位會出現在 [資料工作表檢視] 中的資料表內。

當您從 [其他] (不相關) 的資料表中拖曳欄位,然後完成 [查閱精靈時,新的一對多關聯會自動建立欄位清單中的資料表之間拖曳欄位的資料表。此關聯,建立的存取權,不會依預設強迫參考完整性。若要強迫參考完整性,您必須編輯關聯性。請參閱變更資料表關聯的詳細資訊。

頁面頂端

刪除資料表關聯

若要移除資料表關聯,您必須先刪除 [資料庫關聯圖] 視窗中的關聯線。仔細地將游標指向關聯線,在然後按一下 [線條。當已選取的關聯線粗。選取關聯線,請按下 DELETE。請注意,當您移除關聯時,您也移除參考完整性支援的關聯性,如果已啟用。如此一來,Access 會不會再自動會防止建立的段落遺留字串的關聯 「 多 」 端的記錄。

  1. [資料庫工具] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [資料庫關聯圖]

[資料庫關聯圖] 視窗隨即出現。如果尚未定義的任何關聯性,這是您要開啟 [資料庫關聯圖] 視窗的第一次,就會出現 [顯示資料表] 對話方塊。如果出現的對話方塊,請按一下 [關閉]。

  • [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [所有關聯]

顯示所有擁有關聯的資料表,顯示關聯線。

  1. 按一下所要刪除之關聯的關聯線。選取關聯線時,線條會變粗。

  2. 按下 DELETE 鍵。

    -或-

按一下滑鼠右鍵,然後按一下 [刪除]

  1. Access 可能會顯示 [您確定要從您的資料庫永久刪除所選定的關聯嗎?] 的訊息。如果出現此確認訊息,請按一下 [是]

附註: 如果資料表關聯所使用的資料表正在使用中,可能由其他使用者或處理程序使用中,或由開啟的資料庫物件 (例如表單) 使用中,此時您就無法刪除其關聯。移除關聯之前,您必須先關閉使用這些資料表的任何已開啟物件。

頁面頂端

變更資料表關聯

在 [資料庫關聯圖] 視窗中選取關聯然後加以編輯,即可變更關聯。仔細地將游標指向關聯線,然後按一下該關聯線予以選取。選取關聯線時,線條會變粗。選取關聯線之後按兩下,或按一下 [設計] 索引標籤上 [工具] 群組內的 [編輯關聯]。隨即出現 [編輯關聯] 對話方塊。

在 [編輯關聯] 對話方塊中進行變更

  1. [資料庫工具] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [資料庫關聯圖]

[資料庫關聯圖] 視窗隨即出現。如果尚未定義的任何關聯性,這是您要開啟 [資料庫關聯圖] 視窗的第一次,就會出現 [顯示資料表] 對話方塊。如果出現的對話方塊,請按一下 [關閉]。

  • [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [所有關聯]

  • 顯示所有擁有關聯的資料表,顯示關聯線。

  • 針對所要變更的關聯,按一下關聯線。選取關聯線時,線條會變粗。

  • 按兩下關聯線。

  • 進行所要變更,然後按一下 [確定]

    您可以在 [編輯關聯] 對話方塊中變更資料表關聯。明確地說,您可以變更關聯任一端的資料表或查詢,或是任一端的欄位。您也可以設定連接類型,或者執行強迫參考完整性並選擇串聯選項。如需連接類型及如何設定連接類型的詳細資訊,請參閱設定連接類型一節。如需如何執行強迫參考完整性並選擇串聯選項的詳細資訊,請參閱強迫參考完整性一節。

設定連接類型

當您定義資料表關聯時,瞭解關聯會影響您的查詢設計。例如,如果您定義兩個資料表,和您之間的關聯,然後建立的查詢,使用這些資料表,Access 會自動選取比對欄位根據關聯性中指定的欄位的預設值。您可以在查詢中,覆寫這些初始預設值,但關聯所提供的值卻經常證明正確。因為比對並使從多個資料表的資料放在一起是您會經常執行所有但最簡單的資料庫中的項目,設定預設值建立關聯,可以是時間儲存和有幫助。

多重資料表查詢會比對共同欄位中的值,藉此合併多個資料表的資訊。進行比對和合併的作業稱為連接。舉例來說,假設您要顯示客戶訂單資訊, 可以在 [客戶識別碼] 欄位上建立連接 [客戶] 資料表和 [訂單] 資料表的查詢。查詢結果僅會包含相符之資料列的客戶資訊和訂單資訊。

您可以針對每個關聯性指定的值是連接類型。連接類型會告訴 Access 来包含在查詢結果中的記錄。例如,請考慮重新聯結 [客戶] 資料表和 [訂單] 資料表,代表客戶識別碼的一般欄位的查詢使用預設連接類型 (稱為內部聯結),查詢會傳回客戶資料列和順序相等資料列 (也稱為聯結的欄位) 的一般欄位。

不過,假設您想要包括所有客戶  (甚至包括那些還沒有下任何訂單的客戶), 就必須將連接類型從內部連接變更為左外部連接。左外部連接會傳回關聯左端之資料表中所有的資料列,以及關聯右端之資料表中相符的資料列。右外部連接則會傳回右端所有的資料列,以及左端相符的資料列。

附註: 在此情況下,「左」和「右」是指 [編輯關聯] 對話方塊中資料表的位置,而不是指在 [資料庫關聯圖] 視窗中的位置。

請考慮查詢時較常需要針對此關聯進行的資料表連接結果,再決定連接類型的設定。

設定連接類型

  1. 按一下 [編輯關聯] 對話方塊中的 [連接類型]

    [連接屬性] 對話方塊即會出現。

  2. 按一下所要的選擇,然後按一下 [確定]

下表 (使用 [客戶] 和 [訂單資料表) 顯示三個選項顯示在 [連接屬性] 對話方塊他們使用時,連接類型,是否所有資料列或相符的資料列都包含在內的每個資料表。

選擇

關聯式連接

左資料表

右資料表

1. 僅包含兩個資料表連接欄位之資料相同的資料列。

內部連接

相符的資料列

相符的資料列

2. 包括所有來自 [客戶] 的記錄和只包括那些連接欄位相等的 [訂單] 記錄。

左外部連接

所有的資料列

相符的資料列

3. 包括所有來自 [訂單] 的記錄和只包括那些連接欄位相等的 [客戶] 記錄。

右外部連接

相符的資料列

所有的資料列

當您選擇選項 2 或選項 3 時,關聯線上就會出現一個箭號。此箭號會指向僅顯示相符資料列之關聯端。

在 [連接屬性] 對話方塊中進行變更

  1. [資料庫工具] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [資料庫關聯圖]

[資料庫關聯圖] 視窗隨即出現。如果尚未定義的任何關聯性,這是您要開啟 [資料庫關聯圖] 視窗的第一次,就會出現 [顯示資料表] 對話方塊。如果出現的對話方塊,請按一下 [關閉]。

  • [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [所有關聯]

    具有關聯的所有資料表即會顯示,並顯示關聯線

  • 針對所要變更的關聯,按一下關聯線。選取關聯線時,線條會變粗。

  • 按兩下關聯線。

隨即出現 [編輯關聯] 對話方塊。

  1. 按一下 [連接類型

  2. 按一下 [連接屬性] 對話方塊中的選項,然後按一下 [確定]

  3. 對關聯進行任何其他變更,然後按一下 [確定]

頁面頂端

強迫參考完整性

使用參考完整性的目的是,若要避免段落遺留字串的記錄,並保持參考的同步處理,讓您沒有安裝任何參照不存在其他記錄的記錄。您啟用此資料表關聯的強迫參考完整性。之後,強制執行存取拒絕違反該資料表關聯的參考完整性所有作業。Access 會拒絕變更的參照,以及移除參照的目標的刪除目標的更新。若要讓所有相關的資料列會相應地變更傳播參考的更新和刪除的存取權,請參閱設定串聯選項

開啟或關閉參考完整性

  1. 在 [資料庫關聯圖] 視窗中,按一下所要變更之關聯的關聯線。選取關聯線時,線條會變粗。

  2. 按兩下關聯線。

隨即出現 [編輯關聯] 對話方塊。

  1. 選取 [強迫參考完整性] 核取方塊。

  2. 對關聯進行任何其他變更,然後按一下 [確定]

啟用強迫參考完整性之後,就必須遵循下列規則:

  • 如果值不存在於主資料表的主索引鍵欄位中,您就不能在關聯資料表的外部索引鍵欄位中輸入該值  (這樣做會造成孤立記錄)。

  • 如果關聯資料表中有相符的記錄,則無法刪除主資料表中的記錄。舉例來說,如果 [訂單] 資料表中有指派給某位員工的訂單,就無法從 [員工] 資料表中刪除該員工的記錄。但是,藉由選取 [串聯刪除關聯記錄] 核取方塊,您可以在一次作業中同時刪除主記錄所有關聯記錄。

  • 如果這麼做會建立段落遺留字串的記錄,就無法變更主資料表中的主索引鍵值。例如,您無法變更 [訂單] 資料表中的順序編號指派給該訂單詳細資料資料表中的訂單明細項目是否。不過,您可以選擇更新的主要記錄所有相關的記錄,一次選取 [串聯更新關聯欄位] 核取方塊。

    附註: 如果您無法啟用參考完整性,請注意下列條件所需強迫參考完整性 ︰

    • 主資料表中的共同欄位必須是主索引鍵或擁有唯一索引。

    • 共同欄位必須有相同的資料類型。唯一的例外就是:自動編號欄位可以與 [欄位大小] 屬性設定為 [長整數] 的數字欄位建立關聯。

    • 兩個資料表必須位於相同的 Access 資料庫。無法在連結資料表上強制執行參考完整性。不過,如果來源資料表中的 Access 格式,您可以開啟的資料庫中儲存的人員,並啟用參考完整性的資料庫中。

設定串聯選項

您可能會遇到的情況下,其中有有效的需求,變更關聯 「 一 」 端上的值。在這種情況下,您需要的存取權會自動更新的所有受影響的資料列做為單一作業的一部分。如此一來,更新已完成完整,好讓您的資料庫不處於不一致的狀態,某些更新的資料行與一些不。Access 可協助您避免此問題的支援 [串聯更新關聯欄位] 選項。當您強迫參考完整性,並選擇 [串聯更新關聯欄位] 選項,並且然後更新主索引鍵時,Access 會自動更新所有參照的主索引鍵的欄位。

您可能也需要刪除列及所有相關記錄,例如,[貨運公司記錄] 和 [該貨運公司的所有相關的訂單。因此,Access 會支援 [串聯刪除關聯記錄] 選項。強迫參考完整性,然後選擇 [串聯刪除關聯記錄] 選項,Access 就會自動刪除參照的主索引鍵,當您刪除包含主索引鍵的記錄的所有記錄。

開啟或關閉串聯更新及/或串聯刪除

  1. 在 [資料庫關聯圖] 視窗中,按一下所要變更之關聯的關聯線。選取關聯線時,線條會變粗。

  2. 按兩下關聯線。

隨即出現 [編輯關聯] 對話方塊。

  1. 選取 [強迫參考完整性] 核取方塊。

  2. 選取 [串聯更新關聯欄位][串聯刪除關聯記錄] 核取方塊,或選取兩者。

  3. 對關聯進行任何其他變更,然後按一下 [確定]

附註: 由於您無法變更 [自動編號] 欄位中的值,因此如果主索引鍵是 [自動編號] 欄位,即使選取 [串聯更新關聯欄位] 核取方塊也不會有任何效果。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×