天天看點

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

概念模型

将需求分析得到的使用者需求抽象為資訊結構(即概念模型)的過程就是概念結構設計。

特點:

  1. 能真實、充分地反映現實世界,是現實世界的一個真實模型。
  2. 易于了解,進而可以用它和不熟悉計算機的使用者交換意見。
  3. 易于更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充。
  4. 易于向關系、網狀、層次等各種資料模型轉換

E-R模型

E-R圖提供了表示實體型、屬性和聯系的方法

實體型:用矩形表示,矩形框内寫明實體名。

屬性:用橢圓形表示,并用無向邊将其與相應的實體型連接配接起來。

聯系:用菱形表示,菱形框内寫明聯系名,并用無向邊分别與有關實體型連接配接起來,同時在無向邊旁标上聯系的類型(1∶1,1∶n或m∶n)。(聯系可以具有屬性)。

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

兩實體型之間的聯系可以分為:

  • ①一對一聯系(1∶1)

如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1∶1。

  • ②一對多聯系(1∶n)

如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多隻有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系,記為1∶n。

  • ③多對多聯系(m∶n)

如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體集B具有多對多聯系,記為m∶n。

    兩個實體的聯系示意圖:

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

三個實體聯系示意圖:

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

單個實體型内的聯系示意圖:

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

聯系的度:參與聯系的實體型的數目

  • 2個實體型之間的聯系度為2,也稱為二進制聯系;
  • 3個實體型之間的聯系度為3,稱為三元聯系;
  • N個實體型之間的聯系度為N,也稱為N元聯系

eg:某個工廠物資管理的概念模型。物資管理涉及的實體及屬性有:

  • 倉庫屬性有:倉庫号、面積、電話号碼
  • 零件屬性有:零件号、名稱、規格、單價、描述
  • 供應商屬性有:供應商号、姓名、位址、電話号碼、賬号
  • 項目屬性有:項目号、預算、開工日期
  • 職工屬性有:職工号、姓名、年齡、職稱
資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

實體之間的聯系有:

  1.  一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中,是以倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。
  2. 一個倉庫有多個職工當倉庫保管員,一個職工隻能在一個倉庫工作,是以倉庫和職工之間是一對多的聯系。
  3. 職工之間具有上司與被上司關系。即倉庫主任上司若幹保管員,是以職工實體型中具有一對多的聯系。
  4. 供應商、項目和零件三者之間具有多對多的聯系。即一個供應商可以供給若幹項目多種零件,每個項目可以使用不同供應商供應的零件,每種零件可由不同供應商供給。
資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計
資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

概念結構設計

為了簡化E-R圖的處置,現實世界的事物能作為屬性對待的,盡量作為屬性對待。

原則:

  1. 作為屬性,不能再具有需要描述的性質。屬性必須是不可分的資料項,不能包含其他屬性。  
  2. 屬性不能與其他實體具有聯系,即E-R圖中所表示的聯系是實體之間的聯系。

例子:在醫院中,一個病人隻能住在一個病房,病房号可以作為病人實體的一個屬性;    

如果病房還要與醫生實體發生聯系,即一個醫生負責幾個病房的病人的醫療工作,則根據準則(2) 病房應作為一個實體。

資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

分E-R圖的內建

分E-R圖的內建一般需要分兩步  

  1. 合并。解決各分E-R圖之間的沖突,将分E-R圖合并起來生成初步E-R圖。  
  2. 修改和重構。消除不必要的備援,生成基本E-R圖。
資料庫設計----概念結構設計(概念模型、E—R模型、概念結構設計)概念模型E-R模型概念結構設計

消除沖突

E-R圖之間的沖突主要有三類:

  • 屬性沖突

屬性域沖突,即屬性值的類型、取值範圍或取值集合不同。

  • 命名沖突
  1. 同名異義,即不同意義的對象在不同的局部應用中具有相同的名字。
  2. 異名同義(一義多名),即同一意義的對象在不同的局部應用中具有不同的名字。
  • 結構沖突
  1. 同一對象在不同應用中具有不同的抽象。
  2. 同一實體在不同分E-R圖中所包含的屬性個數和屬性排列次序不完全相同。
  3. 實體間的聯系在不同的E-R圖中為不同的類型。

消除不必要的備援

  • 所謂備援的資料是指可由基本資料導出的資料,備援的聯系是指可由其他聯系導出的聯系。
  • 消除備援主要采用分析方法,即以資料字典和資料流圖為依據,根據資料字典中關于資料項之間邏輯關系的說明來消除備援。
  • 并不是所有的備援資料與備援聯系都必須加以消除,有時為了提高效率,不得不以備援資訊作為代價。