使用PowerDesigner畫ER圖詳細教程

一、概念數(shù)據(jù)模型概述
數(shù)據(jù)模型是現(xiàn)實世界中數(shù)據(jù)特征的抽象块促。數(shù)據(jù)模型應(yīng)該滿足三個方面的要求:
1)能夠比較真實地模擬現(xiàn)實世界
2)容易為人所理解
3)便于計算機實現(xiàn)

概念數(shù)據(jù)模型也稱信息模型冕杠,它以實體-聯(lián)系(Entity-RelationShip,簡稱E-R)理論為基礎(chǔ),并對這一理論進行了擴充。它從用戶的觀點出發(fā)對信息進行建模畏邢,主要用于數(shù)據(jù)庫的概念級設(shè)計。

通 常人們先將現(xiàn)實世界抽象為概念世界检吆,然后再將概念世界轉(zhuǎn)為機器世界舒萎。換句話說,就是先將現(xiàn)實世界中的客觀對象抽象為實體(Entity)和聯(lián)系 (Relationship),它并不依賴于具體的計算機系統(tǒng)或某個DBMS系統(tǒng)蹭沛,這種模型就是我們所說的CDM;然后再將CDM轉(zhuǎn)換為計算機上某個 DBMS所支持的數(shù)據(jù)模型臂寝,這樣的模型就是物理數(shù)據(jù)模型,即PDM。

CDM是一組嚴格定義的模型元素的集合摊灭,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性咆贬、動態(tài)特性以及完整性約束條件等,其中包括了數(shù)據(jù)結(jié)構(gòu)斟或、數(shù)據(jù)操作和完整性約束三部分素征。
1)數(shù)據(jù)結(jié)構(gòu)表達為實體和屬性;
2)數(shù)據(jù)操作表達為實體中的記錄的插入、刪除、修改御毅、查詢等操作;
3)完整性約束表達為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型根欧、檢查、規(guī)則等)和數(shù)據(jù)間的參照完整性約束(如聯(lián)系端蛆、繼承聯(lián)系等);

二凤粗、實體、屬性及標識符的定義
實體(Entity)今豆,也稱為實例嫌拣,對應(yīng)現(xiàn)實世界中可區(qū)別于其他對象的“事件”或“事物”。例如呆躲,學(xué)校中的每個學(xué)生异逐,醫(yī)院中的每個手術(shù)。
每個實體都有用來描述實體特征的一組性質(zhì)插掂,稱之為屬性灰瞻,一個實體由若干個屬性來描述。如學(xué)生實體可由學(xué)號辅甥、姓名酝润、性別、出生年月璃弄、所在系別要销、入學(xué)年份等屬性組成。

實體集(Entity Set)是具體相同類型及相同性質(zhì)實體的集合夏块。例如學(xué)校所有學(xué)生的集合可定義為“學(xué)生”實體集疏咐,“學(xué)生”實體集中的每個實體均具有學(xué)號、姓名拨扶、性別凳鬓、出生年月、所在系別患民、入學(xué)年份等性質(zhì)缩举。

實體類型(Entity Type)是實體集中每個實體所具有的共同性質(zhì)的集合,例如“患者”實體類型為:患者{門診號匹颤,姓名仅孩,性別,年齡印蓖,身份證號.............}辽慕。實體是實體類型的一個實例,在含義明確的情況下赦肃,實體溅蛉、實體類型通彻耍互換使用。

實體類型中的每個實體包含唯一標識它的一個或一組屬性船侧,這些屬性稱為實體類型的標識符(Identifier)欠气,如“學(xué)號”是學(xué)生實體類型的標識符,“姓名”镜撩、“出生日期”预柒、“信址”共同組成“公民”實體類型的標識符。

有些實體類型可以有幾組屬性充當(dāng)標識符袁梗,選定其中一組屬性作為實體類型的主標識符宜鸯,其他的作為次標識符。

三遮怜、實體淋袖、屬性及標識符的表達
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

介紹PowerDesigner概念數(shù)據(jù)模型以及實體、屬性創(chuàng)建锯梁。

一适贸、新建概念數(shù)據(jù)模型
1)選擇File-->New,彈出如圖所示對話框,選擇CDM模型(即概念數(shù)據(jù)模型)建立模型涝桅。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

