點擊菜單“File”---->“New Model”
點擊【OK】按鈕后,將進入如下的畫面
系統將出現一個工具欄如下,用於在設計面板中設計模型
單擊Entity圖標,然后在主面板中單擊一次便可添加一個實體
切換回一般鼠標模式,雙擊已經添加的實體,彈出設置屬性的對話框
在General選項卡中可以設置實體的Name和Code等屬性,如下圖所示:Code是實體在數據庫中的實際名稱,一般用英文,Name是顯示的名稱,一般用中文,方便理解
切換到Attributes選項卡可以添加實體的屬性
設置完成之后如下圖所示
關系
關系用於表示一個實體與另一個實體之間的對應關系,分為“一對一(1:1),一對多(1:n),多對一(n:1),多對多(m:n)”4種對應關系,一對多和多對一其實就是方向相反,所以實際上就是一對一,一對多,多對多。最常用的就是“一對多(1:n)”,比如公司實體和員工實體就是一對多關系,一個公司有多名員工,而一名員工只會屬於一個公司,再比如班級實體和學生實體就是一對多關系,一個班級有多個學生,一個學生只會屬於一個班級。
在設計面板中添加一個班級(Class)實體,然后建立班級實體和學生實體的“一對多”關聯關系,如下圖所示:
系統默認會給該關系命名為Relationship_1,切換到鼠標指針模式,雙擊Relationship_1,即可打開關系的屬性窗口,如下圖所示:
切換到Cardinalities選項卡,如下圖所示:
這里可以修改是一對多還是多對多之類的關系,Role name是設置在模型中顯示的文字,沒有多大的意義,多的一方有0,n和1,n兩種,也就是說,一個班級可以對應多個學生,那么一個班級中最少是沒有學生還是要至少存在一個學生,同意的一的一方有0,1和1,1兩種,就是說一個學生可以不屬於任何班級呢還是必須屬於某一個存在的班級,而現實生活中比較符合常理的應該是“一個班級中至少存在一個學生,學生必須屬於某一個存在的班級”,所以這里都選至少是1,所以最終的設置界面如圖:
最終生成的E-R圖如下:
繼承
在概念模型中的繼承與OO模型中的繼承是同一回事,就是要抽象出一個實體,其他實體,其他實體繼承該實體后就擁有該實體的屬性。
以選課系統為例子,現在有學生實體,有教師實體,其實他們都是人,具有人的屬性,所以我們可以抽象出一個人的實體,人具有性別,生日,名字,年齡等屬性,教師具有職稱、工號等屬性,這是學生沒有的,所以不能放在人實體中,學生具有學號屬性是教師沒有的。
在概念模型中創建具有繼承關系的E-R圖之前,首先要開啟工具欄上被禁用掉的三個圖標,如下圖所示:
關於如何開啟工具欄上被禁用掉的三個圖標,參考"開啟PowerDesigner15工具欄上的被禁用掉的圖標"
在概念模型中創建具有繼承關系的E-R圖
這里的繼承只是概念模型,在DBMS中是沒有繼承這種說法的,所以在邏輯模型和物理模型中,系統就會將繼承轉換為實際的實體和表,這里只是概念模型,所以才有繼承的說法。
關聯(Association)
Association也是一種實體間的連接,在Merise模型方法學理論中,Association是一種用於連接分別代表明確定義的對象的不同實體,這種連接僅僅通過另一個實體不能很明確地表達,而通過“事件(Event)”連接來表示。也就是說,實體和實體之間存在着關系(多對多),但是這種關系還存在其他的屬性,這些屬性如果作為一個明確的實體來表示又不合適,所以就使用了Association來表達,這種關系之間一般是一個“事件”虛實體,也就是說是一個動詞對應的實體。
以實際的例子來說明:現在有了學生實體,有課程實體,一個學生可以選擇多門課程,一門課程也可以被多個學生選擇來學習,所以學生和課程之間就存在一個“選課”的Association,Association記錄了學生選課的時間,選課的狀態;一個學生會對應多個選課結果選擇多門課程,,一門課程對應多個選課學生選課,所以“學生實體”和“課程實體”與“選課”的關系都是“一對多”,添加關聯連接,一門課程可能太枯燥了,沒有學生來選,所以“課程”對應“選課”可能是0,n的關系,一個學生可能學分夠了這學期一門課都不選,所以“學生”對應“選課”也可能是0,n的關系,所以最終形成的概念模型如下圖所示: