《DBA修炼之道:数据库管理员的第一本书》——3.1节数据建模的概念

简介:

本节书摘来自华章社区《DBA修炼之道:数据库管理员的第一本书》一书中的第3章,第3.1节数据建模的概念,作者(美)Craig S. Mullins,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.1 数据建模的概念
下面用一则民间流行的盲人摸象的故事来说明数据建模的目的:
有四个盲人在他们的旅行中碰巧遇到一头大象,他们以前从没遇到过大象,但还是很好奇。因此,每个盲人都试图通过触摸来了解大象是什么样子。第一个盲人摸着大象的鼻子惊呼道:“天啊!原来大象像条蛇啊,又长又光滑。”第二个盲人伸手摸到了大象的侧面,他申辩说:“不对,大象更像一堵墙,平整又厚实。”第三个盲人有些困惑了,他伸出手去摸大象却摸到了大象的长牙,他说道:“不对,你们都错了,大象更像是一个长矛!”第四个盲人抓住了大象的腿大喊道:“你们都错了,大象更像是一棵树,圆滑又结实。”
好了,每个盲人都是正确的,也都是错误的。问题不是出在每个盲人的经验上,而是经验的范围上。要想成为一名成功的数据建模师,必须学会发现业务数据需求的全部真相。不能依赖个别用户或者个别专家的需求,因为那个人的经验范围可能并不全面。数据建模的目标是记录业务流程的数据需求,各业务数据模型的范围必须是全面的。如果一个企业存在企业数据模型,那么每个单独的业务数据模型的正确与否都要与该企业数据模型进行对比验证。
数据建模的目标是记录业务过程的数据需求。
在最基本的层面上,数据建模始于一个概念上的冒险。概念上的数据建模的首要目标是了解需求。一个数据模型,就其本身而言,价值非常有限。当然,它通过增强(使用数据的人)沟通和理解(对数据)来体现其价值,可以说这些都是非常有价值的。然而,数据模型的主要价值是其能够作为构建物理数据库的蓝图。
如果数据库的构建源自一个设计良好的数据模型,由此产生的结构可以给企业带来更多的价值。数据模型的价值在于:数据冗余最小化,数据完整性最大化,稳定性增加,更好的数据共享,一致性增加,数据访问更及时,更好的数据可用性。之所以可以达到这些品质,是因为数据模型以一种简洁明了的方式清晰地概括了数据资源的需求和关系。由数据模型搭建的数据库将更易于部署,因为这时候你已经对存储在数据库中的数据有了更好的理解。
企业数据模型
企业数据模型是可以全面描述整个企业的数据需求的单一数据模型。本章讨论数据模型是因为它们与个人项目或应用程序相关,而并不是企业数据模型中相对高级的主题。管理和维护企业数据模型会受到许多数据库以外的其他因素的干扰,如公司政治以及难以量化的ROI。
如果你的企业决定致力于开发并维护企业数据模型,你绝对需要花些时间来阅读有关这一主题的更多内容,可以参考本章结尾推荐的书籍。

数据建模的另外一个好处是有机会发掘数据的新用途。数据模型可以阐明数据模式和数据可能被埋没的潜在用途。这些模式的发掘可以改变你的业务经营方式,也可能会提高竞争优势,从而使企业增加收益。
数据模型可以阐明数据模式和数据的潜在用途。
数据建模与应用程序开发和面向过程的任务的需求收集所需要的心态不同。前者认为重要的是要考虑“是什么”感兴趣的,而不是任务“如何做”实现的。要过渡到这种思维方式,需要遵循以下三个准则:
不考虑物理的,考虑概念的。关心业务问题和条款,而不是物理存储问题和DBMS约束。
不考虑进程,考虑结构。事情是如何完成的,对应用程序开发重要,而对数据建模却不重要。数据建模关心的是事情正应用于哪些进程。
不考虑导航,考虑关联。事情相互关联的方式很重要,因为关联映射了数据模型。对于概念上的逻辑数据建模来说,访问关联的方式并不重要。
请记住,一旦创建了数据模型,企业的业务词典也就完成了。如同一个给定了语言的词典,数据模型就像业务术语及其用法的词典。
实体关系图表
数据模型通常以实体关系图表的形式呈现,简称E/R图。E/R图生动地描述了数据模型的实体和关系。图3-1显示了一个示例E/R图。该图使用了Erwin(冠群)——一款领先的数据建模和设计工具。许多供应商都提供了流行的数据建模的工具,关于数据建模工具及其供应商的列表,请参考附录C。
E/R图生动地描述了数据模型的实体和关系。
E/R图可以描述多种图表方法和技术。不管用什么方法,E/R图都采用方框表示实体,采用线条或箭头表示关系。方框和线条的格式根据图表方法的不同而有所不同。图3-2显示了几种最常见的E/R图表方法。


