组织通常要求数据库管理员(DBA)承担数据建模的工作。但这并不意味着DBAs在数据建模方面接受了良好的培训,也不意味着DBAs最适合承担这个任务。数据管理(DA)团队更适合进行数据建模,因为数据建模需要对数据资源管理的业务方面有深入了解。
当组织中存在DA角色时,它更接近实际业务数据的使用者。现在可能不再称为数据管理,可能会被称为数据架构、数据管理、数据资源管理,甚至是数据治理。不论其名称如何,DA团队负责理解业务术语,并将其转化为逻辑数据模型。
然而,数据库管理员(DBA)更注重技术而非业务。这并不意味着DBA完全对他们管理的数据的业务目的一无所知,只是他们的主要关注点是管理用于存储和访问数据的技术结构。
然而,许多组织将DA和DBA合并成一个DBA团队。因此,通常会忽视DA的任务之一,即数据建模。要正确设计数据模型,需要了解业务的全部数据需求。不能仅仅询问一个用户或依赖一个专家,因为他们的经验范围不会全面。
数据模型的目标是记录业务功能的数据需求。每个业务线的数据模型的范围必须全面。如果组织中存在企业数据模型,那么每个单独的业务数据模型必须根据整体企业数据模型进行验证,以确保正确性。企业数据模型是一个全面描述整个组织数据需求的单一数据模型。管理和维护企业数据模型会面临许多与数据库无关的干扰,例如企业政治和难以量化的投资回报。
数据建模始于概念性的探索。概念数据建模的首要目标是理解需求。单独一个数据模型的价值有限。当然,由于数据模型通过增强沟通和理解而提供价值,可以说这些价值是非常宝贵的。但数据模型最重要的目的之一是可以用作构建物理数据库的蓝图。
当数据库是根据良好设计的数据模型构建时,所得到的结构为组织提供了增加的价值。从数据模型中获得的价值表现在减少了冗余、最大化的数据完整性、增强了稳定性、更好的数据共享、增加了一致性、更及时的数据访问和更好的可用性。这些优点是通过数据模型清晰明确地概述数据资源需求和关系而实现的。通过数据模型构建数据库将会得到更好的数据库实现,因为您将更好地了解要存储在数据库中的数据。
一个数据模型可以澄清数据模式和数据的潜在用途,如果没有数据模型提供的数据蓝图,这些将会被隐藏起来。发现这些模式可以改变您的业务运营方式,潜在地带来竞争优势和组织的增加收入。
数据建模需要一种与应用程序开发和面向过程任务的需求收集不同的思维方式。重要的是要关注“什么”是感兴趣的,而不是“如何”完成任务。
-
思考概念 - 关注业务问题和术语。
-
思考结构 - 如何完成某件事对数据建模不重要。对数据建模来说,重要的是处理的对象。
-
思考关系 - 事物之间的关系是重要的,因为关系映射了数据模型的蓝图。
在创建数据模型时,您正在开发组织业务的词汇。如果您是一个负责数据建模的DBA,我建议您参加一个相关课程,或至少阅读几本好书。以下书籍非常不错(当然还有其他书籍):
-
《数据建模基础(第3版)》 - Graeme Simsion和Graham Witt著(Morgan Kaufmann,2004年)
-
《精通数据建模:用户驱动的方法》 - John Carlis和Joseph Maguire著(Addison-Wesley,2001年)
-
《简化数据建模(第2版)》 - Steve Hoberman著(Technics Publications,2009年)
通过更加了解公司数据的业务含义,DBA可以为自己带来好处。学习如何有效地建模数据可以在很大程度上实现这一目标!
更多技术干货请关注公号“云原生数据库”
squids.cn,基于公有云基础资源,提供云上 RDS,云备份,云迁移,SQL 窗口门户企业功能,
帮助企业快速构建云上数据库融合生态。