表结构设计器EZDML快速上手

2009.11 表结构设计器EZDML1.5新版本发布,比以前改进了很多,因此重新写了个介绍。

2015.10 已经更新到2.06版本,决定再次整理重写此文档。

2019.10 已经2.32版了,再把文档改改吧。

目录

1.    下载安装

2.    启动

3.    新建表

4.    外键

5.    修改表和字段属性

6.    视图切换

7.    导出图片

8.    导出EXCEL:

9.    描述字编辑

10.      生成代码

11.      导入现有表

12.      生成数据库

13.      执行脚本

这是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型。类似大家常用的数据库建模工具如PowerDesigner、ERWIN、ER-Studio和Rational-Rose等的超级精简版。

1. 下载安装

这一点没什么可说的,就是下载并运行安装程序,按照向导一步步走完。

官方下载地址:http://www.ezdml.com/

由于没有给微软充值,WIN10下可能提示风险,请点“更多信息”,然后选择“仍要运行”。

安装位置建议选择在非系统盘的根目录下,如D:\EZDML,避免文件被系统保护无法写入。

EZDML可以用安装程序安装,但其实它只需要一个exe就可以运行,想要中文的加个ezdml.CHS文件,想要连mysql的加个libmysql.dll,想要连sqlite的加个sqlite3.dll,想要连PostgreSQL的加intl.dll和libpq.dll。连ORACLE稍麻烦点,你得装个oracle客户端,或至少有个instant client,注意必须得是32位的。

2. 启动

启动程序,中文系统中会看到以下界面:

点“确定”打开示例:

英文系统或缺少ezdml.CHS文件时会显示英文界面:

本人母语是中文,所以后面说明都是以中文为主。

3. 新建表

新建文件,再新建一个表,系统弹出新建界面:

直接点“确定”,可以看到新建表的结果:

同一个文件中可以有多个模型,模型图中可以进行平移、缩小、放大、选择对象、拖动等操作。模型图中可以用键盘辅助操作,按加减号放大缩小,方向键平移,R复原,F居中。

左边树形列表中,可选择多个表或字段进行复制、粘贴;直接拖动可以进行排序;在左上方的“过滤条件”中输入内容可查找并列出符合条件的对象。

4. 外键

再建一个表,在字段列表中右键添加全部系统字段:

效果如下:

接着,在模型图上选中“数据表1”,再点工具栏上的“连接”:

然后再点击“数据表2”,系统弹出连接界面:

设置从表的关联字段为“Rid”,然后点“确定”,即可建立外键关系:

5. 修改表和字段属性

在模型图上双击“数据表1”,弹出该表的属性编辑界面,可以添加删除字段,或进行拖动排序等操作,可直接修改表名、逻辑名、注释和字段的物理名、逻辑名、类型、约束:

也可以双击一个字段,弹出字段属性界面来修改字段:

至此,我们可保存一下文件以防数据丢失。

顺便说明一下,系统退出时也自动所有数据保存到临时文件目录下,启动时会自动读取并恢复。

6. 视图切换

上述模型图中,默认显示的是物理逻辑名称视图,可执行“模型|切换物理/逻辑视图”菜单命令或点工具栏按钮切换视图:

物理视图:

逻辑视图:

默认显示表对象的字段类型是按标准SQL定义,表对象的背景色是浅蓝,可执行“模型|模型选项”进行修改:

之前物理视图的字段类型默认是标准SQL的类型(如字符串是VARCHAR),如果在模型图选项里修改为ORACLE,则自动显示为ORACLE的类型(字符串是VARCHAR2):

7. 导出图片

在模型图上选中一个或多个对象(不选则为全部),右键“复制图像”,即可将选中的图形复制到剪贴板,可直接到画笔、WORD等地方粘贴(默认输出格式为位图,如果需要WMF矢量图可按住SHIFT键复制图像)。

8. 导出EXCEL

在模型图上选中一个或多个对象(不选则为全部),右键“导出”,系统提示指定文件路径和类型:

选择EXCEL,指定文件路径和名称后,点“保存”,系统提示:

点“确定”,则自动打开Excel:

9. 描述字编辑

描述字编辑功能是本软件的一大特色,即可以用直接用键盘输入快速完成建表。之所以有这个功能,是我觉得建一个表不需要用鼠标点那么多下中间还键盘输入那么麻烦,直接文本编辑是最快的。有了这个功能后方便多了,基本上我建表时也再不去用那个常规界面了。而且用这个来复制粘贴表结构也很方便。

示范如下:

点新建表,并切到“描述”页:

表的描述字中,可以输入简写字母代替数据类型,S,I,F,D,BO,E,BL,O分别代表文本,整数,浮点数,时间,真假,枚举,文件,对象。

输入以下内容,删除或覆盖掉原有文字:

