您的位置:首页 > 数据库

PowerDesigner 创建表格及导出SQL语句

2016-10-17 11:07 295 查看
目的:提高数据库创建表格效率

测试数据库:orcale

1.新建物理模型。

右键点击workplace,new一个物理模型并指定数据库。



2.创建表格



设置字段属性



新增字段属性(比如加字段注释)



3.导出sql语句及预览





初次使用会发现orcale的sql语句,带双引号、字母大写,后面有解决方案

也可在Options选项卡里,可以个性化选择和配置sql脚本,如取消外键,去除drop语句等。

4.去除双引号

选择Database->Edit Current DBMS菜单



选中General选项卡,依次打开Script->Sql->Fomat->CaseSensitivityUsingQuote



5.字母批量大写转换

直接跑脚本,找到Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。



转换到大写的VB代码

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' 当前模型
' 获取当前模型
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "没有打开一个模型"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "当前模型不是一个PDM"
Else
'调用处理程序
ProcessFolder mdl
End If
'调用的处理程序
Private sub ProcessFolder(folder)
Dim Tab '要处理的表
for each Tab in folder.Tables
' if not Tab.isShortcut then
' Tab.code = tab.name
'表名处理,前边添加前缀,字母小写
Tab.name=  UCase(Tab.name)
Tab.code= UCase(Tab.code)
Dim col ' 要处理的列
for each col in Tab.columns
'列名称和code全部小写,大写诗UCase
col.code= UCase(col.code)
col.name= UCase(col.name)
next
'end if
next
' 处理视图
'  Dim view 'running view
'   for each view in folder.Views
'   if not view.isShortcut then
'  view.code = view.name
'  end if
' next
' 递归进入 sub-packages
Dim f ' sub  folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub


======================华丽的分割线====================

下面的都是有可能用的着的

6.不同数据库之间的转化

案列: orcal—》mysql

做法:Database→Change Current DBMS→选择要转换成的目标数据库



结果:



然后可以使用notepad++,将字母转换成小写就可以了。因为MySQL是区分大小写的。

7.Orcale 建立自增主键

双击表打开属性窗口→勾选P主键复选框→双击设置为主键的字段(在行的头部双击)或者单击上方的属性图标按钮→在打开的窗口下方(注意不同数据库不一样,sql server是identity复选框)选择sequence,如果没有则单击旁边的新建按钮创建一个sequence。



8.导入sql脚本生成相应的数据库表模型图

File→Reverse Engineer→Database…→修改模块名称并选择DBMS



Using script files→点击下方图标(Add Files)来添加sql脚本文件→确定



更多可参考别人的博客看看:http://blog.csdn.net/wangpeng047/article/details/7164643
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  powerdesigner