前文提到,模型是对现实世界特征的模拟和抽象。在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础,也是元数据的主要组成部分。
Tips 常见的应用系统主要分为OLTP(联机事务处理)型和OLAP(联机分析处理)型这两类,在本书中提到的数据模型不仅包括OLTP中偏业务的实时应用模型,也包括OLAP中偏分析的应用模型。
总的来说,数据模型主要分为3类: 概念模型 、 逻辑模型 和 物理模型 。
概念模型是业务视角的高层次、粗粒度的模型,用于定义核心业务概念实体以及实体之间的关键关联关系。概念模型不包含设计的细节,仅定义核心业务实体、实体之间的关联关系、相关的业务规则。概念模型不对实体的属性建模。
这是面向数据库用户的现实世界的数据模型,主要用来描述世界的概念化结构,它使数据库设计人员在设计的初始阶段能够摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系等。概念模型只有转换成逻辑模型,才能在数据库管理系统中实现。
逻辑模型是由概念模型转换而来的,它以概念模型的设计作为基础,将实体与关系映射到关系数据模型,进行细化设计;增加所需要的新的实体类,细化关联关系,包括引入新的关联关系,分解多对多的关联关系;细化实体类属性,细化业务规则的描述。
这是用户在数据库中看到的数据模型,是具体的数据库管理系统所支持的数据模型,主要有网状数据模型、层次数据模型和关系数据模型三种类型。此模型既要面向用户,又要面向系统,主要用于数据库管理系统的实现。在数据库中常用数据模型来抽象、表示与处理现实世界中的数据和信息,主要研究数据的逻辑结构。
物理模型是逻辑模型在具体的RDBMS产品或大数据平台的实现。物理模型主要包含如下特征:在统一的标准要求下,表、字段、关系必须与逻辑模型一致,确定数据类型、精度、长度、确定约束、索引、统一数据分类编码含义及使用规则。
这是描述数据在存储介质上的组织结构的数据模型,它不但与具体的数据库管理系统有关,而且与操作系统及硬件有关。每一种逻辑模型在实现时都有与其相对应的物理模型。数据库管理系统为了保证其独立性与可移植性,将大部分物理模型的实现工作交由系统自动完成,而设计者只设计索引、聚集等特殊结构。
Tips 数据建模的方法论常见于数据仓库或者数据湖等大型数据平台的建设中,但是这并不代表应用系统不需要建模,而是因为相对于数据仓库中成百上千张数据表,应用系统的数据表总数比较小,且应用系统内部表的关系相对简单,故没有单独进行着重阐述。
总的来看,建模的过程就是业务向数据转换的过程。数据模型会产生元数据。