测试订购表
----------
ID 编号 PK
RID FK
名称 S(200) //订购的商品名称
数量 I
单价 F(10,2)
日期 D
注释

焦点离开输入框时,系统会自动识别并重新生成描述字:

点“确定”,效果如下:

双击打开属性,结果如下:

10. 生成代码

在表的属性窗口中,切换到“生成”页,可生成多种代码,包括:

■标准SQL:

■ORACLE:

■MYSQL:

■SQLSERVER:

■POSTGRESQL:

前面几个数据库SQL是固定生成的,后面的代码是脚本生成(可以自行修改脚本):

■C++:

■JAVA:

11. 导入现有表

即常说的逆向工程了。这里以Microsoft Access附带的“罗斯文商贸”数据库为例(这玩意应该是以前的Access自带的,现在已经找不到了,装了个OFFICE2000才弄到):

首先新建一个文件,执行“模型|导入数据库”菜单命令,系统显示导入界面并提示连接数据库:

选择ODBC并连接到MS Access MDB文件:

 

系统列出已有表:

其中“自动大小写”的意思是自动对表名和字段名进行首字母大小处理(如USERINFO会处理为UserInfo,系统根据字典文件dict.txt进行处理,如果对处理结果不满意,可修改字典文件增加你需要的词语);“注释转为逻辑名”意思是把表或字段的注释作为逻辑名称导入。

有些系统表(MSys开头的)无法导入,要取消勾选,不然会报错:

最终导入结果如下:

如果对布局不满,可以试试多点几次“重新排列”:

在连接了数据库的情况下,双击表查看属性,可以在“数据”页中直接查看数据:

12. 生成数据库

为了说明生成功能,我们先找第一个表修改一下,增加文本字段“销售情况”,并把“产品销售额”由“浮点(19)”改为“浮点(10,2)”:

执行“模型|生成数据库”菜单命令,系统显示生成数据库界面:

先不连接数据库时,直接点击“生成SQL”,生成的是创建表的标准SQL:

连接数据库,再生成一次,这时生成的SQL只是发生变化的表和字段:

其中“产品销售额”由“浮点(19)”变为“浮点(10,2)”。

由于值域变小了,必须重新生成字段。为了防止数据丢失,系统生成的SQL是先把它改名,然后创建新字段,并把数据从旧的字段UPDATE到新字段中,最后删除原有字段的SQL(为防止数据丢失,删除字段的SQL默认以注释的形式生成,可手工修改将注释符去掉)——新版默认直接修改表了,需要改配置才能生成备份字段。

而销售情况是新字段,就直接生成了创建字段的SQL。

可直接修改SQL的内容,点击“执行”可以执行相应SQL生成数据库,也可以把SQL复制到管理工具的SQL窗口中执行。

13. 执行脚本

最后演示下脚本。一般来说大家不需要深入地使用脚本,但了解一点点遍历表和字段的脚本会非常有用。

EZDML支持javascript和pascal脚本。这里以javascript为例。

还是刚才那个罗斯文商贸的模型,假设我要在每个表名的前面加前缀“RS_”,操作如下:

1)        执行菜单命令“模型|执行脚本”(在模型图上右键菜单里也有)

2)        弹出的脚本窗口里应该是javascript示例脚本,如果不是,请连点几次新建New命令

3)        清空原有脚本,输入以下内容:

for(var i=0; i<curModel.tables.count; i++)
{var tb=curModel.tables.getItem(i);tb.name = 'RS_'+tb.name;
}

4)        按F9执行:

当然了,如果要稳妥起见,最好能加个判断,避免多次执行时重复添加:

for(var i=0; i<curModel.tables.count; i++)
{var tb=curModel.tables.getItem(i);if ( tb.name.indexOf('RS_') !=0 ) //增加判断避免重复添加tb.name = 'RS_'+tb.name;
}

5)        关闭脚本窗口,回到模型图,按F5刷新:

6)        不好,表名是改了,但外键连接全不见了;别慌,这是因为字段的外键关联的表名没改,我们再写个脚本补救一下

7)        再次打开脚本窗口,将脚本修改如下:

for(var i=0; i<curModel.tables.count; i++)  //遍历表
{var tb=curModel.tables.getItem(i);for(var j=0; j<tb.metaFields.count; j++) //遍历字段{var f=tb.metaFields.getItem(j);if(f.relateTable)f.relateTable = 'RS_' + f.relateTable;}
}
8)        按F9执行一次,然后关闭脚本窗口,回到模型图,按F5刷新,外键又回来了:

关于脚本的更多内容,可参考另一个文档《EZDML脚本快速上手》。

OK,恭喜你基本上已经跑完一个流程了。如果还有其它问题,可参阅《EZDML常见问题》。

