1. 程式人生 > >實體-聯絡圖(ER圖)

實體-聯絡圖(ER圖)

我們通常用實體、聯絡和屬性這三個概念來理解現實問題,因此ER模型比較接近人的思維方式。此外,ER模型用簡單的圖形符號表達系統分析員對問題域的理解,不熟悉計算機技術的使用者也能理解它,因此,ER模型可以作為使用者與分析員之間有效的交流工具。

一、ER模型

ER模型中包含3鐘相互關聯的資訊:資料物件、資料物件的屬性及資料物件彼此之間相互連線的關係。

1.資料物件

資料物件是對軟體必須理解的複合資訊的抽象。所謂符合資訊是指具有一系列不同性質或屬性的事物,僅有單個值得事物(例如,寬度)不是資料物件。資料物件可以是外部實體(例如,產生或使用資訊的任何事物)、事物(例如,報表)、行為(例如,打電話)、事件(例如,響警報)、角色(例如,教師、學生)、單位(例如,會計科)、地點(例如,倉庫)或結構(例如檔案)等。總之,可以由一組屬性來定義的實體都可以被認為是資料物件。
資料物件彼此間是有關聯的,例如,教師“教”課程,學生“學”課程。教或學的關係表示教師和課程或課程之間的一種特定的連線。
資料物件只封裝了資料而沒有對施加於資料上的操作的引用,這是資料物件與面向物件範型中的“類”或“物件”的顯著區別。

2.屬性

屬性定義了資料物件的性質。必須把一個或多個屬性定義為“識別符號”,也就是說,當人們希望找到資料物件的一個例項時,用標識屬性作為“關鍵字”(通常簡稱為“鍵”)。
應該根據對所要解決的問題的理解,來確定特定資料物件的一組合適的屬性。例如,為了開發機動車管理系統,描述汽車的屬性應該是生產廠、品牌、型號、發動機號碼、車體型別、顏色、車主姓名、住址、駕駛證號碼、生產日期及購買日期等。但是,為了開發設計汽車的CAD系統,用上述這些屬性描述汽車就不合適了,其中車主姓名、住址、駕駛證號碼、生產日期和購買日期等屬性應該刪去,而描述汽車技術指標的大量屬性應該新增進來。

3.聯絡

客觀世界中的事物彼此間往往是有聯絡的。例如,教師與課程漸存在“教”這種聯絡,而學生與課程間則存在“學”這種聯絡。
資料物件彼此之間相互連線的方式稱為聯絡,也稱為關係。聯絡可分為以下3種類型。
•一對一聯絡(1:1)
    例如,一個部門有一個經理,而每個經理只在一個部門任職,則部門與經理的聯絡是一對一的。
•一對多聯絡(1:N)
   例如,某校教師與課程之間存在一對多的聯絡“教”,即每位教師可以教多門課程,但是每門課程只能由一位教師來教。
•多對多聯絡(M:N)
    例如,學生與課程間的聯絡(“學”)是多對多的,即一個學生可以學多門課程,而每門課程可以有多個學生來學。

聯絡也可能有屬性。例如,學生“學”某門課程所取得的成績,既不是學生的屬性也不是課程的屬性。由於“成績”既依賴於某名特定的學生又依賴於某門特定的課程,所以它是學生與課程之間的聯絡“學”的屬性。

 

二、如何畫ER圖

1.要素表示

2.畫圖步驟

  • 首先確定這個模組有哪幾個核心的物件以及具體有哪些特徵,
  • 其次思考這些物件之間的關係,如何相互轉變。
  • 最後把他們用ER圖的方法表述出來。
  • 當然需要儘量精簡實體以及優化屬性

3.畫圖工具

Mircosoft Office VISO2013、億圖圖示等

4.示例

假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任一門課的教學,一門課由若干教師任教。“學生”有屬性:學號、姓名、地址、年齡、性別。“教師”有屬性:職工號、教師姓名、職稱,“課程”有屬性:課程號、課程名。