news 2026/3/3 20:14:38

系统地分析一下业务对象与业务场景、逻辑实体、物理实体之间的对应关系。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
系统地分析一下业务对象与业务场景、逻辑实体、物理实体之间的对应关系。

系统地分析一下业务对象业务场景逻辑实体物理实体之间的对应关系。

首先,我们需要明确这些术语在TOGAF(尤其是其内容元模型)语境下的定义。

核心概念定义

  1. 业务对象

    • 这是从业务视角定义的、在业务运营中具有意义和目的的事物。它是业务架构层的核心构件。

    • 它代表了业务领域中的一个“名词”,如“客户”“产品”“订单”“合同”“发票”

    • 关键点:它描述的是“是什么”,而不是“怎么做”。它独立于任何系统实现。

  2. 业务场景

    • 这是描述一系列为达成特定业务目标而进行的活动。它是驱动架构开发的重要工具,连接了需求与架构。

    • 一个业务场景通常涉及多个角色(如客户、客服专员)、多个业务对象(如订单、库存),以及一系列步骤(如“创建订单”、“检查库存”、“确认发货”)。

    • 关键点:它描述的是“如何做”,是一个动态的过程,涉及多个业务对象的交互。

  3. 逻辑实体

    • 这是在数据/信息架构层,从逻辑视角定义的数据构件。它是对“业务对象”的第一次结构化、规范化。

    • 它定义了实体的属性、关系(如一对一、一对多)和关键约束,但不依赖于任何具体的数据库技术(如Oracle或MySQL)。

    • 例如:业务对象“客户”在逻辑层可能被细化为CustomerCustomerAddressContactMethod等多个关联的逻辑实体。此时会定义CustomerCustomerIDNameStatus等属性,并与Order实体有一对多关系。

    • 关键点:它是技术中立的逻辑数据模型。

  4. 物理实体

    • 这是在技术架构层,针对特定数据库管理系统(DBMS)的具体实现。它是“逻辑实体”在物理数据库中的实例化。

    • 它包含了具体的技术实现细节,如表名、列名、数据类型(VARCHAR(50)vsNVARCHAR(100))、索引、分区、存储参数等。

    • 例如:逻辑实体Customer在Oracle数据库中可能被实现为名为T_CUST的物理表,其中CustomerID列的数据类型是NUMBER(10),并建立了一个在Status列上的位图索引。

    • 关键点:它是技术特定的物理实现。

对应关系分析

它们之间的关系不是简单的1:1对应,而是一个从抽象到具体,从业务到技术,逐步细化、转化和可能拆分/合并的过程。

我们可以用一个经典的“订单到现金”流程中的“订单”对象为例来分析:

1. 业务对象 ↔ 业务场景(业务层内部关系)
  • 关系:参与和协作

  • 一个业务对象(如“订单”)会被多个业务场景所使用

    • 例如:“订单”对象会出现在“创建订单”“修改订单”“审批订单”“执行订单”“查询订单状态”等多个业务场景中。

  • 一个业务场景通常会涉及和操作多个业务对象

    • 例如:“创建订单”场景涉及至少:“客户”、“产品”、“库存”、“订单”、“订单行”等业务对象。

  • 结论:这是多对多的参与关系。业务场景是动态过程,业务对象是静态参与者。

2. 业务对象 ↔ 逻辑实体(业务到逻辑的映射)
  • 关系:精化和结构化

  • 一个业务对象通常会被分解为多个逻辑实体。这是因为在逻辑数据建模时,我们需要遵循规范化原则,消除数据冗余。

    • 例如:业务对象“订单”可能被分解为:

      • Order(订单头:订单号、日期、总金额、状态)

      • OrderLine(订单行:产品、数量、单价)

      • OrderStatusHistory(订单状态历史:状态、时间、操作人)

    • 同时,一个业务对象(如“客户”)的属性,可能会作为外键出现在另一个业务对象(如“订单”)的逻辑实体中。

  • 也可能存在一个逻辑实体对应多个业务对象的情况(较少),通常在高度抽象的模型中,例如Party(参与方)逻辑实体可能对应“客户”、“供应商”、“员工”等多个业务对象。

  • 结论:主要是从粗粒度到细粒度的、一对多的分解关系。逻辑实体是业务对象在信息域的结构化表述。

3. 逻辑实体 ↔ 物理实体(逻辑到物理的映射)
  • 关系:实现和优化

  • 一个逻辑实体通常对应一个物理实体(表),这是最直接的情况。

  • 但出于性能、安全或技术限制的考虑,经常发生拆分或合并

    • 拆分(水平/垂直分区)

      • Order逻辑实体按时间拆分为Order_2023Order_2024等多个物理表(水平分区)。

      • Product逻辑实体的常用字段(名称、价格)和非常用字段(详细描述、技术文档)拆分为两个物理表,即ProductProduct_Detail(垂直分区)。

    • 合并(反规范化)

      • 为了提高查询性能,将Order和最常关联的Customer逻辑实体部分字段(如客户姓名)合并到一个名为Order_With_CustomerName的物理视图或宽表中。

  • 结论:基本是一对一的关系,但为了物理性能优化,可以衍生出一对多(拆分)或多对一(合并)的对应。

