本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第3章数据建模与规范化,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看
Chapter 3 第3章
数据建模与规范化
数据建模是对企业感兴趣的事物以及这些事物之间是如何相互关联的分析过程。此过程可使你发现并记录你的业务数据资源。数据建模问的是“是什么”的问题,而更多常见的数据处理的是“如何做”的问题。
数据建模问的是“是什么”的问题。
在部署任何形式的数据库之前,DBA都需要开发一种数据存储的有效模型。数据库开发的初学者通常会以一种“快速而拙劣”的方法来部署数据库。他们以编程者的视角来进行数据库的设计,因为初学者往往缺乏数据库以及数据需求收集的经验,他们试图将数据库设计得如同他们习惯使用的平面文件一样。这是个重大的错误,实际上,当数据库和应用程序在生产环境运行后,大多数使用这种方法的开发人员很快就会发现问题。至少,性能将受到影响,数据也不像预期那样容易获得。在最坏的情况下,可能引发数据完整性问题或性能问题,使整个应用程序无法使用。
一个设计合理的数据库不可能由初学者匆匆拼凑而成。所需要的是通过一种熟练的、正式的方法来收集数据需求和对数据建模(即实体)以及数据元素的发现与识别。数据标准化是数据建模和数据库设计的重要组成部分,标准化的数据模型确保数据元素设计合理,减少数据冗余和不一致性。
实际上,基本的数据建模知识非常简单,但要掌握其中所有的细微差别可能需要一生的时间。本章介绍了数据建模和标准化的概念,并提供了一些正确使用它们的通用准则。
经验丰富的数据建模师和DA可能会发现本章中的材料并不完整。写作的初衷就是向DBA介绍一些概念并引导他们沿着正确的道路,利用合理的数据模型产生数据库。完全了解数据建模需要全面的学习,大量现有的书籍都详尽地介绍了数据建模和标准化。更多有关数据建模的详细信息请查阅本章结尾建议参考的书籍。