主题域、概念、逻辑、物理四种模型有什么区别与联系?

简介: 主题域、概念、逻辑、物理四种模型有什么区别与联系?

问题起源

这位朋友是在看这张PPT的时候提出这个问题的:

他对这张片子有两个问题:

1、主题域、概念、逻辑和物理模型的区别与联系是什么;

2、为什么叫组织性数据模型,什么又叫系统级数据模型,而且还得让组织级数据模型指导系统级数据模型?

主题域模型

我们知道数据仓库的定义就是“数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。”

那什么是主题(subject)/主题域?用定义来说,就是:

主题域是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类,并进行分析利用的抽象。

简单点用人话说,其实就是要建的表太多了,咱得归归类,要不就乱了。所以很多人一直会有一个很奇怪的问题:主题域到底怎么划分?

只要你你理解了分主题域其实就是我了归类,就知道主题域划分方式其实可以有很多种方法,只要遵循MECE原则即可。

所以你查资料,都会说主题域划分的方法有:

  1. 按业务;
  2. 按系统;
  3. 按部门;
  4. 按...

简单来说,就是你想怎么分都可以,只要 Group BY一下就行了。

比如,这是证券行业的:

这是保险行业的:

这是零售行业的:

我喜欢用盖房子做比喻。假如我们现在已经有一块地,要盖一个小区。那么主题域划分就像是在做规划图。咱要建的这个小区,哪里是住宅,哪里是别墅,哪里是幼儿园。

主题域模型就是最高视角的蓝图规划。

概念模型

如果说主题域模型是建小区的规划蓝图,那么概念模型就是某一栋楼的设计图主题域模型太粗了,粗到根本没法干活儿。所以我们必须得往下细化一层,把每一个主题里的内容具象化出来。

我之前分享过,建模其实就是在数据世界里抽象真实世界的过程。抽象是不断清晰的,概念模型就是在主题域的基础上再清晰一些。那么在数据世界抽象真实世界的核心是什么?三个概念:实体、关系、属性。是不是很熟悉?对,就是数据库原理里的E-R图里的实体、关系。

而概念模型就是某个主题域中,抽象出该主题的所有实体,理清所有实体之间的关系,以及涉及的属性。

在抽象的时候,应该充分考虑共性的实体,设计好其中的关系,尽量规避实体间多对多的情况。这是FSLDM中,当事人的概念模型。笔记本没装PD,凑合看哈~

其中,当事人、个人、雇员是实体,两边的是他们的属性。连线则是他们之间的关系(不严谨)。通过概念模型,我们就能很清晰的看到金融业务最关注“当事人”的那些信息。因为我们在设计概念模型的时候,就是从业务出发,慢慢捋出来的呀。

逻辑模型

逻辑模型应该是我们最熟悉的了。其实就是我们用PowerDesigner、ErWin等工具设计出来的表结构。

具体工作就是按照概念模型里抽象出来的实体、属性以及关系,把每张表都详细设计出来。主键外键是什么,字段名、属性是啥,业务表怎么设计,要不要加关系表、码表等等。

类比建小区,逻辑模型就是设计好每一层的格局,电梯在哪里,楼梯在哪里,一梯几户,每户格局怎么设计,大门朝那开,客厅在哪,厕所在哪,卧室、阳台怎么布局等等。

到这一步,我们所有的建模工作都仍在“纸面”上,还没落地。数据库中一张表都还没有呢。所以,才有了那句话:“主题域、概念、逻辑模型”是组织级数据模型。

物理模型

物理模型就不用说了,就是在数据库里的一张张物理表结构。到这一步,才算是落地了。

类比建小区,物理模型就是万丈高楼平地起,真正的盖起了一栋栋的楼。

所以,主题域模型是全局规划蓝图,概念模型是局部抽象结果,逻辑模型是详细设计图纸,物理模型是按图建设的一栋栋楼房。

从主题域模型到逻辑模型,是逐步细化的过程;从逻辑模型到物理模型,是设计到实现的过程。所以才有主题域、概念、逻辑模型是组织级数据模型的说法。至于为什么是组织级数据模型指导系统级模型,有些人会觉得是多此一举。因为很多事时候,我们的工作就是直接建表,压根就没有上面的那么多设计工作。这个事儿啊,我给你举个例子就知道了。以FSLDM为例,一共有10个主题域,小3000个实体,一万多个属性。

3000多个实体,10000多个属性啊!如果不加以划分,这将是一个灾难。你理的清楚吗???群里有一个哥们,治理过13000张表,虽败犹荣,我愿称他为神!因为单是面对13000张表,还有勇气去治理,已经是神了。

所以逻辑模型和物理模型必须要在全局的视角下进行设计,而不是反过来一通乱建,然后再回来梳理。这跟整理一团乱麻没啥区别,而且这团乱麻本身还在不断的变化。

而且,在治理的同时,业务还不能停,甚至还要继续发展。葫芦得按下,瓢还不能起来...这不是闹呢么?

散会!

相关文章
|
1月前
|
边缘计算 自动驾驶 5G
5G的网络拓扑结构典型模式
5G的网络拓扑结构典型模式
185 4
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型的特点、重要概念及工作方式详解
大模型是具有大量参数和复杂结构的深度学习模型,通过处理大量数据实现高效任务解决。其特点包括参数规模庞大、深层网络结构、预训练与微调、多任务学习和自适应能力。重要概念有注意力机制、Transformer架构、迁移学习和分布式训练。大模型的工作方式包括输入处理、特征提取、预测与损失计算、反向传播与优化,以及评估与微调。这些特性使其在自然语言处理、计算机视觉等领域取得显著进展。
|
3月前
|
安全 Java
建模底层逻辑问题之在建模过程中,知识层和操作层如何区分
建模底层逻辑问题之在建模过程中,知识层和操作层如何区分
|
3月前
|
网络架构
|
4月前
|
前端开发 数据挖掘
字节面试:领域、子域、核心域、通用域和支撑域怎么划分?
领域驱动设计(DDD)通过划分业务领域和子域简化复杂性。领域是业务问题的范围,子域是更小的专业部分。核心域代表业务的核心竞争力,如电商中的商品、订单和支付;通用域提供跨领域服务,如用户管理;支撑域支持核心功能,如物流、客服和数据分析。这种划分帮助团队专注关键业务,提高开发效率和软件对业务需求的契合度。
203 0
|
架构师 数据安全/隐私保护
深入探索领域分析:从问题空间到核心域
深入探索领域分析:从问题空间到核心域
|
安全
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
174 0
|
机器学习/深度学习 自然语言处理
注意力机制可分为软和硬两类,空间域,通道域
注意力机制是当前深度学习领域比较流行的一个概念。其模仿人的视觉注意力模式,每次只关注与当前任务最相关的源域信息,使得信息的索取更为高效。
717 0
注意力机制可分为软和硬两类,空间域,通道域
|
存储 NoSQL 容灾
分片概念&架构目标|学习笔记
快速学习分片概念&架构目标
分片概念&架构目标|学习笔记
|
关系型数据库 MySQL 数据库
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分
数据库技术知识点(一)IDEFO需求建模方法、解释实体、实体型、实体集的区别、完全函数依赖、部分函数依赖、传递函数、平凡函数依赖、非平凡函数依赖举例、超码、主码、候选码的概念与区分