在PowerDesigner中設計物理模型1——表和主外鍵

原文地址: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等屬性。例如我們要新建一個教室表(Cla***oom),則可修改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_Cla***oom,然後單擊工具欄的“屬性”按鈕,打開鍵屬性窗口,在該窗口中切換到Columns選項卡,單擊添加列按鈕,彈出列選擇窗口,選中主鍵中應該包含的列,單擊確定按鈕即可完成主鍵的創建。

image

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

image

外鍵

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

image

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

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

1.CHECK約束

2.默認值約束

3.非空約束

……

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章