2)完成概念數(shù)據(jù)模型的創(chuàng)建。以下圖示烙样,對當(dāng)前的工作空間進行簡單介紹冯遂。(以后再更詳細說明)
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

3) 選擇新增的CDM模型,右擊谒获,在彈出的菜單中選擇“Properties”屬性項蛤肌,彈出如圖所示對話框。在“General”標簽里可以輸入所建模型的名 稱批狱、代碼裸准、描述、創(chuàng)建者赔硫、版本以及默認的圖表等等信息炒俱。在“Notes”標簽里可以輸入相關(guān)描述及說明信息。當(dāng)然再有更多的標簽爪膊,可以點擊 "More>>"按鈕权悟,這里就不再進行詳細解釋。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

二推盛、創(chuàng)建新實體
1)在CDM的圖形窗口中峦阁,單擊工具選項版上的Entity工具,再單擊圖形窗口的空白處耘成,在單擊的位置就出現(xiàn)一個實體符號榔昔。點擊Pointer工具或右擊鼠標驹闰,釋放Entitiy工具。如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
2)雙擊剛創(chuàng)建的實體符號撒会,打開下列圖標窗口嘹朗,在此窗口“General”標簽中可以輸入實體的名稱、代碼茧彤、描述等信息骡显。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

三、添加實體屬性
1)在上述窗口的“Attribute”選項標簽上可以添加屬性曾掂,如下圖所示惫谤。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

注意:
數(shù)據(jù)項中的“添加屬性”和“重用已有數(shù)據(jù)項”這兩項功能與模型中Data Item的Unique code 和Allow reuse選項有關(guān)。
P列表示該屬性是否為主標識符;D列表示該屬性是否在圖形窗口中顯示;M列表示該屬性是否為強制的珠洗,即該列是否為空值溜歪。

如果一個實體屬性為強制的,那么许蓖, 這個屬性在每條記錄中都必須被賦值蝴猪,不能為空。

2)在上圖所示窗口中膊爪,點擊插入屬性按鈕自阱,彈出屬性對話框,如下圖所示米酬。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
注意:這里涉及到域的概念沛豌,即一種標準的數(shù)據(jù)結(jié)構(gòu),它可應(yīng)用至數(shù)據(jù)項或?qū)嶓w的屬性上

一赃额、定義屬性的標準檢查約束
標準檢查約束是一組確保屬性有效的表達式加派。在實體屬性的特性窗口,打開如圖所示的檢查選項卡跳芳。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

在這個選項卡可以定義屬性的標準檢查約束芍锦,窗口中每項的參數(shù)的含義,如下
參 數(shù)說明Minimum屬性可接受的最小數(shù)Maximum 屬性可接受的最大數(shù)Default屬性不賦值時飞盆,系統(tǒng)提供的默認值Unit單位娄琉,如公里、噸桨啃、元Format屬性的數(shù)據(jù)顯示格式Lowercase屬性的 賦值全部變?yōu)樾懽帜窾ppercase屬性的賦值全部變?yōu)榇髮懽帜窩annot modify該屬性一旦賦值不能再修改List Of Values屬性賦值列表车胡,除列表中的值,不能有其他的值Label屬性列表值的標簽
二照瘾、定義屬性的附加檢查
當(dāng)Standard checks 或Rules 不能滿足檢查的要求時匈棘,可以在Additional Checks選項卡的Server子頁上,通過SQL語句中使用%MINMAX%析命、%LISTVAL%主卫、%RULES%逃默、%UPPER%、%LOWER% 幾個變量來定義Standard和Rule,如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

%MINMAX%簇搅、%LISTVAL%完域、%UPPER%、%LOWER%
在Standard Check中定義的Minimum 和Maximum瘩将、List values 吟税、uppervalues、lowervalues

%RULES%
在Rules特性窗口Expression選項卡中定義的有效性規(guī)則表達式

一姿现、標識符
標識符是實體中一個或多個屬性的集合肠仪,可用來唯一標識實體中的一個實例。要強調(diào)的是备典,CDM中的標識符等價于PDM中的主鍵或候選鍵异旧。
每個實體都必須至少有一個標識符。如果實體只有一個標識符提佣,則它為實體的主標識符吮蛹。如果實體有多個標識符,則其中一個被指定為主標識符拌屏,其余的標識符就是次標識符了潮针。

