1. 程式人生 > >PowerDesigne 建立概念數據模型

PowerDesigne 建立概念數據模型

角色 空間 標識 如果 有一個 領導 rop man 唯一性

本文主要介紹PowerDesigner概念數據模型以及實體、屬性創建。

一、新建概念數據模型
1)選擇File-->New,彈出如圖所示對話框,選擇CDM模型(即概念數據模型)建立模型。
技術分享圖片

2)完成概念數據模型的創建。以下圖示,對當前的工作空間進行簡單介紹。(以後再更詳細說明)
技術分享圖片

3)選擇新增的CDM模型,右擊,在彈出的菜單中選擇“Properties”屬性項,彈出如圖所示對話框。在“General”標簽裏可以輸入所建模型的名稱、代碼、描述、創建者、版本以及默認的圖表等等信息。在“Notes”標簽裏可以輸入相關描述及說明信息。當然再有更多的標簽,可以點擊 "More>>"按鈕,這裏就不再進行詳細解釋。

技術分享圖片

二、創建新實體
1)在CDM的圖形窗口中,單擊工具選項版上的Entity工具,再單擊圖形窗口的空白處,在單擊的位置就出現一個實體符號。點擊Pointer工具或右擊鼠標,釋放Entitiy工具。如圖所示
技術分享圖片
2)雙擊剛創建的實體符號,打開下列圖標窗口,在此窗口“General”標簽中可以輸入實體的名稱、代碼、描述等信息。
技術分享圖片

三、添加實體屬性
1)在上述窗口的“Attribute”選項標簽上可以添加屬性,如下圖所示。
技術分享圖片

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

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

2)在上圖所示窗口中,點擊插入屬性按鈕,彈出屬性對話框,如下圖所示。
技術分享圖片

註意:這裏涉及到域的概念,即一種標準的數據結構,它可應用至數據項或實體的屬性上。

要介紹如何定義實體的主、次標識符。

一、標識符
標識符是實體中一個或多個屬性的集合,可用來唯一標識實體中的一個實例。要強調的是,CDM中的標識符等價於PDM中的主鍵或候選鍵。
每個實體都必須至少有一個標識符。如果實體只有一個標識符,則它為實體的主標識符。如果實體有多個標識符,則其中一個被指定為主標識符,其余的標識符就是次標識符了。


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

技術分享圖片

2)選擇第一行“主標識符”,點擊屬性按鈕或雙擊第一行“主標識符”,彈出屬性對話框,如圖所示
技術分享圖片

3)選擇"Attributes"選項卡,再點擊“Add Attributes”工具,彈出如圖所示窗口,選擇某個屬性作為標識符就行了。
技術分享圖片

新增數據項、數據項的唯一性代碼選項和重用選項等。

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

二、新建數據項
1)使用“Model”---> Data Items 菜單,在打開的窗口中顯示已有的數據項的列表,點擊 “Add a Row”按鈕,創建一個新數據項,如圖所示
技術分享圖片

2)當然您可以繼續設置具體數據項的Code、DataType、Length等等信息。這裏就不再詳細說明了。

三、數據項的唯一性代碼選項和重用選項
使用Tools--->Model Options->Model Settings。在Data Item組框中定義數據項的唯一性代碼選項(Unique Code)與重用選項(Allow Reuse)。
註意:
如果選擇Unique Code復選框 ,每個數據項在同一個命名空間有唯一的代碼,而選擇Allow reuse ,一個數據項可以充當多個實體的屬性。
技術分享圖片

四、在實體中添加數據項
1)雙擊一個實體符號,打開該實體的屬性窗口。
2)單擊Attributes選項卡,打開如下圖所示窗口
技術分享圖片

註意:
Add a DataItem 與 Reuse a DataItem的區別在於
Add a DataItem 情況下,選擇一個已經存在的數據項,系統會自動復制所選擇的數據項。如果您設置了UniqueCode選項,那系統在復制過程中,新數據項的Code會自動生成一個唯一的號碼,否則與所選擇的數據項完全一致。


Reuse a DataItem情況下,只引用不新增,就是引用那些已經存在的數據項,作為新實體的數據項。

聯系的定義及使用。

一、 聯系
聯系(Relationship)是指實體集這間或實體集內部實例之間的連接。

