使用PowerDesigner生成資料庫sql指令碼
開啟PD軟體:
1.新建概念模型(conceptual Data Model)
File-->New Model-->Conceptual Data Mode
或者點選工作區,右鍵-->New Model-->Conceptual Data Mode
2.開啟模型時,會有方格線,去除方格線
Tools-->Dis
3.建立表並建立關係:
各個含義如下:
但是我在建立的過程中,報錯如下:
在建立的過程中,人員表裡有主鍵Code,性別表裡也有主鍵Code,但是在建立的過程是報錯,說是Code已經被佔用了,
去除屬性名重複的方法如下:
使用PD中,CDM預設實體屬性不能重名,在CDM中唯一。可以通過設定,取消該限制。
選擇 Tools->Model Options,取消 Data Item 組的Unique code 和 Allow reuse複選框。
Unique:設定實體屬性是否唯一
Allow reuse:設定實體屬性是否允許重用
注:預設使用唯一程式碼的好處是,改變屬性,其他引用該屬性的實體,都一起修改。該功能可以通過domain實現,設定屬性在同一domain中,當需要修改欄位型別的時候,修改domain一處即可。
4.將概念模型轉換成物理模型
方法一:
操作:Tools-->GeneratePhysical Data Model
快捷鍵:ctrl+shift+p
注意:如果你的資料庫是SQL server,請一定要選擇要選擇SQL Server 2008,
進入下圖介面:(根據自己的需求切換相應的DBMS(資料庫)點選【確定】就會將概念模型轉換成物理模型).
??但是在生成的過程中報了一個實體屬性重複的錯誤(如下圖):
Checking data item ...
- Data Item name uniqueness
- Data Item code uniqueness
Error The following data item does not have unique code:
-> Data Item '編碼' (<Model>)
-> Data Item '編碼' (<Model>)
- Data Item not used
- Data Item used multiple times
解釋:從上面的錯誤可以看出,PD給我們說,我在檢查所有實體屬性的過程中,發現了重複的屬性,有兩個相同的屬性(Code和Name):編碼
這是因為雖然我們在概念模型中:建立實體的過程中允許實體使用相同的編碼和名稱,但是我們並沒有同時修改:在概念模型轉換為物理模型的檢查規則,我們這裡,可以去修改檢查實體的報錯規則就可以了。
解決辦法:
方法二:
General不變,Detail中將Check model去掉,就在轉換為物理模型時不再檢查實體錯誤了(當然這些錯誤是PD定義的預設規則)
5.物理模型如下:
6.生成帶註釋的sql
a.操作:Database-->Generate DataBase。。。,進入下圖頁面,
b、勾上以上覆選框,否則當你備註為空的時候註釋出不來;反之,如果你備註不為空那麼名稱(Name)才能作為註釋出現!!
在Options可以選擇要生存指令碼的內容,可以選擇是否建立資料庫的指令碼,選擇要生成指令碼的表
c、在selection中選擇你需要生成sql的模組,指定輸出目錄。