博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据字典生成工具之旅(2):数据字典生成工具及文档工具作用介绍
阅读量:5777 次
发布时间:2019-06-18

本文共 3670 字,大约阅读时间需要 12 分钟。

       上一篇介绍完了整个架构和功能,这一篇将更加详细介绍功能和操作,将会以实际例子帮助理解!(预告:下一篇正式进入实现原理讲解)

阅读目录

开始使用工具

        日常工作你是通过什么工具来创建表的呢?

        1.通过SqlServer自带的新建表的功能实现,或者直接写Create Table(.....)语句。能更加便捷的方式创建吗?这样创建的表便于后续维护和学习吗?

        2.通过PowerDesign创建表,很直观,然后导出表的创建语句。模拟一下做学生信息管理系统,则需要创建一个学生信息表(Student)

       

          再看看导出的SQL 

if exists (select 1            from  sysobjects           where  id = object_id('Student')            and   type = 'U')   drop table Studentgo/*==============================================================*//* Table: Student                                               *//*==============================================================*/create table Student (   Name                 nvarchar(20)         null,   Code                 nvarchar(30)         null,   Sex                  bit                  null,   constraint PK_STUDENT primary key ())go

 

       先删除表再创建表(如果是后来在学生信息表加了性别字段,这样已执行原先表里面的数据全都被干掉了),字段的中文含义也没有生成,不便于后续维护。

       3.可不可以通过EXECL或者WORD更加常用的文档来生成呢?

工具全景图

        1.数据字典生成工具

         第一步:在EXECL,PowerDesign,Word中设计好表结构(特别注意:EXECL,WORD表的格式要固定成和模版一致才能正确生成)。看下EXECL和WORD模版的格式

        

         

             模版文件可以从安装程序目录下的“测试模版”下,自己可以复制出来进行操作。

            再看看通过工具生成SQL

           

            我们先以新增模式生成表,然后再看看修改模式生成(自动识别模式会根据表的字段在数据库中是否存在,做为判断基础,存在则会用修改模式否则新增模式)

            新增模式SQL      

/*---------------------------数据字典生成工具(V2.0)--------------------------------*/GOIF NOT EXISTS(SELECT 1 FROM sysobjects WHERE id=OBJECT_ID('[Student]'))BEGIN/*==============================================================*//* Table: Student                                              *//*==============================================================*/CREATE TABLE [dbo].[Student](    [StudentGUID] uniqueidentifier   ,    [Name] varchar(40)   ,    [Code] varchar(40)   ,    [Sex] tinyint   ,    PRIMARY KEY(StudentGUID))    declare @CurrentUser sysnameselect @CurrentUser = user_name()execute sp_addextendedproperty 'MS_Description', '学生信息表','user', @CurrentUser, 'table', 'Student'execute sp_addextendedproperty 'MS_Description', '学生信息GUID','user', @CurrentUser, 'table', 'Student', 'column', 'StudentGUID'execute sp_addextendedproperty 'MS_Description', '姓名','user', @CurrentUser, 'table', 'Student', 'column', 'Name'execute sp_addextendedproperty 'MS_Description', '编号','user', @CurrentUser, 'table', 'Student', 'column', 'Code'execute sp_addextendedproperty 'MS_Description', '0:男  1:女','user', @CurrentUser, 'table', 'Student', 'column', 'Sex'ENDGO

      在数据库执行,后续需求变动了需要在Student表里面新增一个年级的字段,我们现在之前的模版上面加上该字段

    重新使用工具,切换到修改模式生成(特别提醒:修改模式是需要连接数据库的,需要进行对比找出新增的字段)。可以看到找出了刚才新增的Grade字段了,现在在数据库里面执行。

/*---------------------------数据字典生成工具(V2.0)--------------------------------*/GOIF NOT EXISTS(SELECT 1 FROM syscolumns WHERE id=OBJECT_ID('[Student]') AND name='Grade')BEGIN    ALTER TABLE [dbo].[Student] ADD [Grade] varchar(40)           declare @CurrentUser sysname    select @CurrentUser = user_name()    execute sp_addextendedproperty 'MS_Description', '年级','user', @CurrentUser, 'table', 'Student', 'column', 'Grade'ENDGO

  来查询一下该表信息,标红部分着重注意,发现没鼠标放上去表和字段的中文含义就提示出来了,你还需要为不懂表和字段含义而操心吗,后续维护是不是更方便了呢?

 

                           

        2.文档生成工具

         上面我们已经创建好了学生信息表,又来了个需求这次我们需要和公司的其它部分进行交互了,他们需要一个表结构信息的文档,你会怎么处理呢?又或者是你的部门来了新同事,怎么让他迅速了解整个系统

   和学习表结构呢?文档生成工具能解决你的问题。

        

       可以看到通过系统和时间过滤出了刚创建的学生信息表,然后导出Word或者Html格式的文档

     

           整个演示过程完毕了,回顾一下。首先我们通过在EXECL或者WORD里面添加学生信息表,然后通过数据字典生成工具生成了该表的创建语句,模拟了需求修改需要加字段的场景。后续则是需要传递信息了,这个时候文档生成工具就派上用场了,通过文档工具可以生成WORD或者HTML版的数据库结构设计说明书,是不是传递更加方便了呢。

           本章到这里就要结束啦,如果你觉得对你有帮助请记得点赞哦,下篇正式进入实现细节,会带你学到更多知识哦!

工具源代码下载

      目前总共有经过了七个版本的升级,现在提供最新版本的下载地址

最新安装程序
最新源代码
SVN最新源码共享地址

学习使用

      如果你使用了该工具,或者想学习该工具,欢迎加入这个小组,一起讨论数据字典生成工具、把该工具做的更强,更方便使用,一起加入

      更多数据字典生成工具资料请点击。

 

转载于:https://www.cnblogs.com/yanweidie/p/3840711.html

你可能感兴趣的文章
php5编译安装常见错误和解决办法集锦
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
Workstation服务无法启动导致无法访问文件服务器
查看>>
Linux常用命令(一)
查看>>
我的友情链接
查看>>
JS中比较数字大小
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
excel进行矩阵计算
查看>>
iOS: Block的循环引用
查看>>
变量声明提升1
查看>>
Magento XML cheatsheet
查看>>