關於PowerDesigner的說明參考:數據庫 http://blog.csdn.net/tianlesoftware/article/details/6869279網絡
這篇主要了解一下CDM 模型及使用。數據結構
1、概念數據模型(CDM)概述Conceptual Data Model:概念數據模型,它以實體-聯繫(Entity-RelationShip, E-R)理論爲基礎,並對這一理論進行了擴充。它從用戶的觀點出發對信息進行建模,主要用於數據庫的概念級設計。
一般人們先將現實世界抽象爲概念世界,而後再將概念世界轉爲機器世界。換句話說,就是先將現實世界中的客觀對象抽象爲實體(Entity)和聯繫 (Relationship),它並不依賴於具體的計算機系統或某個DBMS系統,這種模型就是咱們所說的CDM;而後再將CDM轉換爲計算機上某個 DBMS所支持的數據模型,這樣的模型就是物理數據模型,即PDM。 CDM是一組嚴格定義的模型元素的集合,這些模型元素精確地描述了系統的靜態特性、動態特性以及完整性約束條件等,其中包括了數據結構、數據操做和完整性約束三部分。工具 1)數據結構表達爲實體和屬性;大數據 2)數據操做表達爲實體中的記錄的插入、刪除、修改、查詢等操做;this 3)完整性約束表達爲數據的自身完整性約束(如數據類型、檢查、規則等)和數據間的參照完整性約束(如聯繫、繼承聯繫等)spa
2、實體、屬性及標識符的定義2.1 實體(Entity):.net 也稱實例,對應現實世界中可區別於其餘對象的「事件」或「事物」。例如,學校中的每一個學生,醫院中的每一個手術。每一個實體都有用來描述實體特徵的一組性質,稱之爲屬性,一個實體由若干個屬性來描述。如學生實體可由學號、姓名、性別、出生年月、所在系別、入學年份等屬性組成。 2.2 實體集(EntitySet): 是具體相同類型及相同性質實體的集合。例如學校全部學生的集合可定義爲「學生」實體集,「學生」實體集中的每一個實體均具備學號、姓名、性別、出生年月、所在系別、入學年份等性質。
2.3 實體類型(EntityType): 是實體集中每一個實體所具備的共同性質的集合,例如「患者」實體類型爲:患者{門診號,姓名,性別,年齡,身份證號.............}。實體是實體類型的一個實例,在含義明確的狀況下,實體、實體類型一般互換使用。實體類型中的每一個實體包含惟一標識它的一個或一組屬性,這些屬性稱爲實體類型的標識符(Identifier),如「學號」是學生實體類型的標識符,「姓名」、「出生日期」、「信址」共同組成「公民」實體類型的標識符。有些實體類型能夠有幾組屬性充當標識符,選定其中一組屬性做爲實體類型的主標識符,其餘的做爲次標識符。
3、實體、屬性及標識符的表達
4、新建概念數據模型4.1選擇File-->New,彈出如圖所示對話框,選擇CDM模型(即概念數據模型)創建模型。
4.2 完成概念數據模型的建立。如下圖示,對當前的工做空間進行簡單介紹。 4.3 選擇新增的CDM模型,右擊,在彈出的菜單中選擇「Properties」屬性項,彈出如圖所示對話框。在「General」標籤裏能夠輸入所建模型的名稱、代碼、描述、建立者、版本以及默認的圖表等等信息。在「Notes」標籤裏能夠輸入相關描述及說明信息。固然再有更多的標籤,能夠點擊 "More>>"按鈕,這裏就再也不進行詳細解釋。 5、定義實體5.一、建立實體 1)在CDM的圖形窗口中,單擊工具選項版上的Entity工具,再單擊圖形窗口的空白處,在單擊的位置就出現一個實體符號。點擊Pointer工具或右擊鼠標,釋放Entitiy工具。如圖所示
PowerDesigner工具面板association,inheritance,association link 不可用 解決方法 http://blog.csdn.net/tianlesoftware/article/details/6870263
2)雙擊剛建立的實體符號,打開下列圖標窗口,在此窗口「General」標籤中能夠輸入實體的名稱、代碼、描述等信息。 Name:是用來在模型中標識一個實體,通常用於模型在界面中的顯示(這個能夠經過更改選項設置進行改變)。在一個模型當中,實體的名字不能重複。 Code:在模型轉化時通常做爲對象的物理名稱,好比把實體屬性的Code轉化爲數據庫中的列名。 Generate:默認是選擇狀態,若是取消,則在轉化爲其餘模型時,會忽略這個實體。
5.二、添加實體屬性 1)在上述窗口的「Attribute」選項標籤上能夠添加屬性,以下圖所示。 注意: 數據項中的「添加屬性」和「重用已有數據項」這兩項功能與模型中Data Item的Unique code 和Allow reuse選項有關。 P 列表示該屬性是否爲主標識符; D列表示該屬性是否在圖形窗口中顯示; M列表示該屬性是否爲強制的,即該列是否爲空值。
若是一個實體屬性爲強制的,那麼,這個屬性在每條記錄中都必須被賦值,不能爲空。 按「Crtl+U」呼出「定製列過濾器」的窗口,能夠根據本身的喜愛和實際須要選擇那些列出如今窗口中,那些隱藏。使用快捷鍵「Crtl+E」能夠容許或者禁止當前過濾器。
2)在上圖所示窗口中,點擊插入屬性按鈕,彈出屬性對話框,以下圖所示。
5.三、定義屬性的檢查約束 1)定義屬性的標準檢查 標準檢查約束是一組確保屬性有效的表達式。在實體屬性的特性窗口,打開如圖所示的檢查選項卡。
2)定義屬性的附加檢查 當Standard checks 或Rules 不能知足檢查的要求時,能夠在Additional Checks選項卡的Server子頁上,經過SQL語句中使用%MINMAX%、%LISTVAL%、%RULES%、%UPPER%、%LOWER% 幾個變量來定義Standard和Rule,如圖所示 %MINMAX%、%LISTVAL%、%UPPER%、%LOWER%: 在Standard Check中定義的Minimum 和Maximum、List values 、uppervalues、lowervalues 在Rules特性窗口Expression選項卡中定義的有效性規則表達式
6、標識符標識符是實體中一個或多個屬性的集合,可用來惟一標識實體中的一個實例。要強調的是,CDM中的標識符等價於PDM中的主鍵或候選鍵。每一個實體都必須至少有一個標識符。若是實體只有一個標識符,則它爲實體的主標識符。若是實體有多個標識符,則其中一個被指定爲主標識符,其他的標識符就是次標識符了。
6.一、定義主、次標識符 1)選擇某個實體雙擊彈出實體的屬性對話框。在Identifiers選項卡上能夠進行實體標識符的定義。以下圖所示 2)選擇第一行「主標識符」,點擊屬性按鈕或雙擊第一行「主標識符」,彈出屬性對話框,如圖所示
3)選擇"Attributes"選項卡,再點擊「Add Attributes」工具,彈出如圖所示窗口,選擇某個屬性做爲標識符就好了。
7、數據項數據項(Data Item)是信息存儲的最小單位,它能夠附加在實體上做爲實體的屬性。 注意:模型中容許存在沒有附加至任何實體上的數據項。
7.1 新建數據項1)使用「Model」---> Data Items 菜單,在打開的窗口中顯示已有的數據項的列表,點擊 「Add a Row」按鈕,建立一個新數據項,如圖所示
7.2 數據項的惟一性代碼選項和重用選項使用Tools--->ModelOptions->Model Settings。在Data Item組框中定義數據項的惟一性代碼選項(Unique Code)與重用選項(Allow Reuse)。 注意: 若是選擇Unique Code複選框 ,每一個數據項在同一個命名空間有惟一的代碼,而選擇Allow reuse ,一個數據項能夠充當多個實體的屬性。
7.3 在實體中添加數據項1)雙擊一個實體符號,打開該實體的屬性窗口。 Add a DataItem 狀況下,選擇一個已經存在的數據項,系統會自動複製所選擇的數據項。若是您設置了UniqueCode選項,那系統在複製過程當中,新數據項的Code會自動生成一個惟一的號碼,不然與所選擇的數據項徹底一致。 Reuse a DataItem狀況下,只引用不新增,就是引用那些已經存在的數據項,做爲新實體的數據項。
8、 聯繫聯繫(Relationship)是指實體集這間或實體集內部實例之間的鏈接。 實體之間能夠經過聯繫來相互關聯。與實體和實體集對應,聯繫也能夠分爲聯繫和聯繫集,聯繫集是實體集之間的聯繫,聯繫是實體之間的聯繫,聯繫是具備方向性的。聯繫和聯繫集在含義明確的狀況之下都可稱爲聯繫。
按照實體類型中實例之間的數量對應關係,一般可將聯繫分爲4類: 一對一(ONE TO ONE)聯繫、 一對多(ONE TO MANY)聯繫、 多對一(MANY TO ONE)聯繫 多對多聯繫(MANY TO MANY)。
8.一、創建聯繫在CDM工具選項板中除了公共的工具外,還包括以下圖所示的其它對象產生工具。 在圖形窗口中建立兩個實體後,單擊「實體間創建聯繫」工具,單擊一個實體,在按下鼠標左鍵的同時把光標拖至別一個實體上並釋放鼠標左鍵,這樣就在兩個實體間建立了聯繫,右鍵單擊圖形窗口,釋放Relationship工具。以下圖所示 在兩個實體間創建了聯繫後,雙擊聯繫線,打開聯繫特性窗口,如圖所示。
8.二、 四種基本的聯繫即一對一(ONE TOONE)聯繫、一對多(ONE TO MANY)聯繫、多對一(MANYTO ONE)聯繫和多對多聯繫(MANY TO MANY)。如圖所示
8.三、 其餘幾類特殊聯繫
除了4種基本的聯繫以外,實體集與實體集之間還存在標定聯繫(Identify Relationship)、非標定聯繫(Non-Identify RelationShip)和遞歸聯繫(Recursive Relationship)。 8.3.1 標定聯繫和非標定聯繫: 每一個實體類型都有本身的標識符,若是兩個實體集之間發生聯繫,其中一個實體類型的標識符進入另外一個實體類型並與該實體類型中的標識符共同組成其標識符時,這種聯繫則稱爲標定聯繫,也叫依賴聯繫。反之稱爲非標定聯繫,也叫非依賴聯繫。
注意: 在非標定聯繫中,一個實體集中的部分實例依賴於另外一個實例集中的實例,在這種依賴聯繫中,每一個實體必須至少有一個標識符。而在標定聯繫中,一個實體集中的所有實例徹底依賴於另個實體集中的實例,在這種依賴聯繫中一個實體必須至少有一個標識符,而另外一個實體卻能夠沒有本身的標識符。沒有標識符的實體用它所依賴的實體的標識符做爲本身的標識符。 換句話來理解,在標定聯繫中,一個實體(選課)依賴一個實體(學生),那麼(學生)實體必須至少有一個標識符,而(選課)實體能夠沒有本身的標識符,沒有標標識符的實體能夠用實體(學生)的標識符做爲本身的標識符。
8.3.2 遞歸聯繫: 遞歸聯繫是實體集內部實例之間的一種聯繫,一般形象地稱爲自反聯繫。同一實體類型中不一樣實體集之間的聯繫也稱爲遞歸聯繫。
例如:在「職工」實體集中存在不少的職工,這些職工之間必須存在一種領導與被領導的關係。又如「學生」實體信中的實體包含「班長」子實體集與「普通學生」子實體集,這兩個子實體集之間的聯繫就是一種遞歸聯繫。建立遞歸聯繫時,只須要單擊「實體間創建聯繫」工具從實體的一部分拖至該實體的別一個部分便可。如圖 聯繫符號說明: 在Power Designer中,關係符號靠近實體端的一個「橫線」表明強制性約束,「空心圓圈」表明無強制約束,即這一方能夠無對象關聯;「非分岔」線表明爲「1」 的關係,「分岔」線表明「多」的關係。以上四個符號共能夠組合出16種關係(包含反向)。其中「多對多」的關係通常經過給出一箇中間實體來進行分解,因此在許多概念圖中,是看不到實際的「多對多」的關係存在的。
整理自網絡------------------------------------------------------------------------------------------------------- Blog: http://blog.csdn.net/tianlesoftware Weibo: http://weibo.com/tianlesoftware Email: dvd.dba@gmail.com DBA1 羣:62697716(滿); DBA2 羣:62697977(滿) DBA3 羣:62697850(滿) DBA 超級羣:63306533(滿); DBA4 羣:83829929(滿) DBA5羣: 142216823(滿) DBA6 羣:158654907(滿) DBA7 羣:69087192(滿) DBA8 羣:172855474 DBA 超級羣2:151508914 DBA9羣:102954821 聊天 羣:40132017(滿) --加羣須要在備註說明Oracle表空間和數據文件的關係,不然拒絕申請 |