关系型数据库之父——埃德加·弗兰克·科德(Edgar Frank Codd)
本文介绍数据库设计的过程,供各位小伙伴参考。
E-R图也称为实体-联系图,提供了表示实体类型,属性和联系的方法,用来描述现实世界的概念模型。简单来说,就是将现实中的业务场景的属性和它们之间的联系用图绘制出来。
实体(entity),现实世界客观存在,并区别于其他对象的“事件”或“物体”,比如产品。
属性(attribute),每个实体的特征,比如产品的名称、分类。
主键(key),能唯一区分这个实体的属性,比如产品ID。
联系(relationship),实体与实体之间的联系,有一对一,一对多,多对多三种,比如产品和销售员。

当实体间的联系为一对一时,联系可以单独对应一个关系模式,也可以将一端的实体主键加入另一端的关系模式中。比如部门主管和部门两个实体,是一对一的关系,第一种方案:部门主管的关系模式可以加部门编号,部门的关系模式也可以加工号。第二种方案:将“属于”独立为关系模式,包含工号和部门编号。

当实体间的联系为一对多时,联系可以单独对应一个关系模式,也可以将1端的实体主键加入n端的关系模式中。比如部门和员工两个实体,是一对多的关系,第一种方案:员工的关系模式加部门编号。第二种方案,将“属于”独立为关系模式,包含工号和部门编号。

当实体间的联系为多对多时,联系必须单独对应一个关系模式(将联系形成中间表),以此来描述两个实体间的联系。比如销售员和产品两个实体,是多对多的关系,将“销售”独立为关系模式,包含工号,产品编号,销售量和销售额,以此来记录每个销售员的销售情况(实际生产中,销售这个关系模式可以是订单等场景)。


1970年,埃德加·弗兰克·科德提出了数据库关系模型的概念,为数据库管理奠定了基础。
在开发生产中,设计好系统对应的关系型数据库非常重要,既要如上文所说设计好相关表的关联关系,也要关注到冗余和性能。这样的系统才有可靠的底座。