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的主键,起到了联合主键的作用,此为多对多关联。

最新文章

  1. stack, deque 和 queue的对比
  2. Centos 用户组管理
  3. ORA-15221: ASM operation requires compatible.asm of 11.2.0.0.0 or higher
  4. HashMap 与HashTable的区别
  5. Android用户界面UI组件--AdapterView及其子类(五) Spinner和SpinnerAdapter
  6. 19.java.lang.NoClassDefFoundException
  7. Nginx反向代理使用【转载】
  8. 深度学习系列 Part (2)
  9. 【JS】数据类型
  10. c++ 如何把RGB图像转换成HSV图像?
  11. jQuery里面的常用的事件和基础动画的实现
  12. 类SimpleDateFormat
  13. C#中Dictionary的介绍
  14. 微信小程序视频学习笔记
  15. SpringMvc父子容器
  16. 【提示框】【计时事件】【cookie】
  17. js获取浏览器屏幕的尺寸
  18. AR_销售订单收款基本操作(流程)
  19. kotlin 类 接口 抽象类 子类类型有限的class 。sealed class
  20. Redis集群整合到springboot框架

热门文章

  1. False Positives和False Negative等含义
  2. python在windows下连接mysql数据库
  3. CSS布局和居中常用技巧
  4. HDU 2665.Kth number-可持久化线段树(无修改区间第K小)模板 (POJ 2104.K-th Number 、洛谷 P3834 【模板】可持久化线段树 1(主席树)只是输入格式不一样,其他几乎都一样的)
  5. 深入了解HTTP协议
  6. js数组,在遍历中删除元素
  7. ExtJs之列表常用CRUD
  8. Windows 下使用 mingw+msys 交叉编译 Android Unity Mono
  9. Bzoj1101 Zap(莫比乌斯反演)
  10. CSS中包含块原理解析