使用PD(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一處即可。

Power <wbr>Designer <wbr>CDM <wbr>解決實體屬性不能重名問題

 

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的模塊,指定輸出目錄。

 

7.PD圖轉換為腳本至此結束。

 

備注:有了腳本,找個數據庫執行吧! 

如果自己懶得修改腳本,最好新建個數據庫去執行;  你勤快些的話可以把其他沒用的腳本干掉,只保留主要腳本就OK了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM