数据库建模软件ERStudio-表关系建模详解
ERStudio是优秀的数据库建模软件,它不仅可以建立表、视图等模型,还可以建立多表间各种关系的模型,另外还可以根据模型生成表到数据库,下面具体讲解一下它的表关系建模。
1. 首先讲一下怎么建立表关系模型。
步骤:(1)点击关系图标。(2)在主表上点击一下。(3)在外键表上点击一下。这样就建立了表关系。
2. 建立表关系的模型如下图。
3. 可以看到上面的表关系图标共有5个,那么它们分别是什么意思呢。下面来详细讲解。
4. 第一个图标:Identifying Relationship。翻译:标识关联。
描述:一对多的关联,主表的主键既是子表的外键也是子表的主键。效果如下。
5. 第二个图标:Non-Identifying, Mandatory Relationship。翻译:非标识强制关联。
描述:一对多的关联,主表的主键是子表的外键,且非空。效果如下。
6. 第三个图标:Non-Identifying, Optional Relationship。翻译:非标识可选关联。
描述:一对多的关联,主表的主键是子表的外键,但可以为空。效果如下。
7.第四个图标:One-to-One Relationship。翻译:一对一关联。
描述:一对一的关联,主表的主键是子表的外键,且可以为空。效果如下。
8. 第五个图标:Non-Specific Relationship。翻译:非特定关联。
描述:多对多的关联,主表与子表没有确定的关联关系。效果如下。
9 . 也许会发现,对于第五个来说,没有什么意义,其实这种情况下,一般是再建立一个关联表,将这两个表关联起来,起到多对多关联的作用。
比如用户表和角色表,它们是多对多关系,我们就会再建一个用户-角色表,这个表里放置用户和角色的联合主键。
下面就再建立一个关联表:user_role,只建表就行,字段就先不加。
10. 我们点击第一个图标:Identifying Relationship,然后先建立user和user_role关联,再建立role和user_role关联。
11. 最后,可以看到,user_role表里自动加入了user的主键和role的主键,起到了联合主键的作用,此为多对多关联。
数据库建模软件ERStudio-表关系建模详解的更多相关文章
- 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...
- MySQL对数据库数据进行复制的基本过程详解
MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...
- Skip List(跳跃表)原理详解与实现【转】
转自:http://dsqiu.iteye.com/blog/1705530 Skip List(跳跃表)原理详解与实现 本文内容框架: §1 Skip List 介绍 §2 Skip List 定义 ...
- UML建模语言入门 -- 用例视图详解 用例视图建模实战
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...
- 【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...
- MySQL数据库 字段操作 多表关系(更新中...)
外键 (foreign key) ## 外键 ```mysql # 作者(author):id,name,sex,age,mobile, detail_id # 作者详情(author_detail) ...
- SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解
本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表 位运算 SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...
- uml中定义的关系详细详解
uml定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依 ...
- Oracle create tablespace 创建表空间语法详解
CREATE [UNDO] TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ...... ...
- AgileEAS.NET SOA中间件平台/敏捷软件开发平台 and SQL详解
AgileEAS.NET SOA中间件平台/敏捷软件开发平台 http://www.smarteas.net/ SQL详解: http://www.w3school.com.cn/sql/func_d ...
随机推荐
- mysql-表完整性约束
阅读目录 一 介绍 二 not null与default 三 unique 四 primary key 五 auto_increment 六 foreign key 七 总结 一 介绍 回到顶 ...
- 常用模块二(hashlib、configparser、logging)
阅读目录 常用模块二 hashlib模块 configparse模块 logging模块 常用模块二 返回顶部 hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SH ...
- JMeter------ _time 函数的使用(时间戳、当前时间)
操作步骤: 1.通过函数助手,生成一个_time 函数: 2.如果参数为时间戳,那公式为: ${__time(,)} : 默认该公式精确到毫秒级别, 13位数 ${__time(/1000,)} ...
- vue2.0使用watch监听对象属性
二话不说直接代码,找了一个百度都没找到.... var head=new Vue({ data:{ checkBoxState:{//监听设置开关勾选状态 notice:true, sound:tru ...
- 【SQL】oralce中使用group by和case when按照条件求和
假设我们有一个Salary 薪水表.这个表的字段分别为:id, name, salary, level 在这个表中,每个人有不同的级别(level).我们要根据不同的级别统计相同级别员工的薪水总和. ...
- AndroidManifest.xml文件详解(meta-data)
http://blog.csdn.net/think_soft/article/details/7567189 语法(SYNTAX): <meta-dataandroid:name=" ...
- Luogu P3258 松鼠的新家(树链剖分+线段树/树状数组)
题面 题解 这种题目一看就是重链剖分裸题,还是区间修改,单点查询,查询之前在遍历时要记一个\(delta\),因为这一次的起点就是上一次的终点,不需要放糖,所以可以用\(BIT\)来写,但我写完\(m ...
- 洛谷——P3414 SAC#1 - 组合数
P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣 ...
- Xamarin XAML语言教程模板视图TemplatedView(一)
Xamarin XAML语言教程模板视图TemplatedView(一) 模板视图TemplatedView 与模板页面相对的是TemplatedView,它被称为模板视图,它的功能和模板页面类似,也 ...
- poj 3132
Sum of Different Primes Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 3360 Accepted ...