数据库设计(一):ER模型概念介绍

数据库设计步骤

数据库的设计分为以下3个步骤:

  1. 设计概念模型(conceptual model)。在关系型数据库中,我们使用ER图来进行概念模型的设计。ER图的作用是:表示出各个实体之间的关系,方便在下一步的逻辑模型设计时书写相应的代码。
  2. 设计逻辑模型(logical model)。在这一步中,我们需要将人可以读懂的ER模型转化为机器可以读懂的逻辑模型,即我们需要书写数据库模式(SQL schema)来实现我们的模型。
  3. 物理模型设计(physical model)。物理模型关乎于数据库在储存器中如何存放,这一步的实现交由数据库管理系统(DBMS)进行。

接下来本节主要介绍ER图的一些基本概念


ER图基本概念

ER代表Entity-Relationship, 意思是实体关系,我们使用ER图来绘制一个关系型数据库中的各种关系。ER图由以下3中基本的成分组成:

  • 实体(entity):方框表示,一般用全大写字母单词或大写字母开头单词进行命名
  • 属性/字段(attribute): 菱形框表示,小写字母进行命名
  • 关系(relationship):椭圆框表示,大写字母开口的单词进行命名

其中一段关系有3个属性:

  • 度数(Degree):表示参与到一段关系中的实体数量
  • 基数(Cardinality):表示参与关系中的实体的对应关系(一对一、一对多、多对多)
  • 参与度(Participation):表示是否所有在实体集中的元素都要参与到关系当中(全体参与(total)、部分参与(partial))

数据库设计(一):ER模型概念介绍

上图中的实体:

  • 银行分行(Branch)
  • 账户(Account)
  • 用户(Customer)

关系:

  • 持有关系(HeldAt)。一个账户只可以被持有在一个分行(加粗黑线表示total participation的一对多关系),而一个分行可以持有多个账户(箭头表示一对一的关系)
  • 拥有(Owns)。一个用户可以拥有一个账户。
  • 所属分行(HomeBranch)。一个用户开卡的所在的分行。