如何面试PHPer-1
2015-10-12 10:39
519 查看
pd 反向
1. )首先新建一个“PhysicalDataModel”类型的文件,然后点击“Database”->"Configure Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles
2.) 填写相关信息
3.) 点击“Database”->"Update Model from Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”
4.)选择需要进行反向工程的数据库或数据库中的某些表,然后点击“OK”即可完成数据库的反向工程操作。(注意:默认是所有数据库全部选中的,所以在进行选择需要进行反向工程的数据库之前,先点击
![](http://dl.iteye.com/upload/attachment/452219/869ecba3-2028-3265-8e2f-f1d85c40995c.jpg)
使得数据库全部未选中。)
到目前为止,powerdesigner的反向工程的连接环境全部配置完成,此时只需选中需要进行反向工程的数据库或表,点击“OK”便可导出数据的PhysicalDataModel图。
注意:java 64位版本不支持 报 Could not Initialize JavaVM 错误,需要在java32位版本下运行
=====================================
pd 反向完成以后 显示问题
![](http://dl.iteye.com/upload/attachment/0075/9039/54761ca5-5a88-3695-af08-717f2795abaa.jpg)
不是很直观:我们需要显示成:
![](http://dl.iteye.com/upload/attachment/0075/9042/62047b69-2994-3f6c-836a-c3d3f32b58ad.jpg)
在 反向完成的 工作区域 点击 ctrl+shift+X 或者(Tools-->Execute Commands-->Edit/Run Script)
输入:
点击 run , 执行完成以后 就ok了
http://hi.baidu.com/lushaojin/item/8d5e2ee1529a96266dabb8b4
1. )首先新建一个“PhysicalDataModel”类型的文件,然后点击“Database”->"Configure Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles
2.) 填写相关信息
3.) 点击“Database”->"Update Model from Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”
4.)选择需要进行反向工程的数据库或数据库中的某些表,然后点击“OK”即可完成数据库的反向工程操作。(注意:默认是所有数据库全部选中的,所以在进行选择需要进行反向工程的数据库之前,先点击
![](http://dl.iteye.com/upload/attachment/452219/869ecba3-2028-3265-8e2f-f1d85c40995c.jpg)
使得数据库全部未选中。)
到目前为止,powerdesigner的反向工程的连接环境全部配置完成,此时只需选中需要进行反向工程的数据库或表,点击“OK”便可导出数据的PhysicalDataModel图。
注意:java 64位版本不支持 报 Could not Initialize JavaVM 错误,需要在java32位版本下运行
=====================================
pd 反向完成以后 显示问题
![](http://dl.iteye.com/upload/attachment/0075/9039/54761ca5-5a88-3695-af08-717f2795abaa.jpg)
不是很直观:我们需要显示成:
![](http://dl.iteye.com/upload/attachment/0075/9042/62047b69-2994-3f6c-836a-c3d3f32b58ad.jpg)
在 反向完成的 工作区域 点击 ctrl+shift+X 或者(Tools-->Execute Commands-->Edit/Run Script)
输入:
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim system, file Set system = CreateObject("Scripting.FileSystemObject") Dim ForReading, ForWriting, ForAppending '打开文件选项 ForReading = 1 ' 只读 ForWriting = 2 ' 可写 ForAppending = 8 ' 可写并追加 '打开文本文件 Set file = system.OpenTextFile("d:\temp\pdcomment.txt", ForWriting, true) '判断当前model是否物理数据模型 Dim mdl Set mdl = ActiveModel If (mdl Is Nothing) Then MsgBox "处理对象无模型" ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then MsgBox "当前模型不是物理数据模型" Else ProcessFolder mdl,file End If file.Close '****************************************************************************** Private sub ProcessFolder(folder,file) Dim i,j,k i=0:j=0:k=0 '列数组,记录字段里不重复的comment Dim ColumnComment() Dim ColumnCommentNumber() ReDim Preserve ColumnComment(i) ReDim Preserve ColumnCommentNumber(i) Dim tbl '当前表 Dim col '当前字段 dim curComment '当前字段comment Dim regex '正则表达式 Set regex=New RegExp '处理模型中的表 for each tbl in folder.tables if not tbl.isShortcut then if len(trim(tbl.comment))<>0 then '可以在这里显示table的comment regex.Pattern="\[.*\]" If regex.Test(tbl.name) then else tbl.name = tbl.name+"["+trim(tbl.comment)+"]" end if end if '处理表中的列 for each col in tbl.columns k = 0 curComment = trim(col.comment) if len(curComment)<>0 then '遍历相异的comment数组 for j = 0 to i if ColumnComment(j) = curComment then '如果找到相同的comment,则相关计数器加1 ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1 k = j end if Next '如果没有相同的comment,则k=0,此时ColumnCommentNumber(0)也为0 '否则ColumnCommentNumber(k)不为0 if ColumnCommentNumber(k) <> 0 Then regex.Pattern="\[.*\]" If regex.Test(col.name) Then else col.name =col.name+"["+curComment & cstr(ColumnCommentNumber(k))+"]" End if Else regex.Pattern="\[.*\]" If regex.Test(col.name) Then else col.name = col.name+"["+curComment+"]" End if 'ColumnComment(0)、ColumnCommentNumber(0)永远为空 '将相异的comment记录添加到数组中 i = i + 1 ReDim Preserve ColumnComment(i) ReDim Preserve ColumnCommentNumber(i) ColumnComment(i) = curComment ColumnCommentNumber(i) = 0 end if else '写入文件中 file.WriteLine "comment on column "+ tbl.name+"."+col.code+" is '';" end if next end if '由于不同表的name允许相同,因此此时重新初始化。 '因为ColumnComment(0)、ColumnCommentNumber(0)为空,可以保留 ReDim Preserve ColumnComment(0) ReDim Preserve ColumnCommentNumber(0) i=0:j=0:k=0 next Dim view '当前视图 for each view in folder.Views if not view.isShortcut then '可以在这里显示view的comment regex.Pattern="\[.*\]" If regex.Test(view.name) Then Else view.name = view.name+"["+view.comment+"]" End if end if next '对子目录进行递归 Dim subpackage 'folder For Each subpackage In folder.Packages if not subpackage.IsShortcut then ProcessFolder subpackage , file end if Next end sub
点击 run , 执行完成以后 就ok了
http://hi.baidu.com/lushaojin/item/8d5e2ee1529a96266dabb8b4
相关文章推荐
- 看似简单!解读C#程序员最易犯的7大错误
- 面试笔试题
- 黑马程序员——Java基础-------面向对象(三)
- 黑马程序员-------ARC机制
- 黑马程序员——JavaSE之数组排序的小总结一
- 程序员小抄大全
- 黑马程序员——API中的小总结
- 黑马程序员——Java语言的发展史
- Android学习之 面试资料整理[2]
- 黑马程序员—泛型总结归纳
- 黑马程序员——构造函数,构造代码块,静态代码块的区别
- 黑马程序员——IO 流总结
- 面试题:java GC是在什么时候,对什么东西,做了什么事情?
- 面试心得
- 程序员的开始,起飞
- 黑马程序员——OC中的Foundation
- 黑马程序员——OC中的分类
- 黑马程序员——OC中的类
- 黑马程序员——面向对象的三大特性
- 黑马程序员——OC中的核心语法