该篇博客主要阐述ERStudio的创建uml和表与表之间的关系解析。ERStudio是一种可视化的建模应用程序,除了可以设计与构建与平台相关的物理数据库以外,还可以分析与设计与平台无关的逻辑数据架构。 ER/Studio Data Architect 的强大的,多层式设计环境非常有助于数据库管理员,开发人员和数据架构师建立与维护庞大复杂的数据库应用程序,也有助于跨企业的元数据的巩固、报告和重用。
场景
这里我采用一个“最经典”的学生选课场景来使用ERStuidio
场景分析
学生与课程是多对多的关系,而在数据库设计中大部分都是将多对多转化成一对多,即需要”第三方”表(选课表)来连接这个关系
学生表一对多选课表
课程表一对多选课表
ERStudio解决方案
1、打开ERstudio创建三张表
表关系详解
经常用第二种一对多关系
1、Identifying Relationship。
翻译:标识关联。
描述:一对多的关联,主表的主键既是子表的外键也是子表的主键。
2、Non-Identifying, Mandatory Relationship。
翻译:非标识强制关联。
扫描二维码关注公众号,回复:
815753 查看本文章
描述:一对多的关联,主表的主键是子表的外键,且非空。
3、Non-Identifying, Optional Relationship。
翻译:非标识可选关联。
描述:一对多的关联,主表的主键是子表的外键,但可以为空。
4、One-to-One Relationship。
翻译:一对一关联。
描述:一对一的关联,主表的主键是子表的外键,且可以为空。
5、Non-Specific Relationship。
翻译:非特定关联。
描述:多对多的关联,主表与子表没有确定的关联关系。
2、修改表名、添加属性字段(双击表)
uml创建完成
s:学生编号主键
c:课程编号主键
sc:学生编号外键、课程编号外键
3、选择生成物理模型
需要设置的内容(其他的就下一步就好)
物理模型
4、生成数据库
相关设置
下一步,直到看到相关界面,即可查看生成表的sql语句
--
-- 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)
;