导读

  在本篇文章中,你将会了解到PowerDesigner工具中的三种模型CDM,OOM,PDM的区别和联系。

PowerDesigner

  简称PD,是一种数据建模工具,适合于开发大型应用系统时的数据模型设计过程。总共有5种模型。

模型

CDM

  以实体为单元,进行实体以及实体对应关系的建立。即实体-联系图(E-R图),CDM就是以其自身方式来描述E-R图。

  • 此时不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。
  • 在CDM中用来标识实体的是属性(Attribute)。

LDM

  逻辑模型是概念模型的延伸,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现。

  具体表现: 
  在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。 
   
  和其他模型的联系:

  • 使用逻辑模型可以生成针对具体数据库管理系统的物理模型。
  • 逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。-

PDM

  PDM更接近与关系数据库里的关系表,PDM可以直接与RDBMS(关系型数据库管理系统)发生关联。PDM考虑了数据库的物理实现,包括软件和数据存储结构。

  • PDM的对象:表(Table)、表中的列(Table column)、主外键(Primary、Foreign key)、参照(Reference)、索引(Index)、视图(View)等。
  • 在PDM中用来表示实体属性的是列(Column)。

OOM

  一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM 本质上是软件系统的一个静态的概念模型。可以直接生成JavaBean文件。 
  

总结

  1. CDM和LDM的区别有些地方解释不一样,认为概念模型中只有实体和实体之间的关系,并没有实体的属性、唯一标识这些具体的内容。但是有一点是一样的,就是逻辑模型比概念模型更详细,目的是更详尽的描述数据,使得整个概念模型更易于理解。

  2. OOM是整个软件系统的一个概念模型,不仅仅是对数据的建模,而且从思想上也是面向对象的思想。

  3. 个人认为,一些区别可能大家理解得不一致,这是正常的,类似于“狭义”和“广义”的区别,我们只需把握住每种模型的侧重点就可以了。

  4. 在软件工程文档的数据库设计书需要有CDM,LDM,PDM三种模型。

原文:https://blog.csdn.net/u010924834/article/details/48531669

db powerdesign CDM、LDM、PDM、OOM的区别的更多相关文章

  1. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)

    概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...

  2. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)

    概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...

  3. 五、概念数据模型(CDM生成LDM,PDM和OOM)

      概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用 ...

  4. paip.powerdesign cdm pdm文件 代码生成器 java web 页面 实现

    paip.powerdesign cdm pdm文件 代码生成器 java web 页面 实现 准备从pd cdm生成java web 页面...但是,ms无直接地生成软件.... 只好自己解析cdm ...

  5. 物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。

    物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了.   步骤如下: 一.反向生成物理数据模型PDM 开发环境 PowerDes ...

  6. PD 15.1 安装 破解 , 简单使用 (一对多,多对多关系生成sql脚本) , CDM 和 PDM 的区别;PD15.1 生成sql2008 无FK外键约束的解决方法

    CDM是概念模型,在概念模型上没有具体数据库产品的概念,反映的是实体和联系.PDM是物理模型,是依赖具体数据库产品的模型,比如可以指定具体的数据类型和约束等等.在PowerDesigner中两个模型之 ...

  7. PowerDesigner中CDM和PDM如何定义外键关系

    有A.B两张表(实体),各自有id作为主键,两表是一一对应关系.但略有不同: A表一条记录可以对应0或1条B表记录,B表一条记录必须对应唯一条A表记录. 这样的关系如何在CDM或PDM中定义? 在最后 ...

  8. 【PowerDesigner】PowerDesigner之CDM、PDM、SQL之间转换

    有关CDM.PDM.SQL之间转换以及不同数据库之间库表Sql的移植,首先要了解的是它们各自的用途.这里就简单的描述一下,不做详细的解释了. CDM:概念数据模型.CDM就是以其自身方式来描述E-R图 ...

  9. cdm 生成pdm时, 外键的命名规则

    在CDM 生成PDM时,生成的外键默认的规则是:父表名称的前三个字母+"_"+主键 为子类的外键,可是在一些情况,很不习惯用 父表的前三个字母命名,需要用自己的规则来生成外键,此时 ...

随机推荐

  1. linux为什么要使用CentOS开发?

    CentOS(Community Enterprise Operating System,社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源 ...

  2. 渗透测试学习 四、 HTML基础

    HTML是一种解释型语言,解释给浏览器解析执行显示给用户浏览,是一种静态,无交互的 超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用.HTML 不是 ...

  3. sql sever 2012重装数据库时,出现cannot find one or more components, Please reinstall the application.解决方法

    错误原因: 由于我将SQL数据库做了删除,重装.在删除的过程中,不小心删除了某个SQL的插件,导致了这种问题的出现. 当我们去操作工具时,也会提示以上错误. 解决办法: 1)去控制面板--所有控制面板 ...

  4. c++输出小数

    #include <stdio.h> printf("%.4lf",value); #include <iomanip> cout.setf(ios::sh ...

  5. BUAA-OO第二单元小结

    一.设计策略 三次作业中,由于前两次作业都只有一部电梯,因此我的线程只有两个,一个等待队列输入进程,以及一个电梯运行进程.等待队列输入进程实现十分简单,只需要根据输入把request添加到等待队列即可 ...

  6. 【scarpy】笔记三:实战一

    一.前提 我们开始爬虫前,基本按照以下步骤来做: 1.爬虫步骤:新建项目,明确爬虫目标,制作爬虫,存储爬虫内容 二.实战(已豆瓣为例子) 2.1 创建项目 1.打开pycharm -> 点开te ...

  7. node中间件概念

    中间件就是请求req和响应res之间的一个应用,请求浏览器向服务器发送一个请求后,服务器直接通过request定位属性的方式得到通过request携带过去的数据,就是用户输入的数据和浏览器本身的数据信 ...

  8. python 基础之自动类型转换和强制类型转换

    一:自动类型转换 自动类型转换注意针对Number数据类型来说的 当2个不同类型的数据进行运算的时候,默认向更高精度转换 数据类型精度从低到高:bool int float complex #关于bo ...

  9. C 标识符, 数据存储形式(原码,反码,补码)

    一.  标识符 第一个字母必须是英文字母或下划线 二. 数据存储形式(补码存储) 最高位是符号位 ---- 0表示整数 ; 1 表示负数 1. 正数:原码 = 反码 = 补码 例子 : (10) 原码 ...

  10. oracle 的 exp 和imp命令

    数据导出: 1 将数据库TEST完全导出,用户名gdoa 密码123 导出到D:\TEST_BK.dmp中 exp gdoa/123@TEST file=d:\TEST_BK.dmp full=y   ...