本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第3章,第3.4节概念、逻辑和物理数据模型,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.4 概念、逻辑和物理数据模型
到现在已经讨论了通常所讲的数据模型。但实际上有三种类型的数据模型:概念、逻辑和物理。
概念和逻辑都是描述数据建模不同阶段的松散术语。概念数据模型与完整的逻辑数据模型相比,通常更抽象且不详细。两者之间没有明确的分界线,但以下论述在很大程度上是建模界所接受的。
概念数据模型描述了一种高水平的、面向业务的信息视图。为了强调最重要的实体、属性和关联,该模型舍弃了一些非关键性的细节。概念数据模型可能包含多对多的关联。概念建模的终极目标是简单明了,因此,没必要发现并记录各实体的每一个属性。此外,一些问题如基数、可选择性和数据类型在概念层面上也可以不予考虑。一些简单的候选码可能被记录下来,但概念数据模型对多数的码无法识别,因为高度抽象化使得原本有效的码标识变得不切实际也不大可能。该模型中的关联是不需要命名的,因为其终极目标是高度简单化,如果关联名称使数据模型图变得杂乱,这就与其目标相违背了。
概念数据模型描述了一种高水平的、面向业务的信息视图。
逻辑数据模型由完全规范化的、定义了全部属性的实体组成。此外,各个属性的域或者数据类型必须定义。逻辑数据模型需要规范的候选码来唯一标识实体的每一个实例。对于有多个候选码的实体,逻辑数据模型必须注明哪个候选码用作标识,即主码。外码的定义应清晰或由数据关联暗示。多对多的关联应翻译成中间实体(详见“中间实体”),这可能会获得额外的属性或标识符。在逻辑数据模型中,其他细节(如基数和关联是可选或必选的)都必须记录下来。所有的关联的命名也应清晰且明确。逻辑数据模型应可以作为开发物理数据库的完整文档。
逻辑数据模型提供了一个全面的形式结构来作为业务数据的蓝图。
创建物理数据模型是为了通过使用具体的DBMS产品(如DB2、Oracle或SQL Server),将逻辑数据模型转化成物理实现。有关物理数据模型的详细介绍请参考第4章。
物理数据模型通过具体的DBMS产品将逻辑数据模型转化成物理实现。