E-R圖

2022-06-23 06:00:18

E-R圖也稱實體-聯絡圖(Entity Relationship Diagram),它提供了表示實體型別、屬性和聯絡的方法,用來描述現實世界的概念模型。

E-R圖是描述現實世界關係概念模型的有效方法。是表示概念關係模型的一種方式。

  • 用「矩形框」表示實體,矩形框內寫明實體名稱;
  • 用「橢圓圖框」或圓角矩形表示實體的屬性,並用「實心線段」將實體的屬性與相應關係的「實體」連線起來;
  • 用」菱形框「表示實體之間的聯絡成因,在菱形框內寫明聯絡名,並用」實心線段「分別與有關實體連線起來,同時在」實心線段「旁標上聯絡的型別(1:1,1:n,m:n)。

E-R圖的成分

在 E-R圖中有如下四個成分:

  • 矩形框:表示實體,在框中記入實體名。
  • 菱形框:表示聯絡,在框中記入聯絡名。
  • 橢圓形框:表示實體或聯絡的屬性,將屬性名記入框中。對於主屬性名,則在其名稱下劃一下劃線。
  • 連線:
    • 實體與屬性之間;
    • 實體與聯絡之間;
    • 聯絡與屬性之間。

連線用直線相連,並在直線上標註聯絡的型別。

  • 對於一對一聯絡,要在兩個實體連線方向各寫1;
  • 對於一對多聯絡,要在一的一方寫1,多的一方寫N;
  • 對於多對多關係,則要在兩個實體連線方向各寫N,M。

構成E-R圖的要素

構成 E-R圖的 3 個基本要素是:實體、屬性和聯絡。

實體

對於一個實體,我們要指明實體名和屬性名集合。比如:學生(學號,姓名,性別,所在院系,入學時間)

一般認為,客觀上可以相互區分的事物就是實體,實體可以是具體的人和物,也可以是抽象的概念與聯絡。

用實體名及其屬性名集合來抽象和刻畫同類實體。

比如:學生張三、學生李四都是實體。

屬性

一個具體事物,總是有許許多多的性質與關係,我們把一個事物的性質與關係,都叫作事物的屬性。

事物與屬性是不可分的,事物都是有屬性的事物,屬性也都是事物的屬性。這裡的事物,也可以稱為實體。

實體有屬性,聯絡也可以有屬性。

聯絡有屬性,這種情況多出現在多對多聯絡中,例如:學生「 選修」 某門課程所取得的成績,既不是學生的屬性也不是課程的屬性。由於「 成績」 既依賴於某名特定的學生又依賴於某門特定的課程,所以成績是學生與課程之間的聯絡「 選修」的屬性。

聯絡

聯絡也稱關係,資訊世界中反映實體內部或實體之間的關聯。

  • 實體內部的聯絡通常是指:組成實體的各屬性之間的聯絡;
  • 實體之間的聯絡通常是指:不同實體集合之間的聯絡。

實體不會是單獨存在的,實體和其他的實體之間存在著聯絡。比如:

  • 老師 和 學生:老師給學生授課,存在授課關係;
  • 學生 和 課程:學生選課,存在選課關係。

一般性約束

實體-聯絡資料模型中的聯絡,存在 3 種一般性約束:一對一約束(聯絡)、一對多約束(聯絡)和多對多約束(聯絡),這 3 種一般性約束用來描述實體集合之間的數量約束。

一對一聯絡(1∶1)

對於實體集合 A 和實體集合 B,若 A 中的每一個值在 B 中至多有一個實體值與之對應,反之亦然,則稱實體集 A 和 B 具有一對一的聯絡。

反之亦然的意思是:若 B 中的每一個值在 A 中至多有一個實體值與之對應。

一個學校只有一個正校長,而一個校長只在一個學校中任職,我們就說:學校與校長之間具有一對一聯絡。

  • 實體集合 A:{校長1,校長2,校長3,校長4....}
  • 實體集合 B:{學校1,學校2,學校3,學校3....}

一對多聯絡(1∶N)

對於實體集合 A 和實體集合 B,若 A 中的每一個值在 B 中有多個實體值與之對應,反之 B 中每一個實體值在 A 中至多有一個實體值與之對應,則稱實體集 A 和 B 具有一對多的聯絡。

存在一對多聯絡的例子:

  • 教師與課程之間存在一對多的聯絡「教」,一位教師可以教多門課程,但是一門課程只能由一位教師來教。
  • 專業與學生之間存在一對多的聯絡,一個專業中可以有多名學生,但一名學生只能對應一個專業。

多對多聯絡(M∶N)

對於實體集合 A 和實體集合 B,若 A 中每一個實體值在 B 中有多個實體值與之對應,反之亦然,則稱實體集 A 與實體集 B 具有多對多聯絡。

反之亦然的意思是:若 B 中每一個實體值在 A 中有多個實體值與之對應。

存在多對多聯絡的例子:

  • 學生與課程之間存在多對多的聯絡,一名學生可以學多門課程,並且一門課程可以有多名學生來學。

聯絡是隨著資料庫語意而改變的,假如有如下 3 種語意規定,則有不同的聯絡:

  • 規定一個部門只能有一個經理,一個員工只能是一個部門的經理。在這種規定下,經理與部門之間的「管理」聯絡是一對一的。(一個經理只能管理一個部門,一個部門只能被一個經理管理)
  • 規定一個部門只能有一個經理,但一個員工可以是多個部門的經理。在這種規定下,經理與部門之間的「管理」聯絡是一對多的。(一個經理能管理多個部門,一個部門只能被一個經理管理)
  • 規定一個部門可以有多個經理,並且一個員工可以是多個部門的經理。在這種規定下,經理與部門之間的「管理」聯絡是多對多的。(一個經理能管理多個部門,一個部門能被多個經理管理)

作E-R圖的步驟

  1. 確定所有的實體;
  2. 確定實體應該包含的屬性;
  3. 確定實體之間的聯絡;
  4. 確定實體的關鍵字,用下劃線在屬性上標明關鍵字的屬性組合;
  5. 確定聯絡的型別,並在旁邊標註好是 1 還是 n。

關鍵字可以理解為主鍵,用來唯一標識一行記錄。

關鍵字可以由一個屬性構成,也可以由多個屬性構成。