可運行的sql效果:
要配置上面的效果步驟:
null配置:
要配置出datype而不是domain:
還有一些其它配置,
1。使用PowerDesigner檢查數據庫設計錯誤~
PowerDesigner 還可用於快速檢測新模型中的數據庫設計錯誤。
檢查新的模式:
從 [Tools] 菜單中選擇 [Check Model]。
此時,就會出現 [Check Model Parameters] 對話框。可以使用缺省參數。
另外也可以直接在空白處單擊右鍵,選擇Check Model...即可,我一般喜歡這樣用。
單擊 [確定]。
此時,在 [Result List] 中就會顯示 [Check Model] 的結果。
2。如何將Conceptual Data Model (CDM)轉換成Physical Data Model(PDM)?
即將概念數據模型轉換成物理數據模型。
二者的區別是,CDM是純粹概念上的模型,PDM是和具體的數據庫類型相關的,比如SQL Server 2000或者Oracle。生成SQL語句當然也就需要從PDM生成。
在菜單上選擇Tools -> Generate Phisical Data Model
最后選擇你的數據庫類型,即可。
3。使用PowerDesigner生成SQL語句~
可以使用 PowerDesigner 生成一個 SQL 腳本,該腳本用於實施模型的所有組件。然后,使用 SQL 腳本生成一個數據庫。
這時候要確保你用的是PDM。
生成 SQL 腳本以新建數據庫:
從 [Database] 菜單中選擇 [Generate Database]。
此時,就會出現 [Database Generation] 對話框
在 [Directory] 字段中鍵入 c:Temp,並在 [File Name] 字段中鍵入 NewDemo.sql。
確保選中了 [ Generation]。
單擊 [Database] 選項卡,並確保選中了 [Create Database]。
瀏覽其它選項卡,以查看控制所生成腳本的許多其它屬性的選項。
單擊 [確定]。
創建腳本后,就會出現 [Result] 對話框。
4。為什么出現Warning : table Existence of index 表名 ?
說明該表沒有建立索引。不過這是一個警告,不是錯誤,可以不用理會它。
5。如何建立聯合主鍵?
聯合主鍵就是一個表里面有多個主鍵,比如一份學生選課的表里面,學生ID和課程ID就同時是主鍵。
在設置Attributes,把2個字段的P那項都勾上,P表示Primary Key主鍵。
6。如何建立外鍵Foreign Key?
在PowerDesigner中,通過建立關系Relationship就可以自動建立外鍵,不需要手動添加。
而建立Relationship有2種辦法:可以通過菜單選擇Model -> Relationships...,也可以通過在右邊的工具欄中拖拽Relationship控件。
7。如何生成數據字典?
通過菜單Report -> Report Wizard...可以生成
注意可以選擇Template.因為我是通過PDM生成,所以選擇了Standard Physical Template~
1、安裝PD v11.0版
2、由pdm生成建表腳本時,字段超過15字符就發生錯誤(oracle)
原因未知,解決辦法是打開PDM后,會出現Database的菜單欄,進入Database - Edit Current DBMS -script-objects-column-maxlen,把value值調大(原為30),比如改成60。出現表或者其它對象的長度也有這種錯誤的話都可以選擇對應的objects照此種方法更改!
或者使用下面的這種方法:
生成建表腳本時會彈出Database generation提示框:把options - check model的小勾給去掉,就是不進行檢查(不推薦)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm轉為pdm時,選擇“Copy the DBMS definition in model”把把這個資源文件拷貝到模型中。
3、生成的建表腳本中如何把對象的雙引號去掉?
打開cdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標簽的Charcter case選項設置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者選擇Database->Edit current database->Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規定標識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”即可!
或者在打開pdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標簽的Charcter case選項設置成Uppercase就可以!
4、建立一個表后,為何檢測出現Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不檢查 Existence of index 這項,也就沒有這個警告錯誤了!
意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關系!
5、創建一個表在修改字段的時候,一修改name的內容,code也跟着變化,如何讓code不隨着name變化
Name和Code 的右側都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)
6、由CDM生成PDM時,自動生成的外鍵的重命名
PDM Generation Options->Detail->FK index names默認是%REFR%FK,改為FK%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自動生成的父字段的規則是PDM Generation Options->Detail->FK column name template中設置的,默認是%.3:PARENT%_%COLUMN%,可以改為Par%COLUMN%表示是父字段!
7、如何防止一對一的關系生成兩個引用(外鍵)
要定義關系的支配方向,占支配地位的實體(有D標志)變為父表。
在cdm中雙擊一對一關系->Detail->Dominant role選擇支配關系
8、修改報表模板中一些術語的定義
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標
修改某些對象的名稱:Object Attributes\Physical Data Model\Column
ForeignKey:外鍵
Mandatory:為空
Primary:主鍵
Table:表
用查找替換,把“表格”替換成“表”
修改顯示的內容為別的:Values Mapping\Lists\Standard,添加TRUE的轉化列為是,FALSE的轉化列為空
另外Report-Title Page里可以設置標題信息
1。pd中復制一列是,實際上是一個鏈接。源列的變動同時體現在復制列上
2。數據庫設計通常步驟:CDM缺定主要結構--》生成PDM--》在PDM上修改,必要時生成CDM
3。若由pdm生成cdm再生成pdm,在pdm中修改過的外鍵名將被改回到默認值
4。必要時可以通過修改模板(Database-Edit Current DataBase)改變腳本的格式。例如:
Script-Objects-Column-Add的Value中開頭增加一行“--%COLNNAME%”以便在腳本中顯示列的中英文對照
5。去掉討厭的name、code映射:Tools-General Options-clear the Name to Code mirroring check box
6。對於大小寫不敏感的數據庫(如Oracle),PowerDesign在創建腳本時自動給表名和字段名加上雙引號,以“強字符串”形式來獲取區分大小寫,這樣給sql語句的編寫制造很多麻煩。去掉這個添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右邊面板參數值 Value 選擇No
7。由cdm生成pdm,可以控制是否將關系生成引用;由pdm生成腳本,可以控制是否將引用生成外鍵
8。對於oracle而言,為表設置選項(如tablespace GPSSYSTEM)可使其創建到正確的表空間;為主鍵設置選項(using index tablespace GPSINDEX)使索引創建到正確的表空間中