建立表之間的關系良好的數據庫設計目标之一就是消除數據冗餘, 要實現這一目标, 可以将數據拆分為多個基于主題的表, 盡量使每條數據隻出現一次, 然後在相關表中放置公共字段, 并建立各表之間的關系, 從而将拆分的數據組合到一起, 這也是關系型數據庫的運行原理。 在 Access 2016 中, 表的關系類型總共有 3 種關系,分别是一對一、 一對多和多對多關系。
兩個表之間, 主鍵與主鍵創建關系就稱為一對一關系。
在一對一關系中, 表 A 中的每條記錄在表 B 中隻有一個匹配記錄,且表 B 中的每條記錄在表 A 中也隻有一個匹配記錄。
這種關系并不常見, 因為多數以此方式相關的信息都存儲在一個表中。 可以使用一對一關系将一個表分成許多字段, 或者出于安全原因隔離表中的部分數據, 或者存儲僅應用于主表的子集的信息。标志此類關系時,這兩個表必須共享一個公共字段。
兩個表之間主鍵與外鍵建立關系就稱為一對多關系。
一對多關系是最常見的類型關系。 在這種關系中, 表 A 中的一行可以匹配表 B 中的多行, 但表 B 中的一行隻能匹配表 A 中的一行。
要在數據庫設計中表示一對多關系, 應将關系"一"方的主鍵作為額外字段添加到關系"多"方的表中。
例如, 表"出版社"和"書"之間就有一對多關系: 每家出版社都出版許多書, 但是每種書隻會出自一家出版社。 這裡就應将表"書"中的"書刊号"作為主鍵, 而在表"出版社"中将"書刊号"作為非主鍵。
多個表之間有兩個及兩個以上的一對多關系稱為多對多關系。
在多對多關系中, 表 A 中的一行可以匹配表 B中的多行, 反之亦然。
要創建這種關系, 需要定義第三個表,稱為連接表, 它的主鍵由表 A 和表B 兩個表中的外鍵組成。 因此, 第三個表記錄關系的每個匹配項或實例。
例如,"訂單"表和"産品"表有一種多對多的關系, 這種關系是通過與 "訂單明細"表建立兩個一對多關系來定義的。一個訂單可以有多個産品,每個産品可以出現在多個訂單中。
1.創建一對一表關系在創建一對一的關系時, 兩個表之間必須共享一個公共字段, 并且該公共字段必須具有唯一索引。 創建一對一關系的具體操作步驟如下。
Step 01 打開"供貨商信息管理 .accdb", 打開【供貨商信息表】, 進入設計視圖, 單擊【表格工具 / 設計】 選項卡【關系】 組中的【關系】 按鈕, 如下圖所示。
Step 02 打開【關系】 窗口, 單擊【表格工具 / 設計】 選項卡【關系】 組中的【顯示表】 按鈕, 如下圖所示。
Step 03 打開【顯示表】 對話框,按住【Ctrl】 鍵, 在【表】 選項卡中選擇【供貨商信息表】和【原始信息表】,單擊【添加】 按鈕,單擊【關閉】按鈕, 如下圖所示。
Step 04 選擇【供貨商信息】表中的【供貨商 ID】 字段, 按住左鍵不放拖動到【原始信息表】 表中的【供貨商ID】 字段上再松開左鍵, 如下圖所示。
Step 05 打開【編輯關系】 對話框, 可以看見【關系類型】為【一對一】關系,直接單擊【創建】 按鈕, 如下圖所示。
Step 06 操作完成後, 即可創建一對一表關系, 兩個表中的【供貨商 ID】字段使用關系連接線連接起來, 如下圖所示。
Step 07 單擊快速訪問工具欄中的【保存】 按鈕 , 保存創建的表關系,然後進入【供貨商信息表】 的數據表視圖, 此時可以發現每條記錄的行首都出現了 圖标, 單擊該圖标, Access 将以子表的形式顯示出【原始信息表】中的數據, 如下圖所示。
主鍵字段與外鍵字段創建關系就稱為一對多關系, 但不是任何主鍵和任何外鍵都可以創建的。 創建一對多關系的兩個主鍵字段的數據類型必須是一樣的, 而且必須是有一定關聯的。
要在數據庫中表示一對多關系,需要設置表關系為"一方"的主鍵,并将其作為額外公共字段添加到關系為"多方"的表中。
例如, 在【供貨商信息管理】 數據庫中, 有【供貨商信息表】 和【進貨單】, 一個供貨商可以有多筆進貨訂單, 而一個訂單隻能對應一個供貨商。 所以, 在一對多的表關系中, 關系"一方"應該為【供貨商信息表】,而關系"多方"應該為【進貨單】,所以, 本例需要将供貨商信息表中的【供貨商 ID】 添加到【進貨單】 中。
創建一對多表關系的具體操作步驟如下。
Step 01 接上一例操作,切換到【關系】 窗口,單擊【表格工具 / 設計】選項卡【關系】組中的【顯示表】按鈕,如下圖所示。
Step 02 打開【顯示表】對話框,在【表】選項卡中選擇【進貨單】,單擊【添加】 按鈕,單擊【關閉】 按鈕, 如下圖所示。
Step 03 在【關系】 窗口中将【供貨商信息表】 中的【供貨商 ID】 字段拖至【進貨單】的【供貨商 ID】字段上,如下圖所示。
Step 04 打開【編輯關系】 對話框, 可以看見【關系類型】為【一對多】關系,直接單擊【創建】 按鈕, 如下圖所示。
Step 05 此時, 從【關系】 窗口中可以查看到已經創建了一對多關系, 兩個表中的【供應商 ID】 字段使用關系連接線連接起來, 如下圖所示。
Step 06單擊快速訪問工具欄中的【保存】 按鈕 , 保存創建的表關系,重新打開【供貨商信息表】 的數據表視圖, 單擊行首出現的 圖标, Access 将以子表的形式顯示出該供貨商的訂單信息, 如下圖所示。
技術看闆
在一對多的關系表中, 隻有關系為"一方"的數據表才能查看子表中的信息, 關系為"多方"的數據表并不會出現子表。
3.創建多對多表關系多對多關系其實就是兩個一對多關系, 相對來說, 創建多對多關系比較複雜。 創建多對多表關系的具體操作步驟如下。
Step 01 接上一例操作,切換到【關系】 窗口,單擊【表格工具 / 設計】選項卡【關系】組中的【顯示表】按鈕,如下圖所示。
Step 02 打開【顯示表】 對話框,在【表】選項卡中選擇【供貨商訪問表】,單擊【添加】 按鈕,單擊【關閉】按鈕, 如下圖所示。
Step 03 在【關系】 窗口中将【供貨商訪問表】 中的【供貨商 ID】 字段拖至【供貨商信息表】 的【供貨商ID】 字段上, 如下圖所示。
Step 04 打開【編輯關系】 對話框, 可以看見【關系類型】為【一對多】關系,直接單擊【創建】按鈕,如下圖所示。
Step 05 此時, 從【關系】 窗口中可以看到【供貨商信息表】 和【供貨商訪問表】 為一對多關系,【供貨商訪問表】和【進貨單】為多對多關系,如下圖所示。
Step 06 單擊快速訪問工具欄中的【保存】按鈕 , 保存創建的表關系, 重新打開【供貨商信息表】 的數據表視圖,單擊行首出現的 圖标, 會彈出【插入子數據表】 對話框,在【表】 選項卡的列表框中選擇要顯示的子數據表;單擊【确定】 按鈕, 如下圖所示。
Step 07 返回數據表界面, 單擊行首出現的 圖标, Access 将以子表的形式顯示出選擇的子數據表中的信息,如下圖所示。
技術看闆
用戶也可以直接将【供貨商信息表】 的【供貨商 ID】 字段拖動到【進貨單】 的【供貨商 ID】 字段上, 從而創建兩個表之間的多對多關系。 但是在實際應用中, 用兩個一對多關系來表示多對多關系更為常用。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!