1. 程式人生 > >PowerDesigner設計邏輯資料模型的做法

PowerDesigner設計邏輯資料模型的做法

轉自:深藍居 http://www.cnblogs.com/studyzy/archive/2009/12/15/1624899.html

 

在PD中建立物理模型由以下幾種辦法:

  1. 直接新建物理模型。
  2. 設計好概念模型,然後由概念模型生成物理模型。
  3. 設計好邏輯模型,然後由邏輯模型生成物理模型。
  4. 使用逆向工程的方法,連線到現有的資料庫,由資料庫生成物理模型。

物理模型能夠直觀的反應出當前資料庫的結構。在資料庫中的表、檢視、儲存過程等資料庫物件都可以在物理模型中進行設計。由於物理模型和資料庫的一致性,接下來以資料庫物件和物理模型物件的對應來一一介紹:

新建物理模型時需要指定物理模型對應的DBMS,這裡我們使用SQL Server 2008,新建一個物理模型後,系統會顯示一個專門用於物理模型設計的工具欄:

image

若要在物理模型中新增一個表,單擊“表”按鈕,然後再到模型設計面板中單擊一次便可新增一個表,系統預設為表命名為Table_n,這裡的n會隨著新增的表增多而順序增加。新增的表是沒有任何列的,如圖所示:

image

單擊工具欄的滑鼠指標按鈕,將滑鼠切換回指標模式,然後雙擊一個表,系統將開啟表屬性視窗,在General選項卡中可以設定表的Name、Code等屬性。例如我們要新建一個教室表(ClassRoom),則可修改Name和Code。Name是在模型中顯示的名稱,Code是生成資料庫表的時候的實際表名。另外Name中的內容還會作為SQL Server中的表備註。

image

單擊Columns切換到列選項卡,在下面的列表中可以新增表中的列。Name是模型上顯示的名稱,Code是生成的實際的表名,後面的3個複選框P代辦主鍵、F代表外來鍵,M代表不能為空。為教室表設計了兩個列,如圖所示:

image

主鍵

在設計一個表時,一般情況下每個表都會有一個主鍵,主鍵分為單列主鍵和複合主鍵。在為表設定主鍵時有以下幾種辦法:

1.在Columns選項卡中,直接選中主鍵列的P列複選框,這是最簡單的方式。

2.選中一個列,然後單擊工具欄中的“屬性”按鈕,系統將彈出列屬性視窗,在該視窗中可以設定該列的各種屬性,當然也包括該列是否是否是主鍵。另外還有一個很重要的複選框是“Identity”。選中Identity複選框則表示該列為自增列。

image

3.切換到Keys選項卡中,在其中新增一行命名為PK_ClassRoom,然後單擊工具欄的“屬性”按鈕,開啟鍵屬性視窗,在該視窗中切換到Columns選項卡,單擊新增列按鈕,彈出列選擇視窗,選中主鍵中應該包含的列,單擊確定按鈕即可完成主鍵的建立。

image

另外需要注意的是,在建立主鍵時,系統會在主鍵上建立索引,索引分為聚集索引和非聚集索引,在“鍵屬性”視窗的General選項卡中可以設定該主鍵上建立的索引是聚集索引還是非聚集索引,如圖所示:

image

外來鍵

如果是由概念模型或者邏輯模型生成物理模型,那麼外來鍵是通過Relationship生成的,也可以通過工具欄中的Reference來實現兩表之間的外來鍵關係。假如一個課程只會在一個固定的教室上課,而一個教室會安排多個課程在不同的時間上課,所以教室和課程是一對多的關係,那麼課程表中就需要新增RoomID列以形成外來鍵列,具體操作方法就是在工具欄中單擊“Reference”按鈕,然後在設計面板中,課程表上按下滑鼠左鍵,並拖拽到教師表中放開滑鼠,這時如果課程表中沒有RoomID列,系統會自動建立RoomID列並建立該列上的外來鍵引用,如果已經存在RoomID列,則只新增外來鍵引用,不會再新增新列。

 image

切換到滑鼠指標模式,雙擊箭頭,系統將彈出引用的屬性視窗,在屬性視窗中可以設定該引用的Name、Code、關聯的列、約束名、更新策略和刪除策略等。

下一篇文章將會介紹其他約束具體包括:

1.CHECK約束

2.預設值約束

3.非空約束

……

另外在物理模型中還包括:檢視、儲存過程、函式、觸發器等都會在接下來的幾篇文章中講解到。