表结构设计器(EZDML)

 

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

表结构设计,即所谓的数据建模,目前大家常用的同类著名工具有PowerDesigner、ERWIN、ER-Studio和Rational-Rose等,本工具无论是功能还是界面都无法跟它们比较,但本工具的好处是简单、快速、免费,有一些特有的功能。我之所以要做这么个工具,有较多的原因,如上述的工具在某些情况下不方便,安装麻烦,占资源多,速度较慢,还要收费。同时我自己也习惯喜欢拿些东西来练手,平时开发过程中经常想要按自己的想法快速生成程序代码,正好又有做过类拟的界面开发,因此几年前开始搞了个简单的程序,慢慢地改啊用啊,后来发现只有自己一个人用似乎太自闭了,就发布出来了。

好了,啰嗦了这么多,接下来分以下几步截图介绍:
1. 下载安装
2. 启动
3. 新建表
4. 外键
5. 修改表和字段属性
6. 视图切换
7. 导出图片
8. 导出EXCEL
9. 描述字编辑
10. 生成代码
11. 导入现有表
12. 生成数据库
13. 大小写处理

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

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

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

3. 新建表:新建一个表,系统弹出新建界面:

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

切换到模型图:

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

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

4. 外键

再建一个表,勾选全部缺省字段,效果如下:

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

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

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

5. 修改表和字段属性

在模型图上双击“数据表1”,弹出该表的属性编辑界面,可以添加删除字段,或进行拖动排序等操作:

可直接修改表名、逻辑名、注释和字段的物理名、逻辑名、类型、约束:

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

同样的修改一下“数据表2”:

同时修改一下外键字段关联:

最终效果如下:

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

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

6. 视图切换

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

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

 

按上述修改结果如下:

7. 导出图片:在模型图上选中一个或多个对象,右键“复制图像”,即可将选中的图形复制到剪贴板,可直接到画笔、WORD等地方粘贴(输出格式为WMF矢量图格式)。

8. 导出EXCEL

在模型图上选中一个或多个对象,右键“导出到Excel”,系统提示输入文件路径:

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

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

9. 描述字编辑

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

示范如下:

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

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

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

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

点“确定”,效果如下:

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

10. 生成代码

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

■标准SQL:

■ORACLE:

■MYSQL:

■C++:

■PASCAL:

■C#:

■JAVA:

11. 导入现有表

即常说的逆向工程了。导入生成功能可支持ORACLE、MYSQL、SQLSERVER和ODBC数据库。这里我以Microsoft Access附带的“罗斯文商贸”数据库为例:

首先新建一个模型,并重命名为“罗斯文商贸”:

执行“模型|导入数据库”菜单命令,系统显示导入界面并提示连接数据库:

选择ODBC并连接到MS Access MDB文件,系统列出已有表:

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

点导入,会提示有些系统表无法导入:

点“确定”跳过,最终结果如下:

12. 生成数据库

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

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

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

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

其中“产品销售额”由“浮点(19)”变为“浮点(10,2)”,由于值域变小了,必须重新生成字段。为了防止数据丢失,系统生成的SQL是先把它改名,然后创建新字段,并把数据从旧的字段UPDATE到新字段中,最后删除原有字段的SQL(为防止数据丢失,删除字段的SQL默认以注释的形式生成,可手工修改将注释符去掉)。

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

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

13. 大小写处理

最后说一下大小写处理功能。从数据库导进来的表一般都是全大写或不分大小写的,有时比较难分辨,不利于查看。例如上述部门表生成到ORACLE数据库后,再从数据库导进来时,会变成全大写:

这时可以点左下方的“大小写转换”按钮,弹出菜单如下:

执行“自动大小写”,系统处理的效果如下:

“自动大小写”的意思是自动对表名和字段名进行首字母大小处理。例如USERINFO会处理为UserInfo。处理过程是根据字典文件dict.txt进行的,如果对处理结果不满意,可修改字典文件增加你需要的词语。

 

