PD 15.1 安裝 破解 , 簡單使用 (一對多,多對多關系生成sql腳本) , CDM 和 PDM 的區別;PD15.1 生成sql2008 無FK外鍵約束的解決方法


CDM是概念模型,在概念模型上沒有具體數據庫產品的概念,反映的是實體和聯系。PDM是物理模型,是依賴具體數據庫產品的模型,比如可以指定具體的數據類型和約束等等。在PowerDesigner中兩個模型之間可以相互轉化。

步驟一般當然是先cdm后pdm,建好cdm后,根據實際情況,選擇不同的數據庫,然后把cdm轉成相應的pdm,有了cdm會更加靈活,不必在需求分析一開始就定死用什么數據庫,便於更改,轉pdm很容易。

 物理數據模型(PDM): 你可以把這個看中是實際數據庫中的表結構,例如 你的CDM中有 多對多的關系的話,那么就會在 PDM中,實際生成中間表

image

 

1:運行  PowerDesigner15_Evaluation.exe

默認

image

image

 

2: 安裝完畢后,不要執行,下面我們進行 破解

把 PowerDesigner15漢化+注冊補丁  下的所有文件,覆蓋 PD的安裝目錄下的文件

然后我們打開 PD,點擊 幫助 –> About  看到下面窗口中紅色方框,就表示已經破解 + 漢化成功

image

image

 

================     PDM  挖坑開始   這里有個坑,建議直接跳過,從下面的  CDM 設計開始看=========

下面我們來簡單的創建幾個表,涉及  1對多,多對多(自己寫中間表),多對多(PD幫我們生成中間表)

image

image

image

我們創建幾個表

Userinfo  用戶表 

Order 訂單表

Department 部門表

Play 活動表

 

image

設置主鍵,自動增長  (雙擊列,打開列設置窗口,勾選右下角的 Identity 自動增長)

image

分析用戶表 和 訂單表的 關系   是一對多

image

 

image

image

 

下面,我們來看  用戶表 和  部門表  他們是一個多對多的關系,我們通過手動創建的中間表來 設計這個 中間表

(一個員工,可以在多個部門,一個部門,也可以有 多個員工)

注意,下面的這個中間表,是我們自己手動創建的

image

image

上面一個用戶和一個部門之間,是多對多的關系,但是上面是我們自己創建一個中間表,下面我們自己來創建一個 真正的 多對多的 表(實際還是會自動創建一個中間表)

到這里,我突然發現我用錯了, 應該是先設計 CDM ,在 CDM 里面才可以設計  多對多表,而 如果是在 PDM 里面,是不能生成 多對多表的

因為PDM是物理模型,那么PDM中反應的表,就應該是 CDM

======================   PDM  挖坑結束  ======================

 

=========================  重新用  CDM   開始  =============================

image

在 CDM  模型里面,拉一對多關系,是從 一  拉 到 多,就形成了下面的這個圖.  並且這里有點和 PDM不同的是,在CDM里面拉的關系線,是看不到外鍵的,外鍵要等一會 轉成了 PDM  模型之后,才會看到外鍵

image

 

下面我們把  用戶表,部門表,以及手動創建的中間表(用戶部門關系表)  這3個表,來拉一下關系

首先  用戶表  和  用戶部門   是 一對多的關系,一個用戶,可以屬於多個部門

部門表  和  用戶部門關系表   也是一對多的關系,一個部門里面,可以用多個用戶

實際上,2個一對多,就是一個多對多,我們原本可以省掉 用戶部門關系表而直接在 用戶表 和 部門表 直接拉一個 多對多的關系,但是假如想在中間表里面加入其他額外的字段,例如 這里是  JoinTime 加入部門時間,就是我們自己想額外創建的字段,那么這個時候,就應該自己手動來創建中間表了

image

image

下面我們來創建,活動表和部門表是多對多的關系 (一個活動,可以屬於多個部門,一個部門也有多個活動)

image

在CDM里面畫 多對多的線的時候,要注意,PD里面,默認是沒有  多對多 的線的,得先把2張表之間 拉出 一對多, 然后雙擊 兩個表中間的關系線, 再修改成 多對多

好了,我們的CDM 模型,就畫好了

image

我們雙擊 部門表 和 活動表 中間的 關系的名稱,我們把這個名稱  Relationshop_4 給修改成   R_Department_Play ,這個名稱,就是等會我們生成的 數據庫里面的中間表的名稱 ,如果你不修改,那么等會數據庫就會生成一個 Relationshop_4 ,這個名稱 太傻了

image

image

 

(如果2張表,是多對多的關系,那么什么時候,用我們自己創建的中間表,什么時候,用系統的多對多表呢?   其實很簡單,如果 你需要在中間表里面放一些額外的數據,例如上面的  加入時間(JoinTime) 這個就是個額外的字段,那么我們就用自己創建的中間表.   如果什么額外的字段都沒有,就可以直接用 系統的多對多 (但是實際到了PDM物理模型,和到數據庫的時候,還是會生成一個中間表的)

現在我們要生成數據庫的話,還要先 轉成 PDM 模型  ,我們可以點擊 工具=> Generate PDM  生成PDM模型,也可以使用快捷鍵  Ctrl + G

image

imageimage

 

點擊確定后,我們會跳轉到 PDM 界面,這個  物理模型界面,就是實際上,我們通過  CDM  最后會生成的哪些表

image

這個時候,我們 選擇 數據庫 => Generate Database 來生成數據庫, 快捷鍵依然是 Ctrl + G

image

image

然后我們把生成的sql文件,拖到sql2008的管理器里面,我們自己先創建一個數據庫  例如 WebPd

我們發現,表結構,定義,都可以了

image

但是我們發現還是有個小問題,我們觀察在PDM中的時候,  R_Deparment_Play 這張中間表的  DepId 和 PlayId 不僅僅是有PK主鍵,同時他們還是外鍵,但是到了sql2008里面之后,外鍵信息丟失了,如下圖,解決方法是我們要回到 PD 里面,對PD這個軟件進行設置

image

 

解決方法,

步驟1: 在剛才的PDM 界面下(注意,是PDM),點擊 菜單欄的 數據庫=> Change Current DBMS 設置為 sql2000

image

image

步驟2: 在菜單欄里面 找到 模型=>References

image

在打開的窗口中,我們找到 Implementation 這列,  默認這里的數據是 Trigger  ,我們修改成   Declarative

image

 

步驟3 : 將當前PDM的 DBMS  重新設置為 sql2008

image

image

 

步驟4:  在PDM 界面下,  按  Ctrl + G 快捷鍵,生成sql腳本 ,然后放到 sql2008 數據庫管理器中運行后,如下

image

 

 

CDM和PDM的區別?(轉)http://hi.baidu.com/t_sky/item/adaded4f5a6b11ea1e19bcd6


免責聲明!

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



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