数据模型就是模拟现实世界的方法论,是通向智慧世界的基石!
从现实世界发展到智慧世界,要数经历现实世界、信息世界、计算机世界、数据世界、智慧世界五个不同的世界,我们天生具有从混沌的世界抽象信息变为信息世界的能力,但是到另外几个世界需要我们懂得计算机知识,懂得如何更好地把数据保存并应用到计算机中,这种能力就是数据建模能力,具体来说就是要搞懂数据模型,以及数据模型的三种境界概念模型、逻辑模型、物理模型。·
搞清楚定义
概念模型也称为业务模型,是对真实世界中问题域内的业务实体的描述,从全局上、宏观上介绍业务的设计思路、范围和内容,通常由业务人员和数据架构师创建,代表用户在现实世界中看到的数据,为业务受众设计和开发。在数据治理中,概念模型经常用来做数据治理主题的规划,梳理业务对象和业务对象之间的关联关系。
逻辑模型是对概念数据模型进一步的分解和细化,根据概念模型设计数据实体和数据属性,着重于系统的逻辑实现。应用数据库范式,描述了数据实体与数据实体之间的关系、属性定义等,逻辑模型的设计目的是指导系统建设,是业务人员和技术人员之间的沟通桥梁。
物理模型是对真实数据库的描述,其中除了包括逻辑模型中定义的属性,还要根据具体使用的数据库定义数据类型,索引、视图、主键、外键、是否可为空、默认值等,该模型描述如何用特定的数据库实现业务,该模型不仅要解决数据存储问题,还要考虑系统运行性能等技术问题,通常由开发人员和DBA创建。
什么是好的数据模型
数据模型好用才是硬道理,什么才是好用呢,总结来说大的方面包括:
- 可以较好的反应真实的业务关系,有较好的业务到数据的映射关系;
- 简单有效,较好理解,正如奥卡姆剃刀原则所说“如无必要,勿增实体”;
- 对业务潜在的变更友好,可扩展性好;
- 数据标准化思维,降低学习和应用成本;
- 注重性能,从存储、索引、缓存等多个层面考虑;
- 适当考虑数据冗余换取查询和刷新的性能;
- 表、属性等命名格式规范,清晰,易于理解;
- 字段类型、长度设计合理;
- 字段定义一致。
构建数据模型的方法
数据建模的方法有很多,比如维度建模法、ER建模法等,在这我们简单介绍一下ER建模方法,ER图怎么画以及含义就不在这讲了,下面给个ER图的简单实例:
最后上个应用ER图描述商品销售业务场景的例子,很直观的反应了三种数据模型侧重点以及用途:
参考文章
- Data Modeling, Data Governance, & Data Quality
- Data Mart vs. Data Warehouse
- [维度建模宣言——让维度建模和ER建模划清界限](