一、創(chuàng)建"概念數(shù)據(jù)模型"-CDM(Conceptual Data Model)
(1)打開PowerDesigner,點(diǎn)擊File(文件)->New(新建)
(2)選擇Conceptual Data Model,并修改Model name(模型名).
(3)在Palette工具欄中點(diǎn)擊Entity(實(shí)體)工具,并在工作區(qū)中建立Entity
(4)雙擊一個Entity.在彈出的Entity Properties中輸入Name,Code.其中Name是在顯示時使用的名稱,而Code是在代碼中使用的名稱.
注:修改name的內(nèi)容,code也跟著變化,如何讓code不隨著name變化,Name和Code 的右側(cè)都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。
Tools(工具)->General Options(常規(guī))->Dialog(對話)->Name to Code Mirroring(名字編碼映射) 去掉
(5)點(diǎn)擊Attributes(屬性),建立相應(yīng)的屬性:Name:顯示名稱,Code:代碼名稱,Data Type:數(shù)據(jù)類型,Length:數(shù)據(jù)長度,Precision:數(shù)據(jù)精度,M:必須的,P:主鍵,D:顯示.
注:允許字段同名,.默認(rèn)不允許有相同字段
Tools-->model options-->model settings(模型設(shè)置)-->Data Item(數(shù)據(jù)選項(xiàng))-->unique code去勾則可
(6)選中主鍵列,點(diǎn)擊工具列中的Create Identifier(標(biāo)識符)按鈕.
(7)輸入Name及Code,因?yàn)槭侵麈I列,所以選中Primary identifier.
(8)建關(guān)系: 點(diǎn)擊工具欄中的關(guān)系工具,在學(xué)生表Entity上點(diǎn)擊并拖至成績表Entity.
雙擊關(guān)系-->name關(guān)系描述/code約束名-->Detail(細(xì)節(jié)): 一對一,一對多, 多對多,多對一
(9)建約束:雙擊字段名-->Standard checks(標(biāo)準(zhǔn)檢查)可設(shè)置最大值|最小值|默認(rèn)值-->additional Checks(附加檢查):可手寫check約束
(10)檢查是否有錯 Tools-->check model
注:刪除未改名的字段,不然報(bào)錯
二、根據(jù)CDM生成"物理數(shù)據(jù)模型"-PDM(Physical Data Model)
1.Tools-->generate physical(產(chǎn)生物理模型)-->選擇數(shù)據(jù)庫類型,例sql server 2000
注:a.不能改文件夾,必須是DBMS文件夾中
2.主外鍵設(shè)置:雙擊關(guān)系-->joins(連接)選擇各表的主外鍵字段
3.建標(biāo)識列:雙擊字段名 -->Genral-->identity前面加勾
三、為特定DBMS創(chuàng)建數(shù)據(jù)庫的SQL語句。
Data base-->generate database(產(chǎn)生數(shù)據(jù)庫)-->Director選擇文件生成的位置?
注:(1)可以通過修改模板(Database-Edit Current DataBase)改變腳本的格式。例如:
Script-Objects-Column-Add的Value中開頭增加一行“--%COLNNAME%”以便在腳本中顯示列的中英文對照
(2)由pdm生成建表腳本時,字段超過15字符就發(fā)生錯誤(oracle)
打開PDM后Database-->Edit Current-->DBMS -script-objects-column-maxlen,把value值調(diào)大(原為 30),比如改成60。出現(xiàn)表或其它對象的長度也有這種錯誤都可以選擇對應(yīng)的objects照此種方法更改!
(3)執(zhí)行sql語句時,需先建數(shù)據(jù)庫,因?yàn)樵摴ぞ呱傻哪_本建表不建庫。
且腳本用的修改表,執(zhí)行兩次就OK了
四、利用已現(xiàn)有模塊導(dǎo)出數(shù)據(jù)字典文件
(1)”數(shù)據(jù)字典模板”,并將它復(fù)制到安裝目錄的Resource Files\Report Templates文件夾中
(2)右擊"PDM"-->新增-->report(報(bào)表)-->新建-->ReportName報(bào)表名,language語言(選擇Simplified Chinese簡體中文),report template報(bào)表模塊(選擇數(shù)據(jù)字典模板)-->編輯或直接使用使用該模板
(3)選擇report工具欄中-->Generate Html生成HTML字典| Generate RTF生成DOC字典
注:修改報(bào)表模板中一些術(shù)語的定義
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo)
修改某些對象的名稱:Object Attributes\Physical Data Model(物理數(shù)據(jù)模型)\Column\
ForeignKey:外鍵
Mandatory:為空
Primary:主鍵
Table:表
用查找替換,把“表格”替換成“表”
修改顯示的內(nèi)容為別的:Values Mapping\Lists\Standard,添加TRUE的轉(zhuǎn)化列為是,F(xiàn)ALSE的轉(zhuǎn)化列為空
另外Report-Title Page里可以設(shè)置標(biāo)題信息
五、根據(jù)已存在的數(shù)據(jù)庫反向生成PDM,CDM及創(chuàng)建數(shù)據(jù)庫的SQL腳本。
DataBase -->reverse Engineer DataBase(反轉(zhuǎn)數(shù)據(jù)庫) --> Using an ODBC data source
注:需要配置數(shù)據(jù)源。問:如何反向MYsql
如果報(bào)以下錯誤的解決方案:
Unable to list the users.
[Microsoft][ODBC SQL Server Driver][SQL Server]無法預(yù)定義語句
SQLSTATE = 37000
解決方案:修改語法檢查規(guī)范
步驟一:選擇菜單欄中的Database -> Change Current DBMS ,給DBMS選擇SQL Server2005。
步驟二:重新配置ODBC連接,取消"更改默認(rèn)的數(shù)據(jù)庫為"選擇。
步驟三:從PD里選擇File -> Reverse Engineer -> Database
步驟四:選擇數(shù)據(jù)庫,選擇表,OK,大功造成。