1.1. ERD 和 RDD 有何关系?¶
如前一章所述,数据库设计过程包含多个阶段。在这些阶段中应创建不同类型的数模型(即概念型、逻辑型与物理型),每种类型都有其各自的目的。本章及下一章仅专注于前两种模型类型:概念型模型与逻辑型模型。本章此处以关系数据模型作为逻辑型(实现型)数据模型最著名的示例进行说明。作为概念型数据模型众所周知的示例,实体 - 关系模型将在下一章中详细讨论。
作为数据库设计之后的下一步,即使用 DBMS 进行数据库实现,那么从 高层概念设计 (ERD) 到更详细的 逻辑设计 (RDD) 的转换是非常重要的一步。这个转换步骤称为 “数据模型映射” 。RDD 是数据模型映射的结果,它充当 数据库模式 ,作为一个实现模型非常重要,它帮助数据库开发人员轻松将其转换为 DBMS 中用于数据库创建的物理设计。
本书中讨论了两次 数据模型映射 :在本章中以理论方式给出映射概念的背景,并以简化方式让读者感受 RDD 与 ERD 模型之间的差异;同时在第 2 章大部分可视化中以实用方式合并,帮助读者想象从 EDR 到 RDD 的实际转换(映射步骤)是如何完成的。
本书采用了一种逆向方法来阐述数据库设计过程,即先讨论设计过程中的后续步骤。这种方法的第一个目标是向数据库初学者清晰地阐明他们应达到的设计过程输出(数据库模式),然后说明用于实现该输出的顺序步骤(例如,创建概念性实体关系图,然后将其转换为关系模式)。这种方法有助于学习者在实际设计过程的后期明确其目标。
本章首先定义关系数据库图(RDD),然后讨论与 RDD 相关的一些基本定义(例如关系、关系模式、数据库模式、域和元组),接下来将说明关系完整性约束及其类型,最后演示对关系的基本操作以及如何执行这些操作而不违反约束。
