数据库建模软件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的主键,起到了联合主键的作用,此为多对多关联。