MySQL Workbench是MySQL官方的可视化数据库设计工具,简单介绍Ubuntu平台下如何安装MySQL Workbench以及如何使用它画ER图

Ubuntu下使用如下命令进行安装:

$ sudo apt-get update

$ sudo apt-get install mysql-workbench

$ mysql-workbench --version

MySQL Workbench CE (GPL) 6.3.6 CE build 511

2 ER图-》表

ER图,Entity Relationship Diagram,实体-关系图,侧面反应了关系型数据库的“关系”

这部分介绍如何在Workbench中设计ER图,并根据ER图,导出对应的sql数据库脚本文件

打开Workbench的欢迎界面如下:

File->New Model,然后添加ER图:

在数据库mydb中,添加表:

双击编辑表

我们添加一个用户student表,记录学生信息,如下图,包含如下column:sid: 主键,学号

name: 名字

age: 年龄

sex: 性别

class: 班级

我们再添加一个课程表course,记录课程信息,如下图,包含如下column:cid: 主键,课程号

name: 课程名

score: 课程对应的学分

我们再添加一个学生-课程成绩表score,记录学生们的课程成绩,如下图,包含如下column:cid: 主键,外键(引用自course.cid)

sid: 主键,外键(引用自student.sid)

score: 某个学生某个课程的得分

最终的ER图也如上,即学生信息存在学生表中,课程信息存在课程表中,课程的课程号(cid)和学生的学号(sid)共同决定某个学生的某门课成绩,如学号20130529(name:zqq age:xx sex:xx)的同学课程号为1(name:物理)的课程成绩为59分

然后,File->Export->Next->Next选择导出sql文件:

sql文件如下:

-- MySQL Script generated by MySQL Workbench

-- 2019年01月15日 星期二 16时46分35秒

-- Model: New Model Version: 1.0

-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------

-- Schema mydb

-- -----------------------------------------------------

-- -----------------------------------------------------

-- Schema mydb

-- -----------------------------------------------------

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;

USE `mydb` ;

-- -----------------------------------------------------

-- Table `mydb`.`student`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `mydb`.`student` (

`sid` INT NOT NULL,

`name` VARCHAR(45) NULL,

`age` INT NULL,

`sex` VARCHAR(45) NULL,

`class` VARCHAR(45) NULL,

PRIMARY KEY (`sid`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `mydb`.`course`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `mydb`.`course` (

`cid` INT NOT NULL,

`name` VARCHAR(45) NULL,

`score` VARCHAR(45) NULL,

PRIMARY KEY (`cid`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `mydb`.`score`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `mydb`.`score` (

`sid` INT NOT NULL,

`cid` INT NOT NULL,

`score` INT NULL,

PRIMARY KEY (`sid`, `cid`),

INDEX `fk_score_1_idx` (`cid` ASC),

CONSTRAINT `fk_score_1`

FOREIGN KEY (`cid`)

REFERENCES `mydb`.`course` (`cid`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_score_2`

FOREIGN KEY (`sid`)

REFERENCES `mydb`.`student` (`sid`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

SET [email protected]_SQL_MODE;

SET [email protected]_FOREIGN_KEY_CHECKS;

SET [email protected]_UNIQUE_CHECKS;

3 表-》ER图

如下图,我们已经在mydb数据库中有以下表了:

如何生成上述的ER图呢?

点击Database->Reverse Engineer,然后链接,选择相关数据库mydb就可以了

4 References

mysql workbench画er_MySQL Workbench画ER图相关推荐

  1. 【MySQL】Navicat生成数据库表er图

    1.选择数据库 2.点击软件右下角的五个框框中的第一个 3 ctrl+A全选 右击 4.生成

  2. 〖Python 数据库开发实战 - MySQL篇㉟〗- 综合案例 - 数据库ER图设计、新闻类型表与用户角色表的创建

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  3. SQL基础E-R图画法(二)

    在某数据库中,相关表的建表语句如下: create tableT1( a1 int primary key, a2 int, a3 int foreign key references T2(a3)) ...

  4. (软件工程复习核心重点)第三章需求分析-第二节:实体联系图(ER图)

    文章目录 一:数据模型 (1)定义 (2)构成 二:实体联系图(E-R图) (1)定义 (2)符号表示 (3)E-R模型的优点 (4)示例 一:数据模型 (1)定义 为了把用户的数据要求清楚.准确地描 ...

  5. 【数据库】ER图进行描述某系统之学习七

    文章目录 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 三.分析 四.ER图 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 画出相应的ER图,使得可以从该ER图推导 ...

  6. mysql workbench画E-R图,并根据E-R生成sql(步骤超完整)

    MySQL Workbench使用ER图创建数据表 完整步骤,逐一操作即可. 双击[Add Diagram]. 点击[建表]图形按钮,位置如下图: 点击空白处即可创建一个[table]表. 添加表字段 ...

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

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

  8. MySQL基础:使用MySQL Workbench生成ER图

    这篇文章介绍一下如何使用MySQL Workbench生成ER图. 事前准备 MySQL: 8.0.11 liumiaocn:~ liumiao$ mysql.server start Startin ...

  9. mysql er图怎么画_mysqlworkbench画er图

    逆向导出er图(表已经建好的情况下) 两种方式进入mysql model 第一种在菜单栏中选择 Database---->Reverse Engineer  到达reverse engineer ...

  10. MySQL如何画ER图

    ER图(实体关系图)是一种数据库建模方法,帮助表示实体和实体之间的关系. MySQL本身不提供画ER图的功能,你可以使用第三方工具,如: Lucidchart Microsoft Visio Glif ...

最新文章

  1. ASP.NET2.0雷霆之怒盗链者的祝福【月儿原创】
  2. 贪心 ---- E. Maximum Subsequence Value[位运算]
  3. C语言逆序字符串数组,【C语言】利用栈将数组中字符串逆序
  4. 【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )
  5. 多项目开发下的dll文件管理
  6. WPSmushProv3.7.0图片上传压缩插件-WordPress图像优化插件
  7. leetcode - 1191. K 次串联后最大子数组之和
  8. PetShop4.0的安装、设置、调试与体验(草稿)
  9. 10位photoshop顶尖设计大师
  10. C++小游戏——推箱子
  11. 配电室环境监测系统,智能配电室环境监控系统完整方案
  12. LNK1169 LNK2005错误
  13. 重构改善既有代码的设计思维导图
  14. html微博图片上传,如何使上传新浪微博照片更清晰
  15. 基于电磁仿真软件CST的8-12GHz喇叭圆锥天线设计
  16. AES解码:BadPaddingException: pad block corrupted异常
  17. tableau必知必会之学做两个集合的维恩图(文氏图)Venn diagram
  18. Stochastic Weight Averaging
  19. 新磁盘分区格式化挂载
  20. unity 2d地图tilemap滚轮缩放出现缝隙解决办法

热门文章

  1. QT学习之做一个简易图片处理器(后续补全)
  2. 给互联网人的反侦查手册
  3. [GRE] 填空机经 Section56-60
  4. struts2 中 Actionsupport类的作用
  5. 安装visio2019Pro提示报错“0xC004F017“具体解决办法
  6. OSCS开源软件安全周报,一分钟了解本周开源软件安全大事
  7. 【C语言编程】实现猜数字游戏
  8. 七、瞰景Smart3D工具
  9. 计算机组成原理——指令格式设计
  10. SAM2695 带效果器的低功耗单芯片合成器