JAVA技术交流QQ群:170933152

场景

这里我采用一个“最经典”的学生选课场景来使用ERStuidio

场景分析

学生与课程是多对多的关系,而在数据库设计中大部分都是将多对多转化成一对多,即需要”第三方”表(选课表)来连接这个关系 
学生表一对多选课表 
课程表一对多选课表

ERStudio解决方案

1、打开ERstudio创建三张表

表关系详解 
经常用第二种一对多关系

1、Identifying Relationship。

翻译:标识关联。

描述:一对多的关联,主表的主键既是子表的外键也是子表的主键。 

2、Non-Identifying, Mandatory Relationship。

翻译:非标识强制关联。

描述:一对多的关联,主表的主键是子表的外键,且非空。 

3、Non-Identifying, Optional Relationship。

翻译:非标识可选关联。

描述:一对多的关联,主表的主键是子表的外键,但可以为空。 

4、One-to-One Relationship。

翻译:一对一关联。

描述:一对一的关联,主表的主键是子表的外键,且可以为空。 

5、Non-Specific Relationship。

翻译:非特定关联。

描述:多对多的关联,主表与子表没有确定的关联关系。 

2、修改表名、添加属性字段(双击表)

uml创建完成

s:学生编号主键 
c:课程编号主键 
sc:学生编号外键、课程编号外键

3、选择生成物理模型

需要设置的内容(其他的就下一步就好)

物理模型

4、生成数据库

相关设置

下一步,直到看到相关界面,即可查看生成表的sql语句

<span style="color:#000000"><code>--
-- ER/Studio 8.0 SQL Code Generation
-- Company :      Microsoft
-- Project :      DATA MODEL
-- Author :       linjie
--
-- Date Created : Saturday, May 12, 2018 09:29:06
-- Target DBMS : MySQL 5.x
----
-- TABLE: course
--CREATE TABLE course(cid      INT                     AUTO_INCREMENT,cname    NATIONAL VARCHAR(20)    NOT NULL,PRIMARY KEY (cid)
)ENGINE=MYISAM
;--
-- TABLE: cs
--CREATE TABLE cs(sid      INT    NOT NULL,grade    INT,cid      INT    NOT NULL
)ENGINE=MYISAM
;--
-- TABLE: students
--CREATE TABLE students(sid      INT                     AUTO_INCREMENT,sname    NATIONAL VARCHAR(20)    NOT NULL,PRIMARY KEY (sid)
)ENGINE=MYISAM
;--
-- TABLE: cs
--ALTER TABLE cs ADD CONSTRAINT Refstudents4 FOREIGN KEY (sid)REFERENCES students(sid)
;ALTER TABLE cs ADD CONSTRAINT Refcourse5 FOREIGN KEY (cid)REFERENCES course(cid)
;</code></span>

DataBseDesign工作笔记003---ERStudio使用笔记_基本使用方法详解相关推荐

  1. [Java入门笔记] 面向对象编程基础(二):方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...

  2. 天龙手游角色删除服务器还有显示,天龙八部手游怎么删除角色_角色删除方法详解_玩游戏网...

    <天龙八部>手游购买无法完成怎么办? 天龙八部手游购买无法完成怎么办?很多小伙伴最近就遇到了这个问题.接下来,小编为大家带来了详细的介绍.充值不了解决办法最重要的是确认自己目前网络是通常的 ...

  3. Laravel学习笔记汇总——Collection方法详解

    ## Laravel学习笔记汇总--Collection方法详解 本文参考:https:// laravel.com/docs/8.x/collections // 返回整个底层的数组 collect ...

  4. 光纤收发器的原理及应用_光纤收发器的工作原理以及使用方法详解!

    原标题:光纤收发器的工作原理以及使用方法详解! 关于光纤收发器的工作原理以及使用方法这块,在这里飞畅科技的小编做了专门的整理,首先,我们来了解下什么是光纤收发器,光纤收发器是一种将短距离的双绞线电信号 ...

  5. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  7. python反向缩进_在Pycharm中对代码进行注释和缩进的方法详解

    在Pycharm中对代码进行注释和缩进的方法详解 一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快 ...

  8. 饥荒服务器不显示管理员,饥荒联机版管理员怎么添加_饥荒联机版管理员介绍与添加方法详解_玩游戏网...

    <饥荒>联机版里面的管理员这个概念大家了解吗?我之前也不清楚管理员相关内容,下面笔者就为大家带来了饥荒联机版管理员介绍与添加方法详解,小伙伴们还不了解联机版管理员的下面跟我一起来看看吧. ...

  9. for根据ID去重_汽车ECU参数标定之配置Overlay RAM实现Qorivva MPC57xx系列MCU参数在线标定和代码重映射原理和方法详解...

    内容提要 引言 1. MPC5744P的Overlay RAM工作原理介绍 2 MPC5744P的Flash Overlay配置详解 2.1 平台Flash标定区域描述字寄存器配置字0--PFLASH ...

最新文章

  1. 漫画:有趣的海盗问题 (完整版)
  2. 图上的对抗与攻击精选论文列表(​2021相关论文一览)
  3. leetcode 268. Missing Number
  4. java nio connect_Java NIO系列教程(八) SocketChannel
  5. 学习socket nio 之 mina实例
  6. Android笔记 - 如何避免ActivityNotFound异常,查看Activity堆栈信息,获取进程名
  7. 稳妥圣诞节海报设计模板|节日怎可辜负美食
  8. 如何利用BI搭建电商数据分析平台
  9. 低压锅炉行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. Git——比较版本区别【git status / git diff】
  11. JSP编程,url中加斜杠和不加斜杠的区别
  12. 机器学习的数学基础书籍
  13. 数学建模——五步方法
  14. 汽车毫米波雷达测试与测量解决方案
  15. 新中大银色快车财务数据完美迁移到用友NC65
  16. python操作腾讯文档_Python操作Excel文档
  17. Hyper-V固定虚拟机IP
  18. 电子设计教程35:LC振荡电路
  19. MySQL主从1205报错【转】
  20. NoSQL和MemeryCache的出现意味着传统数据库使用方式的变革吗?(arvin-推荐--看评论)

热门文章

  1. 牛客网-内心里的一把火
  2. python与机器学习(一)图片相关操作
  3. nor flash驱动编写步骤
  4. 为什么8位二进制的取值范围是-128~127
  5. python+opencv+PIL,在图片和视频中写入中文(汉字)
  6. 毕设日志——tensorboardX无法连接的问题
  7. Java springcloud B2B2C o2o多用户商城 springcloud架构
  8. 同一路由带参刷新,以及params和query两种方式传参的异同
  9. Date对象在Android和IOS上的兼容
  10. 2017华南理工华为杯H bx值(容斥问题)