生成数据库文档思路
1、由来
相信刚刚接手别人项目的兄弟都碰到这种情况,直接给你个数据库,让你先看数据库结构,可数据库中的数据表或字段并没有注释,或者标注不全,相应的pdm文档也没有(虽然pdm文档可以通过sql 脚本逆向生成,再在pdm中写上name的值),这儿只是把我接实现过程给列出来,大家有好的想法不如也提出来,共同进步嘛
这儿大家就别给我讨论这种情况不可能存在,因为专业的软件公司都有相应的DBA去给数据库建模,不过现在有很多中小软件公司建立数据库都不那么专业,没有完整的数据库文档
比如就像我现在做测试的这个数据库
看见了吧,上面的数据表和字段都没有注释(Description),若直接让你接手这个项目,还真有点晕,不知道每个表用来干什么,每个字段是什么意思。(这儿只是举个例子表设计的比较简单)
2、准备步骤
下载redgate 软件sql doc2关于下载地址网上有很多
3、打开sql doc2软件,并连接到我们的数据库,在上图点击“edit”按钮,输入这个描述内容,完后更新到数据库。
这下数据库表和字段就有表述了,这还不够,再通过sqldoc2导出chm文件,方便团队成员查阅,因为团队知识共享太重要了,不然你做你的,他做他的,大家谈何交流,如何进步,如何更高效的完成项目呢?也许有人会说这样还不够,我想生成pdm文档,具体的逆向生成过程我就不说了,我这儿只截生成后的效果图
但是我想显示出前面是name后面是code来
好的那就在pd里运行vbs脚本(ctrl+shift+x)
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ' running column
for each col in tab.columns
col.Stereotype =col.comment
col.name= col.comment
next
end if
next
end sub
再选择toolsàModel optionsà在打开的对话框里选择Naming Convention,在右边display区选择code。
这样在pdm中就会同时显示name和code了。
好了这样数据库的文档就好了,有chm文档和pdm文档,新进入团队成员也就不会因为不明白字段是什么意思再打扰老员工,老员工也不会因为老被打扰做自己的事情而烦心了,看来数据库文档真的很重要哦
PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
2010对自己说加油!