二、如果定義主倚喂、次標識符
1)選擇某個實體雙擊彈出實體的屬性對話框然低。在Identifiers選項卡上可以進行實體標識符的定義。如下圖所示

【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

2)選擇第一行“主標識符”务唐,點擊屬性按鈕或雙擊第一行“主標識符”,彈出屬性對話框带兜,如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
3)選擇"Attributes"選項卡枫笛,再點擊“Add Attributes”工具,彈出如圖所示窗口刚照,選擇某個屬性作為標識符就行了刑巧。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

一、數(shù)據(jù)項
數(shù)據(jù)項(Data Item)是信息存儲的最小單位无畔,它可以附加在實體上作為實體的屬性啊楚。
注意:模型中允許存在沒有附加至任何實體上的數(shù)據(jù)項。

二浑彰、新建數(shù)據(jù)項
1)使用“Model”---> Data Items 菜單恭理,在打開的窗口中顯示已有的數(shù)據(jù)項的列表,點擊 “Add a Row”按鈕郭变,創(chuàng)建一個新數(shù)據(jù)項颜价,如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

2)當(dāng)然您可以繼續(xù)設(shè)置具體數(shù)據(jù)項的Code涯保、DataType、Length等等信息周伦。這里就不再詳細說明了夕春。

三、數(shù)據(jù)項的唯一性代碼選項和重用選項
使用Tools--->Model Options->Model Settings专挪。在Data Item組框中定義數(shù)據(jù)項的唯一性代碼選項(Unique Code)與重用選項(Allow Reuse)及志。
注意:
如果選擇Unique Code復(fù)選框 ,每個數(shù)據(jù)項在同一個命名空間有唯一的代碼寨腔,而選擇Allow reuse 速侈,一個數(shù)據(jù)項可以充當(dāng)多個實體的屬性。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

四脆侮、在實體中添加數(shù)據(jù)項
1)雙擊一個實體符號锌畸,打開該實體的屬性窗口。
2)單擊Attributes選項卡靖避,打開如下圖所示窗口
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

注意:
Add a DataItem 與 Reuse a DataItem的區(qū)別在于
Add a DataItem 情況下潭枣,選擇一個已經(jīng)存在的數(shù)據(jù)項,系統(tǒng)會自動復(fù)制所選擇的數(shù)據(jù)項幻捏。如果您設(shè)置了UniqueCode選項盆犁,那系統(tǒng)在復(fù)制過程中,新數(shù)據(jù)項的Code會自動生成一個唯一的號碼篡九,否則與所選擇的數(shù)據(jù)項完全一致。

Reuse a DataItem情況下伊佃,只引用不新增沛善,就是引用那些已經(jīng)存在的數(shù)據(jù)項航揉,作為新實體的數(shù)據(jù)項

一、 聯(lián)系
聯(lián)系(Relationship)是指實體集之間或?qū)嶓w集內(nèi)部實例之間的連接金刁。

實體之間可以通過聯(lián)系來相互關(guān)聯(lián)。與實體和實體集對應(yīng)媳友,聯(lián)系也可以分為聯(lián)系和聯(lián)系集,聯(lián)系集是實體集之間的聯(lián)系产捞,聯(lián)系是實體之間的聯(lián)系醇锚,聯(lián)系是具有方向性的。聯(lián)系和聯(lián)系集在含義明確的情況之下均可稱為聯(lián)系搂抒。

按照實體類型中實例之間的數(shù)量對應(yīng)關(guān)系,通逞娴瘢可將聯(lián)系分為4類芳杏,即一對一(ONE TO ONE)聯(lián)系、一對多(ONE TO MANY)聯(lián)系爵赵、多對一(MANY TO ONE)聯(lián)系和多對多聯(lián)系(MANY TO MANY)。

二烁峭、 建立聯(lián)系
在CDM工具選項板中除了公共的工具外秕铛,還包括如下圖所示的其它對象產(chǎn)生工具。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
在圖形窗口中創(chuàng)建兩個實體后鬓梅,單擊“實體間建立聯(lián)系”工具谨湘,單擊一個實體,在按下鼠標左鍵的同時把光標拖至別一個實體上并釋放鼠標左鍵坊罢,這樣就在兩個實體間創(chuàng)建了聯(lián)系擅耽,右鍵單擊圖形窗口,釋放Relationship工具。如下圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