表结构设计器EZDML快速上手(2019年11月版)相关推荐

  1. 表结构设计器EZDML常见问题(2019年11月整理)

    EZDML常见问题 --本文最后修订日期:20191109,对应EZDML版本:2.35. 文档更新记录: 2009.11 表结构设计器EZDML1.5新版本发布,比以前改进了很多,因此重新写了个介绍 ...

  2. 表结构设计器EZDML介绍说明

    表结构设计器EZDML1.5新版本发布,下载地址:http://download.csdn.net/source/1858073 新版本比以前介绍的1.2版本改进了很多,因此重新写了以下的介绍说明. ...

  3. 表结构设计器EZDML V2.39发布

    好久没更新了,前段时间CSDN说我没认证不让登录,最近又可以了,正好发个版本. EZDML是一个超轻量级的表结构设计工具,可快速的进行数据建模,能迅速生成代码模板.简单界面和字典等方案文档,支持脚本编 ...

  4. 基于vue Ant-Design 的表单设计器,快速开发

    基于vue Ant-Design 的表单设计器,快速开发https://gitee.com/kcz66/k-form-design/ 表单设计器 k-form-design image 简介 参考项目 ...

  5. mysql表结构设计工具_工具 EZDML表结构设计器

    软件官网:http://www.ezdml.com/ 作者邮箱:huzzz@163.com EZDML EZDML是一个数据库建表的软件. 可快速的进行数据库表结构设计,建立数据模型. 类似大家常用的 ...

  6. Antd Vue 表单生成快速开发指南,内附强大的表单设计器

    之前发布了一款基于Element的表单设计器,可以快速设计和生成表单,设计器地址:http://form.making.link/.现在我可以告诉大家,Antd表单支持来了,可以使用设计器设计好表单后 ...

  7. 基于springboot+element ui+vue的java快速开发平台,集成html5工作流设计器,flowable, element ui 表单设计器

    前后端分离.maven多模块开发,方便多人协同开发 后端选型:springboot2 + mybatis + shiro + jwt token + flowable 前端选型:vue + eleme ...

  8. .net erp(办公oa)开发平台架构概要说明之表单设计器

    2019独角兽企业重金招聘Python工程师标准>>> 背景:搭建一个适合公司erp业务的开发平台. 架构概要图: 表单设计开发部署示例图   表单设计开发部署示例说明 1)每个开发 ...

  9. html5拖拽表单设计器,require+jquery+backbone实现拖拽式报表设计器-拖拽式表单设计器...

    HTML我帮您-拖拽式报表设计器-拖拽式表单设计器是一个可视化设计器,基于require+jquery+backbone+underscore+bootstrap实现的表单设计器.思想来源于 Layo ...

  10. 不得不说,还是这款开源工作流表单设计器较合心意!

    近几年,低代码的热潮持续不断.且不说之前的阿里钉钉跨平台写作方式.飞书上的审批流程,就说现在我们大部分人接触到的表单审批.投票的模板等,几乎都是以低代码的方式来呈现在大家面前的.在数字化转型的浪潮下, ...

最新文章

  1. LRU算法 -- 链表 完整实现
  2. 称重管理系统如何修改重量_微嵌智能称重方案实现自动零件计数秤
  3. SparseArray代替HashMap
  4. pb通过对象名称调用对象_C++ 可调用对象(二)
  5. 【过程改进】10分钟进阶Nuget
  6. 送给计算机老师的话,送给老师的话
  7. python获取类的类属性_Python中如何获取类属性的列表
  8. java 获取方法的注释_java – 有更有效的方法来获取注释方法吗?
  9. phpcms开启在线编辑模版 方法
  10. 程序员让开,硅谷将是物理学家的天下,薪水高得离谱
  11. 【企业架构师】12 项企业架构师认证
  12. PAT题集2019.6.5排名变动
  13. WORD分节、分页、设不同页码页眉的方法
  14. 使用three.js的着色器通道一之渲染地球模型
  15. 数组最大值和最小值的求法
  16. 单片机如何烧录程序?单片机的下载方式讲解
  17. 关于数据库的内模式、模式、外模式,数据的逻辑独立性,数据的物理独立性的个人体会
  18. 各种activation function(激活函数) 简介
  19. 成长-技术人员的成长
  20. 工厂(Factory)模式

热门文章

  1. awz3格式转epub格式转mobi格式
  2. 吴孟达《高等工程数学》第一章笔记和部分课后习题答案详解
  3. oracle建表的方法,oracle建表语句
  4. matlab在有限差分法中的应用,MATLAB在有限差分法中的应用
  5. vrep外部控制器力矩控制实例——以matlab脚本控制平面两连杆为例
  6. 测试鼠标点击速度软件编程,怎么测试鼠标自动点击速度
  7. ImageMagick中文使用手册——复合字体效果
  8. SOME/IP报文格式-Request ID
  9. 等价类划分法-案例剖析-设计测试用例
  10. ThinkPHP表单信息收集系统