##什么是ER图
实体关系图,通过一张ER图,能够快速的了解数据库层面的表结构设计。目前做企业级应用系统,花费了大量的时间在数据库表结构的设计上,所以打算从源头梳理一下怎么样才能画好ER图,画好图是第一步,在这个过程中怎么样做好设计,然后来保证业务系统的功能实现以及扩展性的要求。
##ER图的核心要素是什么
- 实体:客观存在并可以相互区别的事物
- 属性:实体所具有的一个属性
- 关系:实体和实体之间以及实体内部的关系
##关联关系有哪几种
- 1对1(1:1):1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。
- 1对多(1:N):1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。
- 多对多(M:N):多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。
##ER图要表达的核心是什么
- 概念模型 能够描述清楚软件系统模块应该有的概念,并对于概念有个简单的解释。
- 逻辑数据模型 能够描述核心的实体,以及核心实体的属性,以及关联关系,这样的话,不一定通过ER图看全所有的表结构,可以看清核心的东西即可。
- 实际数据模型 这个的画,不一定通过ER图来进行,可以通过excel或者表格来描述情况,例如字段名称,所属数据库,字段的数据类型,字段的限制长度,字段是否有默认值,字段是否非空,字段的备注描述,数据表是否需要分库分表以及分库分表的逻辑。
这几个看ERM的百科,不过没怎么看懂,就就结合自己的理解,做了解释。总体是总分的思路,总体的介绍清楚概念和关系,然后细化每个表结构,落实好概念图种的关系即可。