三挎挖、 四種基本的聯(lián)系
即一對一(ONE TO ONE)聯(lián)系蕉朵、一對多(ONE TO MANY)聯(lián)系、多對一(MANY TO ONE)聯(lián)系和多對多聯(lián)系(MANY TO MANY)始衅。如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
四缭保、 其他幾類特殊聯(lián)系

除了4種基本的聯(lián)系之外蝙茶,實體集與實體集之間還存在標定聯(lián)系(Identify Relationship)隆夯、非標定聯(lián)系(Non-Identify RelationShip)和遞歸聯(lián)系(Recursive Relationship)。

標定聯(lián)系:
每個實體類型都有自己的標識符蹄衷,如果兩個實體集之間發(fā)生聯(lián)系,其中一個實體類型的標識符進入另一個實體類型并與該實體類型中的標識符共同組成其標識符時愧口,這種聯(lián)系則稱為標定聯(lián)系,也叫依賴聯(lián)系托嚣。反之稱為非標定聯(lián)系恬涧,也叫非依賴聯(lián)系。
注意:
在 非標定聯(lián)系中丑搔,一個實體集中的部分實例依賴于另一個實例集中的實例提揍,在這種依賴聯(lián)系中,每個實體必須至少有一個標識符谎仲。而在標定聯(lián)系中刨仑,一個實體集中的全 部實例完全依賴于另個實體集中的實例,在這種依賴聯(lián)系中一個實體必須至少有一個標識符辙诞,而另一個實體卻可以沒有自己的標識符轻抱。沒有標識符的實體用它所依賴 的實體的標識符作為自己的標識符。

換句話來理解较店,在標定聯(lián)系中,一個實體(選課)依賴 一個實體(學(xué)生)婚度,那么(學(xué)生)實體必須至少有一個標識符捧杉,而(選課)實體可以沒有自己的標識符,沒有標標識符的實體可以用實體(學(xué)生)的標識符作為自己的標識符评甜。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

遞歸聯(lián)系:
遞歸聯(lián)系是實體集內(nèi)部實例之間的一種聯(lián)系仔涩,通常形象地稱為自反聯(lián)系。同一實體類型中不同實體集之間的聯(lián)系也稱為遞歸聯(lián)系佩研。

例 如:在“職工”實體集中存在很多的職工霞揉,這些職工之間必須存在一種領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的關(guān)系适秩。又如“學(xué)生”實體信中的實體包含“班長”子實體集與“普通學(xué)生”子 實體集,這兩個子實體集之間的聯(lián)系就是一種遞歸聯(lián)系骤公。創(chuàng)建遞歸聯(lián)系時扬跋,只需要單擊“實體間建立聯(lián)系”工具從實體的一部分拖至該實體的別一個部分即可。如圖
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

五洒试、 定義聯(lián)系的特性

在兩個實體間建立了聯(lián)系后朴上,雙擊聯(lián)系線,打開聯(lián)系特性窗口,如圖所示酵镜。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

六、 定義聯(lián)系的角色名
在聯(lián)系的兩個方向上各自包含有一個分組框垢粮,其中的參數(shù)只對這個方向起作用靠粪,Role Name為角色名,描述該方向聯(lián)系的作用昔善,一般用一個動詞或動賓組表畔乙。
如:“學(xué)生 to 課目 ” 組框中應(yīng)該填寫“擁有”牲距,而在“課目To 學(xué)生”組框中填寫“屬于”。(在此只是舉例說明牍鞠,可能有些用詞不太合理)难述。
七、 定義聯(lián)系的強制性
Mandatory 表洋這個方向聯(lián)系的強制關(guān)系硫眯。選中這個復(fù)選框择同,則在聯(lián)系線上產(chǎn)生一個聯(lián)系線垂直的豎線。不選擇這個復(fù)選框則表示聯(lián)系這個方向上是可選的裹纳,在聯(lián)系線上產(chǎn)生一個小圓圈紧武。