数据建模工具------EZMNL的更多相关文章

  1. 数据建模工具系列 之 让Oracle Data Modeler支持Vertica

    引子 在上篇博客中重点介绍了几个建模工具的评估, 并选定了SQL Power Architect作为最终的建模工具, 在评估过程中也对Oracle Data Modeler支持Vertica做了点研究 ...

  2. 数据建模工具系列 之 让SQL Power Architect支持Vertica

    几款数据建模软件评估 下面是流行几款数据建模软件: 软件 特点 支持Vertica? 免费? ERWin 功能强大, 操作较繁琐 不支持Vertica 商业软件,价格高 Power Designer ...

  3. Mac/Ubuntu下的数据建模工具PDMan,替代PowerDesigner

    PowerDesigner我使用过用Wine在Linux和Mac下用,但总有些缺陷,用Navicat却发觉没有Linux版本的: 一般关心的问题主要有如下: 1.数据库的关系设计图. 2.导出数据库脚 ...

  4. PowerDesigner数据库建模工具一缆

    转自:http://blog.csdn.net/shanliwa/archive/2007/10/20/1834117.aspx Sybase PowerDesigner - 一个高端数据建模工具.你 ...

  5. 数据库建模工具 PD的使用

    1.1. 数据库建模工具 PD的使用 安装12.5版本,进行破解 PD 是最专业数据建模工具, 是 Sybase 公司一个 产品 PD 提供四种模型文件 PDM 物理数据模型,面向数据库表结构设计,直 ...

  6. dython:Python数据建模宝藏库

    尽管已经有了scikit-learn.statsmodels.seaborn等非常优秀的数据建模库,但实际数据分析过程中常用到的一些功能场景仍然需要编写数十行以上的代码才能实现. 而今天要给大家推荐的 ...

  7. UML常用建模工具简介,安装方法和各自的优点

    这学期学习了统一建模语言,自己初学时对各种建模工具十分陌生,各种名词都不懂,软件也都不了解,开始很是不知所措.为了防止其他初学者陷入我的困境,自己对各种工具进行了总结: Visio:介绍:Visio是 ...

  8. 数据建模软件Chiner,颜值与实用性并存

    目录 一.chiner介绍 二.值得关注的功能点 2.1. 兼容各种格式的数据建模文件 2.2. 支持多数据库.代码生成 2.3. 支持逻辑视图与物理视图设计 2.4. 自动生成数据库文档 三.总结 ...

  9. 大数据之路week07--day05 (一个基于Hadoop的数据仓库建模工具之一 HIve)

    什么是Hive? 我来一个短而精悍的总结(面试常问) 1:hive是基于hadoop的数据仓库建模工具之一(后面还有TEZ,Spark). 2:hive可以使用类sql方言,对存储在hdfs上的数据进 ...

随机推荐

  1. 移动端ios针对input虚拟键盘挡住的问题

    写移动端的时候发现input的虚拟键盘对Ios的手机不是很友好 我的是苹果6 点击的时候经常会挡住input框 针对这个问题找了很多发现都没效果 最后发现用下面这段js就可以解决了 $("i ...

  2. leetcode 一些算法题及答案

    1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...

  3. [转]gulp排除已压缩文件思路

    文章转载至[gulp排除已压缩文件思路] gulp默认排除语法的弊端 有个时候我们需要时用gulp排除已经压缩过的js,css等.如果以压缩文件是以".min.js"之类命名规范的 ...

  4. 微信小程序地图组件

    index.wxml <map id="map" markers="{{markers}}" longitude="{{longitude}}& ...

  5. Go字符串常用处理

    应用到strings包 /** * @Author: jadeshu * @Description: * @File: main * @Version: 1.0.0 * @Date: 2019/11/ ...

  6. 手把手带你部署K8s二进制集群

    集群环境准备: [etcd集群证书生成] #mkdir -p k8s/{k8s-cert,etcd-cert}#cd k8s/etcd-cert/ #cat > ca-config.json & ...

  7. 273道题目;更新到java题目里面 (已迁移到其他类目下面,存储)

    1. Java 基础 1.JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么? 3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗? ...

  8. 城东C位之路!探秘三线楼市板块崛起3大核心基因

    等着咧!伍家篇什么时候出?这就出. 城东C位之路!- 诸葛磊 好几个粉丝已经在催了,诸葛磊决定改变下写作策略,伍家岗篇分版块用小篇幅来写,这样文章不至于太长,否则又是一篇洋洋洒洒上万字的文章,粉丝看着 ...

  9. axios与ajax的区别及中文用户指南

    Ajax: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. $.ajax({ ty ...

  10. Laravel 入门常见问题汇总

    一.安装完成后想打开 Laravel 内置的登录页面,报错 解决方法: Laravel 利用 PHP5.4 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管 ...