資料庫關聯圖 -1 巨匠電腦  葉建榮整理 [email_address]
資料庫關聯圖 基本介紹 為了讓大家瞭解查閱精靈所造成兩個資料表之間的關係,所以先做資料庫關聯圖的基本介紹,參考完整性等進階說明將與正規化放在進階課程介紹。
建立資料庫關聯圖 在關聯式資料庫中,各資料表之間的關係稱為「關聯性」( Relationships ),這是資料表之間,記錄與記錄的關係。 關聯有三種:一對一、一對多和多對多關聯性。
在 Access 建立關聯性的方法 在 Access 多個資料表之間建立關聯性的方法有 2 種,如下所示: 暫時性關聯性: 在查詢物件建立關聯性,其目的是便於查詢資料,而且只有在使用查詢物件時才有效,所以稱為暫時性關聯性。 永久性關聯性: 在「資料庫關聯圖」編輯視窗建立的關聯性稱為永久性關聯性,因為這種資料表關係是永久存在,不論在查詢、表單和報表中都可以使用,而且會考量資料參考完整性。
建立一對一關聯性 - 說明 一對一關聯性是指資料表 A 的每一筆記錄,只能在資料表 B 中擁有一筆對應記錄,同樣的,資料表 B 中的每一筆記錄也只能在資料表 A 中有一筆對應記錄。 因為目前學校只有一個社團,所以在【社團活動成員】資料表的記錄都是一對一對應到【學生資料表】。事實上,一對一關聯性並不常見,因為在資料表每一筆記錄的欄位就是一種一對一關聯性,如果資料表使用一對一關聯性,通常都是為了資料保密因素,將部分欄位分割成另一個資料表。
建立一對一關聯性 - 圖例
建立一對多關聯性 - 說明 一對多關聯性是指在資料表 A 的每一筆記錄,對應到資料表 B 的多筆記錄,但是在資料表 B 中的每一筆記錄只能在資料表 A 中有一筆對應的記錄。 學校的每門課程都只有一位教授開課,所以【教授資料表】的記錄【 E0201 】可以對應【課程資料表】的 3 筆記錄,反之【課程資料表】的每一筆記錄只能對應【教授資料表】的一筆記錄。
建立一對多關聯性 - 圖例
建立一對多關聯性 - 範例 一對多關聯性是最常見的關聯性,通常需要使用表格輸入多筆資料的情況,大多屬於一對多關聯性,一些常見範例,如下所示: 一位客戶可以有多筆訂單,且每一筆訂單一定屬於一位客戶。 一個供應商可以供應多種商品,且每一個商品只擁有一個供應商。
建立多對多關聯性 - 說明 多對多關聯性是指資料表 A 的記錄對應資料表 B 的多筆記錄,而且 B 資料表的記錄也一樣對應資料表 A 的多筆記錄。多對多關聯性需要使用第 3 個資料表(稱為結合資料表),建立 2 個一對多關聯性,此時結合資料表的主索引鍵需要包含其它 2 個資料表的外來鍵( Foreign Key ) 。 【學生資料表】的記錄【 S0201 】可以對應【選課資料表】的 4 筆記錄,反之【課程資料表】的記錄【 CS101 】也可以對應到【選課資料表】的多筆記錄,【選課資料表】是一個結合資料表。
建立多對多關聯性 - 圖例
建立多對多關聯性 - 範例 多對多關聯性的一些常見範例,如下所示: 一個產品是由多種零件組成,每一種零件可以使用多種不同的產品。 一張訂單可以有多種商品,每一種商品可以屬於多張訂單。

Relation1

  • 1.
    資料庫關聯圖 -1 巨匠電腦 葉建榮整理 [email_address]
  • 2.
  • 3.
    建立資料庫關聯圖 在關聯式資料庫中,各資料表之間的關係稱為「關聯性」( Relationships),這是資料表之間,記錄與記錄的關係。 關聯有三種:一對一、一對多和多對多關聯性。
  • 4.
    在 Access 建立關聯性的方法在 Access 多個資料表之間建立關聯性的方法有 2 種,如下所示: 暫時性關聯性: 在查詢物件建立關聯性,其目的是便於查詢資料,而且只有在使用查詢物件時才有效,所以稱為暫時性關聯性。 永久性關聯性: 在「資料庫關聯圖」編輯視窗建立的關聯性稱為永久性關聯性,因為這種資料表關係是永久存在,不論在查詢、表單和報表中都可以使用,而且會考量資料參考完整性。
  • 5.
    建立一對一關聯性 - 說明一對一關聯性是指資料表 A 的每一筆記錄,只能在資料表 B 中擁有一筆對應記錄,同樣的,資料表 B 中的每一筆記錄也只能在資料表 A 中有一筆對應記錄。 因為目前學校只有一個社團,所以在【社團活動成員】資料表的記錄都是一對一對應到【學生資料表】。事實上,一對一關聯性並不常見,因為在資料表每一筆記錄的欄位就是一種一對一關聯性,如果資料表使用一對一關聯性,通常都是為了資料保密因素,將部分欄位分割成另一個資料表。
  • 6.
  • 7.
    建立一對多關聯性 - 說明一對多關聯性是指在資料表 A 的每一筆記錄,對應到資料表 B 的多筆記錄,但是在資料表 B 中的每一筆記錄只能在資料表 A 中有一筆對應的記錄。 學校的每門課程都只有一位教授開課,所以【教授資料表】的記錄【 E0201 】可以對應【課程資料表】的 3 筆記錄,反之【課程資料表】的每一筆記錄只能對應【教授資料表】的一筆記錄。
  • 8.
  • 9.
    建立一對多關聯性 - 範例一對多關聯性是最常見的關聯性,通常需要使用表格輸入多筆資料的情況,大多屬於一對多關聯性,一些常見範例,如下所示: 一位客戶可以有多筆訂單,且每一筆訂單一定屬於一位客戶。 一個供應商可以供應多種商品,且每一個商品只擁有一個供應商。
  • 10.
    建立多對多關聯性 - 說明多對多關聯性是指資料表 A 的記錄對應資料表 B 的多筆記錄,而且 B 資料表的記錄也一樣對應資料表 A 的多筆記錄。多對多關聯性需要使用第 3 個資料表(稱為結合資料表),建立 2 個一對多關聯性,此時結合資料表的主索引鍵需要包含其它 2 個資料表的外來鍵( Foreign Key ) 。 【學生資料表】的記錄【 S0201 】可以對應【選課資料表】的 4 筆記錄,反之【課程資料表】的記錄【 CS101 】也可以對應到【選課資料表】的多筆記錄,【選課資料表】是一個結合資料表。
  • 11.
  • 12.
    建立多對多關聯性 - 範例多對多關聯性的一些常見範例,如下所示: 一個產品是由多種零件組成,每一種零件可以使用多種不同的產品。 一張訂單可以有多種商品,每一種商品可以屬於多張訂單。