八、 有關(guān)聯(lián)系的基數(shù)
聯(lián)系具有方向性朋鞍,每個方向上都有一個基數(shù)。

舉例更舞,
“系” 與“學(xué)生”兩個實體之間的聯(lián)系是一對多聯(lián)系坎吻,換句話說“學(xué)生”和“系”之間的聯(lián)系是多對一聯(lián)系瘦真。而且一個學(xué)生必須屬于一個系,并且只能屬于一個系原杂,不能屬 于零個系弦讽,所以從“學(xué)生”實體至“系”實體的基數(shù)為“1,1”,從聯(lián)系的另一方向考慮被碗,一個系可以擁有多個學(xué)生仿村,也可以沒有任何學(xué)生蔼囊,即零個學(xué)生,所以該 方向聯(lián)系的基數(shù)就為“0,n”,如圖所示
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
CDM 是大多數(shù)開發(fā)者使用PD時最先創(chuàng)建的模型酱酬,也是整個數(shù)據(jù)庫設(shè)計最高層的抽象云矫。CDM是建立在傳統(tǒng)的ER圖模型理論之上的,ER圖中有三大主要元素:實體 型挑社,屬性和聯(lián)系巡揍。其中實體型對應(yīng)到CDM中的Entity,屬性對應(yīng)到CDM中每個Entity的Attribute阱当,在概念上基本上是一一對應(yīng)的弊添。但在 聯(lián)系上,CDM有了比較大的擴展,除了保留ER圖原有的RelationShip概念之外钮莲,還增加了Association崔拥,Inheritance兩種 實體關(guān)系,下面就讓我們分別看看這些關(guān)系的用法和之間的區(qū)別(下圖中被標紅的工具欄按鈕就是用來向?qū)嶓w中添加這些關(guān)系的)链瓦。
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
另外,在介紹所有這些CDM中的元素之前渤刃,筆者先給出一個很簡單的CDM圖贴膘,是對我們最最熟悉的學(xué)校場景的一個建模,下文中提到的所有概念在圖中都有體現(xiàn)洋闽,大家在看下文的時候可以對照著來看:
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程

