首页  :: 联系 :: 订阅 订阅  :: 管理

生成数据库文档思路

Posted on 2010-01-08 10:19  李海  阅读(532)  评论(0编辑  收藏  举报

生成数据库文档思路

1、由来

相信刚刚接手别人项目的兄弟都碰到这种情况,直接给你个数据库,让你先看数据库结构,可数据库中的数据表或字段并没有注释,或者标注不全,相应的pdm文档也没有(虽然pdm文档可以通过sql 脚本逆向生成,再在pdm中写上name的值),这儿只是把我接实现过程给列出来,大家有好的想法不如也提出来,共同进步嘛

这儿大家就别给我讨论这种情况不可能存在,因为专业的软件公司都有相应的DBA去给数据库建模,不过现在有很多中小软件公司建立数据库都不那么专业,没有完整的数据库文档

比如就像我现在做测试的这个数据库

clip_image002

clip_image004

看见了吧,上面的数据表和字段都没有注释(Description),若直接让你接手这个项目,还真有点晕,不知道每个表用来干什么,每个字段是什么意思。(这儿只是举个例子表设计的比较简单)

2、准备步骤

下载redgate 软件sql doc2关于下载地址网上有很多

3、打开sql doc2软件,并连接到我们的数据库,在上图点击“edit”按钮,输入这个描述内容,完后更新到数据库。

clip_image006

clip_image008

这下数据库表和字段就有表述了,这还不够,再通过sqldoc2导出chm文件,方便团队成员查阅,因为团队知识共享太重要了,不然你做你的,他做他的,大家谈何交流,如何进步,如何更高效的完成项目呢?也许有人会说这样还不够,我想生成pdm文档,具体的逆向生成过程我就不说了,我这儿只截生成后的效果图

clip_image010

但是我想显示出前面是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

clip_image012

再选择toolsàModel optionsà在打开的对话框里选择Naming Convention,在右边display区选择code。

clip_image014

这样在pdm中就会同时显示name和code了。

好了这样数据库的文档就好了,有chm文档和pdm文档,新进入团队成员也就不会因为不明白字段是什么意思再打扰老员工,老员工也不会因为老被打扰做自己的事情而烦心了,看来数据库文档真的很重要哦

PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码

2010对自己说加油!