`
歆渊
  • 浏览: 307786 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

实例观察网络模型与关系模型对现实世界的建模差异

阅读更多
我感觉受 主流/传统的 Object Orientation 对 领域模型设计 的影响, 以及 SQL 对 关系模型设计 的影响, 目前领域模型基本都设计为 "网络模型" 也就是更倾向于 传统的数据结构.

举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系.

如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的.

反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Screwing(s1, c1)), 就跟现实逻辑是恰好符合的.

不过在通用OO语言基础上实现关系模型的语义, 还是要费些周折, 不过也不是不可能. Object Relation Kin Model 就是一个结合通用OO语言与关系模型的例子.
分享到:
评论
5 楼 sslaowan 2008-04-12  
Class Screwing()不就是一种服务吗?[Evans03]跟关系模型有什么关系
4 楼 歆渊 2007-09-25  
hyhongyong 写道

领域模型设计也不一定是两个动作,看螺丝和螺母哪个更主要,可以是s1.cap = c1或者c1.screw = s1吧。当然和new Screwing(s1,c1)还是有语义上的差别的。比如杯子上加个盖子,应该是 杯子1.盖子 =盖子1吧。


是的, 有的时候通过计算机解决问题并不需要自然实体的完整信息, 这些情况下网络模型就显得更为灵活, 只按需建模处理局部信息, 简单高效. 不过这些情况在数据结构, 基础算法, 有限元模拟等领域很广泛, 但是在商务计算方面就相对少见. ERP, CRM, PDM/PLM等领域关系常常还是相互的, 所以关系模型就显得更贴切些.
3 楼 hyhongyong 2007-09-25  
歆渊 写道
我感觉受 主流/传统的 Object Orientation 对 领域模型设计 的影响, 以及 SQL 对 关系模型设计 的影响, 目前领域模型基本都设计为 "网络模型" 也就是更倾向于 传统的数据结构.

举个例子, 比如要描述一颗螺丝 s1 和一颗螺母 c1, 以及把它们拧在一起的关系.

如果按照网络模型(传统数据结构)的思路, 那么就必须同时有一个把螺丝拧进螺母(s1.cap = c1)和一个把螺母拧上螺丝的动作(c1.screw = s1), 显然这跟现实世界的逻辑思维是有差别的.

反过来如果按照关系模型的思路, 只要一个建立拧接关系的动作 (new Screwing(s1, c1)), 就跟现实逻辑是恰好符合的.

不过在通用OO语言基础上实现关系模型的语义, 还是要费些周折, 不过也不是不可能. Object Relation Kin Model 就是一个结合通用OO语言与关系模型的例子.


领域模型设计也不一定是两个动作,看螺丝和螺母哪个更主要,可以是s1.cap = c1或者c1.screw = s1吧。当然和new Screwing(s1,c1)还是有语义上的差别的。比如杯子上加个盖子,应该是 杯子1.盖子 =盖子1吧。
2 楼 歆渊 2007-09-24  
嗯, 严格追根溯源的话, 关系模型是Codd在1970年根据数学上的 "关系理论" 提出来的, 数学的概念定义很抽象, 其实也不能跟现实世界完全匹配, 不过经过这么多年在计算机领域的发展, 关系模型在软件数据模型方面已经算得上比较实际, 应用的时候基本上就可以按SunMicro所说的简单理解.

而网络模型没有数学理论的根源, 基本上就是从数据结构演化来的, 所以跟软件设计有本源的亲和性. 但是现在计算机也在商业处理方面广泛应用了, 业务逻辑跟科学计算, 基础算法, 甚至跟物理/化学系统模拟都有本质性的差别, 可以说是更接近日常直觉上的逻辑思维方式, 于是在商业计算方面, 软件设计跟 关系模型 的亲和性倒显得更强一些了.

或者说 关系模型 更倾向于人脑的逻辑方式, 更抽象, 更接近 "WHAT"; 而 网络模型 更倾向于电脑的逻辑方式, 更细节, 更接近 "HOW".
1 楼 SunMicro 2007-09-24  
Object Relation Kin Model还没有来得及看。

从对这两种的描述来看,传统的数据结构强调的是参与者之间的相互联系,而关系模型则是强调的是:这种联系构成了一种关系,而这种关系构成了一种新的模型。是否可以简单的这样理解。






相关推荐

    数学建模常用模型论文汇总(2)

    在数学建模中,我们经常会遇到各种模型,用于解决实际问题或进行数据分析。"数学建模常用模型论文汇总(2)"中包含...在"数学建模常用模型论文汇总(2)"中,这些模型的深入研究和实例应用将为我们提供宝贵的参考资料。

    数学建模神经网络.rar

    神经网络是一种模仿人脑神经元工作原理的计算模型,它在数学建模中扮演着重要角色,尤其是在解决复杂问题和模式识别方面。本压缩包“数学建模神经网络.rar”包含了一个PPT,旨在帮助教学和自学者深入理解神经网络的...

    数学建模中随机模型的课件例子

    在数学建模中,随机模型是一种重要的工具,用于模拟现实世界中的不确定性现象。随机模型基于概率理论,通过定义随机变量来描述系统的行为,这在处理不确定性和风险时尤其有用。以下将详细介绍课件中可能涉及的几个...

    Matlab_Simulink通信系统建模与仿真实例分析(邵玉斌)

    《Matlab_Simulink通信系统建模与仿真实例分析(邵玉斌)》是一部深入探讨Matlab和Simulink在通信系统建模与仿真领域的实用教程。该资源包含了作者邵玉斌精心编写的实验代码,旨在帮助读者理解和应用这两种强大的工具...

    数据分析精华案例-员工流失建模与预测实例

    ### 数据分析精华案例-员工流失建模与预测实例 #### 背景介绍 随着市场竞争的日益激烈,员工流失已成为企业面临的一项重大挑战。员工流失不仅会导致企业成本上升,还可能影响团队士气和整体生产力。因此,了解员工...

    HFSS建模实例与仿真优化方法

    根据Polar9000的参数以及阻抗计算结果,利用HFSS建立模型,通过仿真比较两者之间的差异。内含HFSS工程,HFSS建模手把手教程,根据本次实验,可以初步学会使用HFSS建模方法,了解HFSS优化方法,有助于了解高速信号...

    数据挖掘经典建模实例

    4. 观察模型结果,尝试解释模型的预测能力和发现的规律。 5. 尝试修改参数或选择不同的模型,比较结果差异。 通过反复实践和对比,你可以不断提升数据挖掘技能,对Clementine的运用也会更加得心应手。这些实例不仅...

    姜启源《数学建模》课后答案

    《数学建模》课程是连接数学理论与实际应用的重要桥梁,它不仅要求学生掌握扎实的数学基础,更强调数学在解决现实问题中的应用能力。姜启源教授的《数学建模》教材及其课后答案,作为该领域的经典之作,深入浅出地...

    数学建模有关的评价模型

    在数学建模中,灰色关联度分析可用于比较不同方案之间的相似性或差异性,通过构建灰色关联矩阵来评估各个因素对目标的影响程度,从而辅助决策。 3. **主成分分析法**(PCA): 主成分分析是一种降维技术,用于处理...

    数学建模-19第十九章 神经网络模型.zip

    文档"数学建模-19第十九章 神经网络模型.docx"和"数学建模-19第十九章 神经网络模型.pdf"可能详细解释了上述概念,并可能包含实例、图解以及如何在实际问题中应用这些知识。数学建模中,神经网络模型可以用来解决...

    动力学系统辨识与建模

    系统数学模型是对系统本质特征的数学抽象,它可以帮助我们从定性到定量认识所研究的系统,揭示系统内部因素(系统状态参数)之间以及系统内部与外部因素(外作用)之间的本质联系。通过建立正确的数学模型,我们不仅...

    数学建模实例与解析

    数学建模是一种重要的工具,它能够帮助解决现实世界中的复杂问题。本案例聚焦于汽车装配生产线中的数学建模问题,旨在通过数学方法优化装配流程,提升工作效率。 #### 问题1:数学模型构建与求解 **问题描述**: ...

    数学建模 易拉罐的优化设计

    模型Ⅰ的结果与实际测量值相比,差异极小,表明模型的合理性。 接下来,模型Ⅱ引入了非线性规划,考虑到易拉罐顶部是圆台形,底部是圆柱形。利用LINGO软件解决这个非线性模型,得到了一个新的最优设计方案。虽然...

    内轮差数学建模.pdf

    数学建模通常涉及对现实世界问题的简化、抽象,以创建能够反映现实情况的数学模型,并利用这些模型进行分析和预测。 2. 轮差概念:文档中出现的“轮差”可能指代工程、物理或数学领域中的某种特定差异计算方法。...

    ArcScene打开3dsmax模型实例

    ### ArcScene 打开 3dsmax 模型实例 #### 知识点一:3ds Max 制作简单三维模型 在本实例中,我们首先利用 3ds Max 制作一个简单的三维模型。3ds Max 是一款功能强大的三维建模、动画和渲染软件,广泛应用于广告、...

    数学建模-BP_神经网络的设计实例(MATLAB编程).zip

    其工作原理主要是通过反向传播误差来调整网络中各连接权重,以最小化预测输出与实际目标值之间的差异,即误差平方和。这个过程通常通过梯度下降法来实现,该方法利用梯度方向指导权重更新,以期达到全局最优或局部...

    【带完整书签】统计建模与R软件 - 薛毅、陈立萍 - 2006

    - **作用**:通过统计模型可以对数据进行预测、解释变量间的关系等。 #### 1.2 建模的基本步骤 - **问题定义**:明确建模的目的和需要解决的问题。 - **数据收集**:获取用于建模的数据集。 - **模型选择**:基于...

    数学建模思想方法集锦

    数学建模是一种应用广泛的工具,它通过数学语言和方法来理解和表述现实世界中的问题,进而进行预测、决策或优化。这个压缩包文件“数学建模资料大荟萃”显然是一个全面的资源库,包含了多种数学建模技术及其应用实例...

    神经网络讲义(数学建模)

    其核心理念源自对人类大脑神经元网络工作原理的模仿,旨在通过构建虚拟的神经网络模型,实现对复杂数据关系的学习与理解。 ##### 1. 简单原理 人工神经网络通过一系列的节点(即神经元)和连接这些节点的权重,...

    统计建模与R软件(上册)

    通过对《统计建模与R软件(上册)》的学习,我们可以了解到如何有效地利用R语言进行统计分析和建模。从数据的预处理到模型的选择与构建,再到最终的模型评估与预测,每一个步骤都需要仔细思考和操作。随着实践经验的...

Global site tag (gtag.js) - Google Analytics