一. RelationShip(聯(lián)系)
先 給出PD手冊里對聯(lián)系的定義:“A relationship is a link between entities. For example, in a CDM that manages human resources, the relationship Member links the entities Employee and Team, because employees can be members of teams. This relationship expresses that each employee works in a team and that each team has employees.” 可見诫舅,也許聯(lián)系的概念真的太簡單了吧宫患,所以反而不那么好表述,所以PD的文檔里也是用一個例子來說明出現(xiàn)了什么樣的情況我們就認為兩個實體間是有聯(lián)系的俏讹。
當(dāng) 我們提起實體間聯(lián)系的時候畜吊,最先想到的恐怕是one to one玲献,one to many 和many to many這三種聯(lián)系類型梯浪,這些聯(lián)系類型也是大家最熟悉的瓢娜。筆者對ER圖原本的概念并不精通眠砾,但在CDM中,聯(lián)系還有另外三個可以設(shè)置的屬 性:mandatory(強制性聯(lián)系), dependent(依賴性聯(lián)系/標定關(guān)聯(lián)) 和dominant(統(tǒng)制聯(lián)系)柒巫。這些屬性對后面PDM的生成都有比較大的影響谷丸,需要我們一一有所了解。它們都是在聯(lián)系的屬性控制面板中設(shè)定的泉唁,見下圖:
【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
1.mandatory
聯(lián) 系是否具有強制性亭畜,指的是實體間是不是一定會出現(xiàn)這種聯(lián)系迎卤;或者換句話說,當(dāng)我們在談及一個聯(lián)系的應(yīng)用場景的時候宝踪,聯(lián)系對應(yīng)的那兩個實體型的實體實例的個 數(shù)可不可能為零碍扔。也許這樣的解釋還是有點抽象不同,讓我們舉兩個聯(lián)系的例子,一個是對兩邊的實體都有強制性的服鹅,另一個則不然百新。
(1)教師--學(xué)生 聯(lián)系
這個聯(lián)系首先是一個多對多聯(lián)系,因為每個老師可以教多個學(xué)生仗哨,每個學(xué)生也都有多個老師來負責(zé)他們的學(xué)業(yè)。同時萨醒,這個聯(lián)系對教師和學(xué)生都是強制性的,也就是說园担,不存在任何一個老師胜嗓,他不負責(zé)任何一個學(xué)生的教學(xué)钩乍;也不存在任何一個學(xué)生寥粹,他沒有任何一個任課老師埃元。
(2)學(xué)生--俱樂部 聯(lián)系
這個聯(lián)系也是一個多對多關(guān)系,但它對學(xué)生這個實體型而言就不是強制的(Optional,可選的)阔拳。每個俱樂部都有至少一個學(xué)生參加糊肠,但并不是每個學(xué)生都要去參加俱樂部的活動遗锣。完全可以有一些學(xué)生,他們什么俱樂部都沒參加弧圆。
上 面的例子主要是從概念的角度來區(qū)分了mandatory和optional的區(qū)別笔咽。實際上如果把這個模型對應(yīng)到我們最后生成的表叶组,如果A-B間的聯(lián)系對A 是mandatory的話,那么如果在A里面如果包含B的外鍵勿锅,這個外鍵不能為空值,反之可以為空值垮刹。后面我們談到PDM和實際數(shù)據(jù)庫的時候张弛,大家會看到 這一點吞鸭。
2.dependent
每一個Entity型都有自己的Identifier,如果兩個Entity型之間發(fā)生關(guān)聯(lián)時遮咖,其 中一個Entity型的Identifier進入另一個Entity型并與該 Entity型中的Identifier共同組成其Identifier時造虏,這種關(guān)聯(lián)稱為標定關(guān)聯(lián),也叫依賴性關(guān)聯(lián)(dependent relationship)漓藕。一個Entity型的Identifier進入另一個Entity型后充當(dāng)其非Identifier時,這種關(guān)聯(lián)稱為非標定 關(guān)聯(lián),也叫非依賴關(guān)聯(lián)揍诽。
概念的定義說起來還是有些拗口栗竖,說白了其實就是主-從表關(guān)系狐肢,從表要依賴于主表。比如在我們系統(tǒng)里要記錄教師休假的 情況根资,有一個實體型Holiday同窘,其屬性包括休假的開始時間和天數(shù)想邦,每次有教師休假的時候,都要在這個表留下記錄鹰椒。從我們的場景描述中可以看到,實體型 假期必須依附于實體型教師淆珊,即對于每一個假期實例奸汇,必須指向某一個教師實例擂找。
對于依賴型聯(lián)系,必須注意它不可能是一個多對多聯(lián)系听哭,在這個聯(lián)系中塘雳,必須有一個作為主體的實體型粉捻。一個dependent聯(lián)系的從實體可以沒有自己的identifier.
3.dominant
這 個聯(lián)系屬性是最為簡單的斑芜,它僅作用于一對一聯(lián)系杏头,并指明這種聯(lián)系中的主從表關(guān)系。在A,B兩個實體型的聯(lián)系中呢燥,如果A-->B被指定為 dominant寓娩,那么A為這個一對一聯(lián)系的主表棘伴,B為從表,并且在以后生成的PDM中會產(chǎn)生一個引用(如果不指定dominant屬性的話會產(chǎn)生兩個引 用)仁连。比如老師和班級之間的聯(lián)系阱穗,因為每個班級都有一個老師做班主任,每個老師也最多只能做一個班級的班主任昌抠,所以是一個一對一關(guān)系扰魂。同時,我們可以將老 師作為主表姐直,用老師的工號來唯一確定一個班主任聯(lián)系声畏。