总体关系图谱与总结

[业务域] │ ├─── 业务场景A ──────┐ [一个场景操作多个对象] ├─── 业务场景B ──────┤ [一个对象参与多个场景] └─── 业务场景C ──────┼──→ 使用 / 涉及 → 业务对象X(如“订单”) │ ↓ 精化 / 结构化 [信息/数据域] │ 逻辑实体1(Order) 逻辑实体2(OrderLine)← 一对多分解 逻辑实体3(OrderStatusHistory) │ ↓ 实现 / 优化(可能拆分/合并) [技术域] │ 物理实体A(ORD_MAIN 表) 物理实体B(ORD_LINE 表)← 可能是一对一,也可能进一步拆分 物理实体C(ORD_HIST 表) 物理实体D(ORD_CUST_VIEW 视图)← 合并的产物

核心结论:

  1. 映射链条业务场景 (动态过程) → 操作 → 业务对象 (业务概念) → 精化为 → 逻辑实体 (逻辑数据模型) → 实现为 → 物理实体 (物理数据库表)

  2. 对应基数

    • 业务对象 : 业务场景 = 1 : N(多场景使用)

    • 业务场景 : 业务对象 = 1 : N(多对象参与)

    • 业务对象 : 逻辑实体 ≈ 1 : N(通常分解)

    • 逻辑实体 : 物理实体 ≈ 1 : 1(但可根据优化需要变为 1:N 或 N:1)

  3. 驱动关系业务场景驱动对业务对象的识别和分析,而业务对象的需求和特性驱动逻辑数据模型的设计,最后逻辑模型结合非功能性需求(性能、安全)驱动物理数据库的设计

TOGAF的ADM阶段正是遵循了这个逻辑:A阶段(业务架构)识别业务对象和场景 ->B阶段(信息系统架构-数据)将其转化为逻辑数据模型 ->C/D阶段(技术架构)将其部署为物理数据库。理解这些构件之间的关系,是确保架构从战略到落地保持一致性的关键。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 1:35:39

企业微信打卡位置修改神器:告别地理限制的全新体验

企业微信打卡位置修改神器:告别地理限制的全新体验 【免费下载链接】weworkhook 企业微信打卡助手,在Android设备上安装Xposed后hook企业微信获取GPS的参数达到修改定位的目的。注意运行环境仅支持Android设备且已经ROOTXposed框架 (未 ROOT …

作者头像 李华
网站建设 2026/2/24 2:28:48

Windows界面定制革命:ExplorerPatcher让你的桌面焕然一新

Windows界面定制革命:ExplorerPatcher让你的桌面焕然一新 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 还在为Windows 11的界面设计感到困扰吗?想要找回…

作者头像 李华
网站建设 2026/3/4 5:39:03

批量导入文档的最佳实践:Anything-LLM数据初始化方案

批量导入文档的最佳实践:Anything-LLM数据初始化方案 在企业知识管理日益复杂的今天,一个常见的痛点浮现出来:大量关键文档散落在各个员工的电脑、NAS设备甚至纸质文件中。当新员工入职时,面对厚厚的制度手册无从下手;…

作者头像 李华
网站建设 2026/2/27 12:20:51

B站字幕下载神器:3步轻松获取视频文字内容

还在为B站视频的字幕提取而烦恼吗?想要快速获取视频中的文字内容却不知从何入手?今天我要分享的这个神奇工具——BiliBiliCCSubtitle,将彻底改变你处理B站字幕的方式。这个B站字幕下载工具能够智能识别并下载CC字幕,支持多语言、多…

作者头像 李华
网站建设 2026/2/25 21:29:34

音乐歌词获取工具:轻松下载网易云QQ音乐歌词

音乐歌词获取工具:轻松下载网易云QQ音乐歌词 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到心爱歌曲的歌词而烦恼?163MusicLyrics这…

作者头像 李华
网站建设 2026/2/28 7:02:00

跨平台漫画阅读终极指南:轻松开启多设备漫画之旅

跨平台漫画阅读终极指南:轻松开启多设备漫画之旅 【免费下载链接】venera A comic app 项目地址: https://gitcode.com/gh_mirrors/ve/venera 还在为在不同设备间切换阅读漫画而烦恼吗?现在,一款真正实现跨平台漫画阅读体验的应用来了…

作者头像 李华