實體之間可以通過聯系來相互關聯。與實體和實體集對應,聯系也可以分為聯系和聯系集,聯系集是實體集之間的聯系,聯系是實體之間的聯系,聯系是具有方向性的。聯系和聯系集在含義明確的情況之下均可稱為聯系。

按照實體類型中實例之間的數量對應關系,通常可將聯系分為4類,即一對一(ONE TO ONE)聯系、一對多(ONE TO MANY)聯系、多對一(MANY TO ONE)聯系和多對多聯系(MANY TO MANY)。

二、 建立聯系
在CDM工具選項板中除了公共的工具外,還包括如下圖所示的其它對象產生工具。
技術分享圖片
在圖形窗口中創建兩個實體後,單擊“實體間建立聯系”工具,單擊一個實體,在按下鼠標左鍵的同時把光標拖至別一個實體上並釋放鼠標左鍵,這樣就在兩個實體間創建了聯系,右鍵單擊圖形窗口,釋放Relationship工具。如下圖所示
技術分享圖片

三、 四種基本的聯系
即一對一(ONE TO ONE)聯系、一對多(ONE TO MANY)聯系、多對一(MANY TO ONE)聯系和多對多聯系(MANY TO MANY)。如圖所示
技術分享圖片
四、 其他幾類特殊聯系

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

標定聯系:
每個實體類型都有自己的標識符,如果兩個實體集之間發生聯系,其中一個實體類型的標識符進入另一個實體類型並與該實體類型中的標識符共同組成其標識符時,這種聯系則稱為標定聯系,也叫依賴聯系。反之稱為非標定聯系,也叫非依賴聯系。
註意:
在非標定聯系中,一個實體集中的部分實例依賴於另一個實例集中的實例,在這種依賴聯系中,每個實體必須至少有一個標識符。而在標定聯系中,一個實體集中的全部實例完全依賴於另個實體集中的實例,在這種依賴聯系中一個實體必須至少有一個標識符,而另一個實體卻可以沒有自己的標識符。沒有標識符的實體用它所依賴的實體的標識符作為自己的標識符。

換句話來理解,在標定聯系中,一個實體(選課)依賴 一個實體(學生),那麽(學生)實體必須至少有一個標識符,而(選課)實體可以沒有自己的標識符,沒有標標識符的實體可以用實體(學生)的標識符作為自己的標識符。
技術分享圖片

遞歸聯系:
遞歸聯系是實體集內部實例之間的一種聯系,通常形象地稱為自反聯系。同一實體類型中不同實體集之間的聯系也稱為遞歸聯系。

例如:在“職工”實體集中存在很多的職工,這些職工之間必須存在一種領導與被領導的關系。又如“學生”實體信中的實體包含“班長”子實體集與“普通學生”子實體集,這兩個子實體集之間的聯系就是一種遞歸聯系。創建遞歸聯系時,只需要單擊“實體間建立聯系”工具從實體的一部分拖至該實體的別一個部分即可。如圖
技術分享圖片

五、 定義聯系的特性

在兩個實體間建立了聯系後,雙擊聯系線,打開聯系特性窗口,如圖所示。
技術分享圖片

六、 定義聯系的角色名
在聯系的兩個方向上各自包含有一個分組框,其中的參數只對這個方向起作用,Role Name為角色名,描述該方向聯系的作用,一般用一個動詞或動賓組表。
如:“學生 to 課目 ” 組框中應該填寫“擁有”,而在“課目To 學生”組框中填寫“屬於”。(在此只是舉例說明,可能有些用詞不太合理)。

七、 定義聯系的強制性
Mandatory 表洋這個方向聯系的強制關系。選中這個復選框,則在聯系線上產生一個聯系線垂直的豎線。不選擇這個復選框則表示聯系這個方向上是可選的,在聯系線上產生一個小圓圈。

八、 有關聯系的基數
聯系具有方向性,每個方向上都有一個基數。

舉例,
“系”與“學生”兩個實體之間的聯系是一對多聯系,換句話說“學生”和“系”之間的聯系是多對一聯系。而且一個學生必須屬於一個系,並且只能屬於一個系,不能屬於零個系,所以從“學生”實體至“系”實體的基數為“1,1”,從聯系的另一方向考慮,一個系可以擁有多個學生,也可以沒有任何學生,即零個學生,所以該方向聯系的基數就為“0,n”,如圖所示
技術分享圖片

PowerDesigne 建立概念數據模型