PowerDesigner個人使用總結

前言

文章內容均已16版本爲說明。

創建項目

這裏File下面有2個菜單:new model與new project。

New project的作用類似於文件夾,負責把有關聯關係的文件集中歸類存放。

New model的作用類似於普通的一個文件,該文件可以單獨存放也可以歸類存放,看個人使用吧。

創建模型

創建方式有2種,一種是通過左邊的workspace來創建:

還有一種方式就是通過File菜單來創建:

Physical Data Model

PDM(物理數據模型),通俗來講就是在PowerDesigner中以圖形化的方式來展示、設計數據庫。既然來展示、設計數據庫那PDM就要涉及到數據庫的基本概念,包括:

表、列、視圖、主鍵、侯選建、外鍵、存儲過程、觸發器、索引、完整性檢查約束。

選中PDM文件,然後鼠標右擊選擇new,在彈出的列表中可以看到數據庫的基本概念,根據個人需求進行創建。

導入SQL腳本從而生成PDM

1.點擊左上角:File->Reverse Engineer->Database
reverse:形容詞是相反/動詞是逆轉、顛倒/名詞是背面。
engineer:名詞是工程師、技師/動詞是策劃、製造、策動。

2.在彈出框中:Model name填寫要生成的PDM名稱,DBMS則填寫數據庫類型,也就是導出SQL文件時的原始數據庫類型,點擊“確定”按鈕,打開下一個窗口。

3.由於我們是通過SQL腳本來逆向生成PDM,因此我們選擇的是“Using script files”,然後點擊下面的添加文件小圖標(帶有黃色加號的圖標),如圖所示:

4.在選擇文件對話框中,找到要導入的SQL腳本,點擊“打開”,這時會將該SQL文件添加到列表中,最後點擊“確定”按鈕,即可在左側“workspace”窗口中看到對應的PMD。

設置主鍵自增(基於MySQL)

1.首先把identity顯示出來。雙擊表,打開“Table Properties”,點擊“columns”,點擊圖標“Customize Columns and Filter”打開對話窗口

2.在打開的窗口中,選中“identity”,點擊“確定”按鈕。

3.然後在“columns”中,能看到“identity”列,然後選中該列

4.然後點擊“Physical Options”,選中“auto_increment=(%d)”,把該參數移動到右側,然後在右側下部設置起始值

5.最後點擊“preview”來預覽效果。

導出SQL文件

  1. 選中要導出SQL文件的物理模型。
  2. 點擊Database->Generate Database。(generate動詞是產生、生成;形容詞是發生的)

按照下面提示框進行填寫:

這裏如果勾選Check mode,很容易報下面錯誤:

3. 點擊應用、確定按鈕後,打開所生成的SQL文件

中文亂碼

還是同樣的步驟,然後在彈出框中選擇format選項卡

Incorrect table definition

create table XXXX(

   ID int not null auto_increment comment '序號'

)auto_increment = 1;

alter table XXXX comment '測試表';

alter table XXXX add primary key (ID);

這是我導出的SQL文件的內容,其中的ID是主鍵、自增,但我在Navicat中執行的時候報錯,錯誤信息如下:

Incorrect table definition;there can be only one auto column and it must be defined as a key.

字面意思是自增列必須是主鍵,問題是我把主鍵的定義挪到了create table的外面,所以報錯了,解決方法如下:

Invalid default value for 列名字

在create table XXXX中有一列是這樣定義的:

createtime timestamp default null comment ‘創建日期’,

updatetime timestamp default null comment ‘更新日期’

然後客戶端工具Navicat報錯:

Invalid default value for ‘createtime’

Invalid default value for ‘updatetime’

解決方案:問了問其他同事,他們在實施的時候也是遇到這個問題,就把timestamp的默認值設置爲current_timestamp。

第一步:雙擊table,在打開的窗口中點擊columns。找到要設置默認值的timestamp列,點擊屬性,如圖:

第二步:點擊standard checks,在這個選項卡里設置default值。

Cannot add foreign key constraint

使用Navicat時系統報錯:cannot add foreign key constraint,分析原因在於create table語句中把主鍵約束、外鍵約束一起定義了,這就導致瞭如果create table的時候必須把其他表先創建完畢才行,截圖如下:

解決方法:主鍵約束放在create table裏面,而外鍵約束放在SQL文件的末尾,即尾部。

  1. 選中物理模型,點擊Database->generate Database
  2. 在options中,在左側列表中選中foreign key,然後在右側框中選中Outside,點擊確定即可。然後打開生成的SQL文件的最後,即可發現所有的外鍵約束全部在SQL文件尾部統一創建。

連接MySQL數據庫

  1. Database->Configure Data Connections

2.點擊Connection Profiles選項卡,點擊新增按鈕

3.點擊:test connection測試連接性。

4.然後在目錄下能看到.dcp文件

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