試試看!
什麼是一對一關聯性?
一對一關聯性通常是用來指出重要的關聯,以便讓您取得執行業務所需的資料。
「一對一關聯性」是兩個資料表中資訊之間的連結,其中每個資料表中的每一筆記錄只會出現一次。 例如,員工與其駕駛的汽車之間可能有一對一關聯性。 每一位員工只會在 [員工] 資料表中出現一次,而每輛汽車只會在 [公司汽車] 資料表中出現一次。
如果您有一個包含項目清單的資料表,但您想要擷取有關它們的特定資訊會依類型而有所不同,則您可以使用一對一關聯性。 例如,您可能有一個連絡人資料表,其中部分人員是員工,而其他人員是轉包商。 針對員工,您想要知道他們的員工編號、分機號碼及其他重要資訊。 針對轉包商,則除了其他資訊之外,您還想要知道他們的公司名稱、電話號碼及票據貼現率。 在此情況下,您會建立三個個別的資料表,即 [連絡人]、[員工] 及 [轉包商],然後在 [連絡人] 資料表與 [員工] 資料表之間,以及 [連絡人] 資料表與 [轉包商] 資料表之間,建立一對一關聯性。
建立一對一關聯性概觀
您可以將一個資料表中的索引 (通常是主索引鍵) 與另一個資料表中具有相同值的索引連結,來建立一對一關聯性。 例如:
通常,若要建立此關聯性,最佳方式就是讓次要資料表從第一個資料表查詢值。 例如,讓 [員工] 資料表中的 [汽車識別碼] 欄位成為查閱欄位,以從 [公司汽車] 資料表查詢 [汽車識別碼] 索引中的值。 如此一來,您永遠不會不小心新增實際上並不存在之汽車的識別碼。
重要: 當您建立一對一關聯性時,請「謹慎決定是否要針對關聯性強制參考資料完整性」。
參考資料完整性可協助 Access 刪除關聯記錄來保持您資料的簡潔。 例如,如果您從 [員工] 資料表中刪除某位員工,您也會一併從 [福利] 資料表中刪除該員工的福利記錄。 但在某些關聯性中 (例如此範例),參考完整性並不具意義︰當我們刪除某位員工時,我們並不想從 [公司汽車] 表格中刪除其車輛,因為該汽車仍然屬於公司,並且會指派給其他人使用。
建立一對一關聯性步驟
您可以將查閱欄位新增到資料表中來建立一對一關聯性。 (若要了解做法,請參閱建立資料表並設定資料類型。 )例如,若要指出哪一輛汽車已被指派給特定的員工,您可以將 [汽車識別碼] 新增到 [員工] 資料表中。 然後,若要建立兩個欄位之間的關聯,請使用「查閱精靈」︰
-
開啟資料表。
-
在 [設計檢視] 中,新增一個新欄位、選取 [資料類型] 值,然後選取 [查閱精靈]。
-
在精靈中,預設是設定為查詢來自另一個資料表的值,因此請選取 [下一步]。
-
選取包含您想要在此資料表中納入之索引鍵 (通常是主索引鍵) 的資料表,然後選取 [下一步]。 在我們的範例中,您會選取 [公務車] 資料表。
-
在 [已選取的欄位] 清單中,新增包含您想要使用之索引鍵的欄位。 選取 [下一步]。
-
設定排序順序,如果您想要的話,也可以變更欄位的寬度。
-
在最後一個畫面中,取消選取 [啟用資料完整性] 核取方塊,然後選取 [完成]。