MySQL Workbench构建ER图(实体关系图)

MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具,它是著名的数据库设计工具DBDesigne4的继任者,可以通过MySQL Workbench设计和创建新的数据库图示,管理数据库以及进行MySQL迁移。

一、安装MySQL Workbench

  • 1.1 安装MySQL Workbench

点击进入MySQL Workbench下载页面,下载操作系统对应版本的客户端,安装即可

  • 1.2 连接MySQL数据库

本文使用本地自建的MySQL数据库,本地MySQL数据库的创建及使用详建文档。启动本地MySQL,在Workbench首页建立数据库连接:
MySQL Workbench构建ER图(实体关系图)_第1张图片

二、MySQL Workbench使用

  • 2.1 管理数据库

Workbench连接数据库后会生成连接记录:
MySQL Workbench构建ER图(实体关系图)_第2张图片
点击该连接并输入数据库密码进入数据库管理界面,左侧导航栏是所建的数据库、表信息,选择特定表后可以对改表进行CRUD操作
MySQL Workbench构建ER图(实体关系图)_第3张图片
也可以查看特定表的基本信息:
MySQL Workbench构建ER图(实体关系图)_第4张图片

  • 2.2 通过MySQL Workbench构建ER(实体关系)图

除了能管理MySQL数据库外,Workbench也可以构建ER(实体关系图),点击进入数据库模型构建模块:
MySQL Workbench构建ER图(实体关系图)_第5张图片
构建ER图的模型来源有三种:数据库逆向、导入外部.sql文件和手动创建数据模型。

【数据库逆向】

点击菜单栏 Database -> Reverse Engineer
MySQL Workbench构建ER图(实体关系图)_第6张图片
选择刚创建的本地数据库连接,输入数据库用户密码,按引导执行相应操作即可:
MySQL Workbench构建ER图(实体关系图)_第7张图片
最后生成ER模型所需的相关实体数据模型:
MySQL Workbench构建ER图(实体关系图)_第8张图片
【导入.sql文件】

除了通过连接数据库逆向导入模型外,如果已经有数据表的建表DDL文件,也可以通过导入外部文件的方式导入数据模型:

创建包含DDL语句的.sql文件 test.sql:

CREATE TABLE `house` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `address` varchar(100) NOT NULL,
 `number` int(11) NOT NULL,
 `type` int(11) NOT NULL,
 `room` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE `sofa` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `type` int(11) NOT NULL,
 `size` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE `user` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(100) NOT NULL,
 `age` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

通过file -> import 导入test.sql文件:
MySQL Workbench构建ER图(实体关系图)_第9张图片
数据模型导入后效果如下,此后可以创建Diagram:
MySQL Workbench构建ER图(实体关系图)_第10张图片
【手动创建】

除了以上两种快捷创建数据实体模型的方式外,也可以手动创建数据模型:
MySQL Workbench构建ER图(实体关系图)_第11张图片

数据实体模型构建后,可以在Diagram中构建实体间的关系图(ER图):
MySQL Workbench构建ER图(实体关系图)_第12张图片
以上ER图中有两种一对多的关系,它们分别表示identitying relationships和non-identitying relationships。其中identitying relationships是指子表必须依赖主表存在,如电话号码实体,用实线表示;non-identitying relationships指子表不必依赖母表存在,如sofa实体,用虚线表示。

ER模型图创建后,可以导出为PNG、SVG等类型图片。

参考

  • workbench导入.sql文件
  • workbench基本操作
  • identity-relation vs non-identity-relation

你可能感兴趣的:(数据库,工具)