二.Association(關(guān)聯(lián))
先來看一下PD給 association的定義:“An association is a connection between entities. In the Merise modeling methodology an association is used to connect several entities that each represents clearly defined objects, but are linked by an event, which may not be so clearly represented by another entity.”姻成。
在 上一小段提到的那些RelationShip科展,在很多情況下(特別是多對多關(guān)系中),我們會把聯(lián)系專門提出來徘跪,作為一個實體型放在兩個需要被關(guān)聯(lián)的實體型 中間(在PD中垮庐,選中任何一個聯(lián)系坞琴,在右鍵的彈出菜單中選擇“Change to Entity”命令即可完成聯(lián)系轉(zhuǎn)實體的操作)剧辐。但有的時候,把若干個實體型之間的聯(lián)系抽象為一個實體型可能不太合適护盈,這個時候你可以選擇為這些實體型建 立一個association羞酗,那么在生成PDM的時候,所有這些相關(guān)實體型的identifier都會被加入到association對應(yīng)生成的表模型 中欺嗤。所以卫枝,說白了校赤,其實association就是實體型的一種特例,用來在建模的時候更確切的表達實體間的關(guān)聯(lián)信息沾乘。在PD的文檔中舉了一個錄音帶浑测、顧 客迁央、商店三個實體型在租借錄音帶這個場景上發(fā)生關(guān)聯(lián),然后把租借定義為上述三個實體型之間的association的例子讹语,非常確切顽决。在我們的學(xué)校模型 里崇摄,我定義了家訪做為老師和學(xué)生實體型中間的一個association逐抑,在接下來產(chǎn)生的PDM中大家就可能看到這種定義所產(chǎn)生的效果屹蚊。

三.Inheritance(繼承)
這種關(guān)系在概念層面是最容易理解的了,本文就不贅述了命斧。

前面已經(jīng)介紹了CDM中關(guān)于實體間關(guān)系的主要內(nèi)容国葬,接下來我們就來看看根據(jù)這個CDM所生成的PDM是一個什么樣子:

上圖中所有標紅的部分是我們最應(yīng)該關(guān)注的內(nèi)容,因為他們都是由于我們對實體型間的關(guān)系的定義而產(chǎn)生的接奈,下面給出一些簡單的說明序宦。

  1. “師生關(guān)系”和“學(xué)生俱樂部”這兩個表是由于我們的多對多關(guān)系而產(chǎn)生的背苦。
  2. “假期”表的“工號”字段是由于我們將教師-假期關(guān)系指定為dependent而產(chǎn)生的行剂。
  3. “班級”表的“工號”字段是由于我們將教師-班級關(guān)系制定為dominant而產(chǎn)生的。
  4. “家訪”表中的“工號”和“學(xué)號”字段是由于家訪是教師和學(xué)生實體型的association而產(chǎn)生的巢价。
    另 外,記得我們在提到dominant屬性的時候說過固阁,一個沒指定dominant方向的一對一聯(lián)系將產(chǎn)生兩個引用壤躲,下面我們就把原本的CDM中的教師-班 級關(guān)系進行一個小小的修改,去掉這個relationship的dominant定義备燃,那么最終產(chǎn)生的PDM中教師表和班級表將互相包含對方的主鍵(由于 我們的班級表沒有自己的主鍵碉克,所以只能在班級表中看到多出來的列),截圖如下:
    【轉(zhuǎn)】 <wbr>使用PowerDesigner畫ER圖詳細教程
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末并齐,一起剝皮案震驚了整個濱河市漏麦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撕贞,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件测垛,死亡現(xiàn)場離奇詭異捏膨,居然都是意外死亡,警方通過查閱死者的電腦和手機食侮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門号涯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锯七,你說我怎么就攤上這事链快。” “怎么了眉尸?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵域蜗,是天一觀的道長。 經(jīng)常有香客問我霉祸,道長炉峰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任脉执,我火速辦了婚禮疼阔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘半夷。我一直安慰自己婆廊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布巫橄。 她就那樣靜靜地躺著淘邻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪湘换。 梳的紋絲不亂的頭發(fā)上宾舅,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音彩倚,去河邊找鬼筹我。 笑死,一個胖子當(dāng)著我的面吹牛帆离,可吹牛的內(nèi)容都是我干的蔬蕊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼哥谷,長吁一口氣:“原來是場噩夢啊……” “哼岸夯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起们妥,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤猜扮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后监婶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旅赢,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年压储,在試婚紗的時候發(fā)現(xiàn)自己被綠了鲜漩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片源譬。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡集惋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出踩娘,到底是詐尸還是另有隱情刮刑,我是刑警寧澤喉祭,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站雷绢,受9級特大地震影響泛烙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翘紊,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一蔽氨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帆疟,春花似錦鹉究、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柳琢,卻和暖如春绍妨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柬脸。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工他去, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倒堕。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓孤页,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涩馆。 傳聞我的和親對象是個殘疾皇子行施,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容