关系型数据库数据模型生成/设计工具

当有新的业务系统研制需求,需要理解并刨析项目中的数据和数据关系。思在脑里终觉虚,还需落到纸面来。在需求分析阶段,我们可以用ER图来可视化地帮助我们理清这些数据及关系。

E-R图也称实体-联系图(Entity Relationship Diagram),是描述现实世界关系概念模型的有效方法。

构成E-R图的3个基本要素是实体型、属性和联系。用于描述数据库的ER图的样子如下所示:

图片 dbeaver的ER图

 

图片 Navivat的ER图

先来梳理一下ER图在分析设计或数据库管理中的作用,再选择合适易用的工具。

1 需求分析阶段,还没有开始创建库表:绘制ER图

2 创建库表阶段:一种是设计好了ER图,直接生成库表或库表创建语句;另一种是使用可视化工具建表中(不擅长写sql语句,但会用plsql等工具设置字段等以后建表),基于已有库表生成ER图来检查工作。

3 检验阶段:生成ER图,检查库表是否存在设计问题

扫描二维码关注公众号,回复: 15578068 查看本文章

从使用角度来讲,ER图与数据库结构应该是对应的,那么应该存在双向的转换:从ER图生成数据库结构,从数据库结构导出ER图。

绘制ER图的工具有很多,不考虑基于ER图创建数据库语句的情况下,很容易找到各种专业/非专业的软件来实现。

生成ER图的工具,多数数据库软件都支持。

重要的是能从ER图生成数据库建表语句,以及绘制用于创建语句的ER图的工具。这个不是免费版软件都能提供的。

Navicat、PDMan、DBeaver三者ER图比较_꧁༺摩༒西༻꧂的博客-CSDN博客_pdman画er图

找了几种能借助ER进行数据库开发的工具:

1 navicat商用版:十分好用,界面美观,效率高。但是如果在网上找资源往往报毒,如果能用navicat就用navicat吧。

2 workbench社区版(只用于Mysql):看有人说商用版才支持模型同步数据库。用了下现在的社区版,应该也是可以做到的。database->reverse engineer 可生成已有库表的ER图(是生成model界面,同时在model界面生成相应ER图)。model/ER界面上只能拷贝单个模式/单张表对应的sql语句,而在file->export->forward Engineer可导出model整体对应的sql创建脚本(create table if not exists ...,该流程可保存到文件或剪贴板),database->forward engineer应该是同步到库(也是生成脚本,该流程可以直接为你执行到库)。

不用逆向工程生成ER,而根据需求来设计库表时:

_在主界面上file->new model创建空白的模型设计页面,model->new diagram可创建空白ER图;

_在model中设计表,model->create ...from...可基于model里的表/视图等直接生成对应ER图;

_ER图界面上可从左侧列表里已有的表(model里的表而非库中物理存在的表)拖拽到图上展示,可以对展示的表进行编辑;

_当在ER界面创建表,会同步体现在model界面上。

MySQL Workbench对数据库进行逆向工的操作教程-太平洋电脑网

MYSQL Identifying relationship 和non-Identifying relationship 区别 - 简书

3 powerdesigner(收费):也支持双向操作

4  PDMan :不方便用Navicat可以考虑这款。一款国人开发的开源软件,功能简洁上手非常容易,支持多种操作系统,目前系统默认实现了MySQL,Oracle,Java的代码自动生成,而且还都带上了注释。另外数据库模型版本管理功能,可以将版本变动内容单独记录,并直接生成DDL语句。再见!PowerDesigner_51CTO博客_再见少年

Pdman数据库建模工具——使用教程_ywm_up的博客-CSDN博客_pdman使用教程

其他支持ER生成的软件:

DBeaver(开源,需jdk,java能连的库它都能连,包括达梦,还能生成模拟数据,支持库表比对生成详细的比较结果)DBeaver一款替代Navicat的数据库可视化工具_数据库其它_脚本之家

DataGrip(IdeaIJ)免费的数据库管理工具最好用的是什么? - 知乎

猜你喜欢

转载自blog.csdn.net/starfire_hit/article/details/129179368