e874691dd25be346010f0f7c97270c7885133ba0


69bf294dfe47af22f0ecf132981c13f87dc410c4

不能说哪种方法最好,只要选择一种坚持下去,就可以最大程度地减少混乱。不同的建模团队使用不同的图表技术将使数据模型的知识分享变得困难,如果存在企业数据模型,还会使数据模型合并到企业的数据模型更加复杂。
再来看图3-2,图表方法之间最大的区别在于基数显示的方式。基数是指一个实体可以采用的实例的最大数。图3-2的每一行都显示了不同的E/R图风格是如何处理一对一、一对多、多对多关系的。这些E/R图方法都是以该技术鼻祖的名字来命名的,按照行来说,图3-2所描述的图表技术的名字分别为Ross、Bachmann、Martin、Chen和Rumbaugh。
大多数建模工具支持一种或几种图表技术,最受欢迎的图表技术是Martin(也叫做信息工程法)和Ross。图3-1的E/R图就是用Martin技术创建的。排除流行一说,每一种技术都有许多数据建模师使用,选择对你的企业最容易使用和理解的那种即可。
另一种流行的建模技术叫做统一建模语言(UML)。UML合并了几种流行的面向对象的符号和概念,源于Grady Booch、James Rumbaugh和Ivar Jacobson的工作。它为面向对象的系统建模提供了一套标准的图表和符号集。实际上,UML为不同类型的系统建模定义了9种类型的图表。UML类图可用作模型数据,而传统的E/R图捕获了纯粹数据的详细信息,因此比UML更适用于数据建模和关系数据库设计。图3-3显示的UML类图的示例描述了一家航空公司的数据模型。由于对象由数据和过程组成,UML不只是一种数据建模图表技术。

相关文章
|
3月前
|
存储 关系型数据库 MySQL
由浅入深:数据库编程概念与实战
由浅入深:数据库编程概念与实战
152 1
|
3月前
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
3月前
|
Cloud Native 关系型数据库 大数据
CockroachDB:云原生数据库的新概念与实践
本文将介绍CockroachDB,一种先进的云原生数据库,它具备分布式、强一致性和高可用性等特点。我们将探讨CockroachDB的基本原理、架构设计以及在实际应用中的种种优势和挑战。
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
2月前
|
SQL 存储 关系型数据库
sql数据库的相关概念与底层介绍
sql数据库的相关概念与底层介绍
45 0
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
11天前
|
SQL 算法 数据库
数据库系统概念(第三周 第一二堂总结)
数据库系统概念(第三周 第一二堂总结)
|
17天前
|
存储 数据库 数据库管理
数据库的基本概念
数据库是计算机内统一管理的大量结构化数据集合,供多用户共享。它涉及数据组织、存储和管理,是软件开发的关键部分。数据库设计包括结构设计和根据用户需求建立数据库的过程,涵盖需求分析、各种结构设计及实施维护。广泛应用在企业管理、社交网络、电子商务等领域,有效提高数据效率和满足应用需求。
11 1
|
存储 传感器 数据管理
【软件设计师备考 专题 】面向对象数据库和分布式对象:理解新的数据管理概念
【软件设计师备考 专题 】面向对象数据库和分布式对象:理解新的数据管理概念
53 0
|
1月前
|
存储 SQL 缓存
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
75 0

热门文章

最新文章