在设计数据库的过程中,表及其相互关系是非常重要的概念。这些关系可能在设计阶段建立模型时确定,或者在数据库创建后用于记录表的依赖关系。在本教程中,将使用模型来阐释各种概念。
有许多类型的建模软件可以用来创建模型,例如MySQL Workbench,它不仅可以创建美观的图表,还可以生成创建数据库的代码!但在情况下,由于试图保持图表的简洁性,并且没有生成代码的需求,将创建自己的图表。这些图表是基于IDEF1X符号的简化版本。
关系型数据库表模型
上面的图表展示了建模关系型数据库表的方法。图中展示的主要元素包括:
外键与主键的匹配是将数据库“粘合”在一起的关键。一旦开始处理连接表的操作,这些关系的重要性就会变得非常明显。
通过连接线来展示表之间的关系。在某些情况下,一个表中的条目可以与另一个表中的多个条目相关联。这被称为一对多关系。在示例中,一个部门有许多员工,因此展示了多对一的关系。
多对一关系与一对多关系类似,不同之处在于命名关系时的视角。认为大多数人更常谈论一对多关系。
有时,表中可能没有条目,从技术上讲,可以有零个或一个到多个,但这种说法很难,因此当人们使用一般术语时,通常会说“一对多”。然而,当想要精确时,可以使用符号来指定关系的基数。
0..* 零个或一个到多个
1..* 一个到多个
0..1 零个或一个到一个
1..1 一个到一个
当讨论规范化时,将使用这些图表来展示如何组织数据库。在开始这段旅程之前,认为熟悉这些图表和概念是很重要的。因此,请确保理解以下内容: