1.3.2数据建模
如前所述,数据建模不再被视为一个独立的过程。这是数据库设计过程中的一个阶段,需要与业务分析一起完成。作为建模过程的最终结果,我们应该有逻辑数据模型。
这个建模过程引发了一个有争议的问题,即使用哪种方法。这个讨论的核心讨论了什么是学术或者我们在实践中看到了什么。对Matthew West和Julian Fowler来说,看到建模过程的一种方式如下图所示:
数据建模过程
Graeme Simsion有关于此讨论的完整文章。文章展示了建模过程的学术观点与现实生活观点不同。两者都为建模阶段提供了名称,而这些阶段完全不同。
在本章的写作过程中,我不仅要介绍Simsion的研究,还要介绍自从我开始使用信息系统以来所经历的一切,以及关于建模概念的广泛研究,以及我在许多其他来源中看到无数的观点。
此外,如前所述,Simsion也观察到,ANSI-SPARC架构的三种模式在形成我们今天的基本概念方面发挥了关键作用。随着关系模型和基于它的DBMS的传播,支持旧的数据库体系结构(如分层和基于网络)的需求已经过去。尽管如此,我们将建模过程分为两个阶段,一个反映了与用户观点非常接近的概念,然后是自动翻译成概念模式的方式。
我们可以说,我们现在知道的数据建模过程的阶段来自3层模式架构。不仅在概念上,而且在每个阶段我们都用名词来命名。
因此,我们最常发现三种类型的数据模型:概念模型,逻辑模型和物理模型。
1.3.2.1概念模型
概念模型是一个实体和一些属性的关系图来说明。这是一个高层次、抽象的视图,其目标是确定基本概念,非常接近用户如何看待数据,而不是专注于业务的特定想法。
如果我们的观众是商业人士,那就是正确的模式。它经常被用来描述通用领域概念,并且应该是DBMS独立的。例如,我们可以提到诸如人员、商店、产品、讲师、学生和课程等实体。
无论是在学术文献还是在实践中,尽管目标实现不是关系数据库管理系统,但使用关系表示法广泛用于表示概念模型。事实上,正如C.J. Date所述,这是一个很好的方法。
概念模型的常见图形表示是流行的"乌鸦足符号"。如下:
乌鸦足标识符
人们经常说,最好的做法是将概念模型限制在一个页面上打印。概念模型可以是图表或者只是一个描述你已识别一切的文档。
1.3.2.2逻辑模型
逻辑模型是更加商业友好的模型。这个模型也应该是DBMS独立的,并且是从概念模型派生而来的。
在这个模型中描述业务需求是很常见的。因此,目前,数据建模人员将更多地关注项目的范围。关系属性与数据类型和约束的基数和可空性等细节也映射到此模型上。与概念模型一样,通常使用关系表示法来表示逻辑模型。数据建模者必须在逻辑模型上付出更多地工作,这是因为逻辑模型是建模者将探索他所有可能性和不同构想的地方。
通常,逻辑模型是一个图形表示。最广泛使用的是由PeterChen于1976年提出的实体关系(ER)模型。ER模型具有符合逻辑模型所有需求的图形符号。
1.3.2.3物理模型
物理模型是这样一个模型,既有更详细和更少的有关数据的通用信息模型。在这个模型中,我们应该知道应该使用哪种技术。在这里,我们可以包含表,列名,键,索引,安全角色,验证规则,以及作为数据建模者认为必要的任何细节。
为了清楚地与三层模式架构建立连接,物理模型在某种程度上与架构的内部层次相关联,因为在这个层次上,我们处理如何将存储的数据呈现给用户。这个阶段的目标是建立一个实现的或可实行的数据库。
1.4本章总结
数据建模是数据库设计过程中的一个重要步骤。通过让所有利益相关者参与,以确保确保数据建模过程的高质量。建模后,您可能对数据有更好的了解。
这就是说,我们应该总是考虑我们的数据,并使用一种技术来对它进行建模。
在本章中,您看到了NoSQL的历史,并且总体上探索了数据库设计和数据建模。我们审查了数据库体系结构,并且还了解到了概念模型、逻辑模型和物理模型。
现在您对数据建模有了更多的了解,我们将在下一章中介绍MongoDB数据模型和这些概念的应用。
关于RDBMS与MongoDB相关主体概念简单对照关系:
领取专属 10元无门槛券
私享最新 技术干货