概念数据模型CDM

概念数据模型是设计数据库不可或缺的一步,是整个数据库设计的关键,CDM的主要作用如下:

1)能够真实地模拟真实世界,是需求分析人员和数据库设计人员沟通的桥梁。
2)将系统需求分析得到的用户需求抽象为信息结构过程。
3)是后续逻辑数据模型和物理数据模型的基础。


CDM的基本术语:

1.实体:实体(entity)是指现实世界中的客观存在,对应现实世界中可相互区别的“事件”或“事物”。它可以是具体的对象,如“餐饮在线点评系统”中的会员、餐厅等,也可以是抽象的事件,如团购活动、一次手术等。

2.属性:每个实体都包括一组用来描述实体特性的属性(attribute)。例如,会员实体有会员编号、姓名、性别、出生年月、联系电话、联系地址、E-mail等属性。餐厅实体有餐厅编号、餐厅名称、餐厅简介、经营范围、餐厅描述、所属菜系、地址、联系电话和营业时间等属性。

3.标识符:标识符(identifier)是使用实体中的一到多个实体属性的值,唯一地标识实体的每一条记录。每个实体至少包括一个标识符,如果一个实体只有一个标识符,这个标识符一般默认用来作为主键。

4.联系:两个实体类型之间的联系称为实体联系,如特色菜与餐厅之间的关系。实体之间的关系一般分为以下几种类型:

一对一联系(1:1),

一对多联系(1:n)和多对一联系(n:1),

多对多联系(n:n),

强制/非强制联系(Mandatory/Dependant),

递归联系,

5.关联和关联连接:关联(Association)就是实体型的一种特例,用来在建模的时候更确切的表达实体间的关联信息。例如录音带、顾客、商店三个实体类型在租借录音带这个场景上发生关联,可把租借定义为上述三个实体类型之间的Association的实例。

6.继承:继承允许定义一个或多个实体是某个通用实体的特例,例如,“餐厅企业”是“企业”的特例,“企业”和“餐厅企业”存在父子关系。

7.数据项:数据项(data item)是信息的最小分片,它表示信息系统的一个事实或一个定义,它可能在一个模型对象中存在,也可能不存在。可以将一个数据项关联到CDM的一个实体,用来产生一个实体属性。  

8.域:域(domain)是一组具有相同数据类型值的集合。例如,性别{“男”、“女”和“保密”},启停状态(0,1)等,都可以作为域。域定义后能被多个数据项或实体属性共享。由于对同一个数据项引用的所有实体属性或数据项具有相同的数据类型(data type)、长度(length)、精度(precision)、检查参数(standard checks)、业务规则(rules)和强制/非强制(mandatory)等特性,所以更加容易使某些属性标准化,也便于统一修改。例如,要将性别的“男”、“女”和“保密”修改为“0”、“1”和“2”等情况。


创建CDM

选择“File”→“New”菜单项,从弹出的新建模型窗口中选择“Model types”→“Conceptual Data Model”→“Conceptual Diagram”,或者在新建模型窗口中选择“Categor-ies”→“Information”→“Conceptual Data”。

“Model type”区域选择模型类型,“Diagram”区域表示概念模型下只有一种图形,“Model name”用于设置概念模型的名称,如“概念数据模型简单实例”。

编辑CDM

参考:

概念数据模型CDM基础的更多相关文章

  1. PowerDesigner概念数据模型 CDM

    目标:本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2 ...

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

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

  3. PowerDesigner 概念数据模型(CDM)

    大   中   小 PowerDesigner 概念数据模型(CDM) 说明 2014-05-07  大数据深...  来源  阅 51   转藏到我的图书馆   微信 分享: QQ空间 QQ好友 新 ...

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

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

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

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

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

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

  7. PowerDesigner 概念数据模型(CDM) 说明

        ref: https://blog.csdn.net/tianlesoftware/article/details/6871179 关于PowerDesigner的说明参考: PowerDes ...

  8. PowerDesigner教程系列(一)概念数据模型

    目标: 本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述 数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世 ...

  9. PowerDesigner 概念数据模型

    (转自:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html) 目标:本文主要介绍PowerDesigner中概念数据模型 CD ...

随机推荐

  1. git rebase的用法

    改变基 一个git库,开发人员在master分支的Bcommit的时候,创建了一个dev分支,此时Bcommit是dev分支的基,然后分别进行两个分支的开发. 进行到master提交了Dcommit, ...

  2. 使用json读写文件中的数据

    把json的数据写入到文件中 import json with open('data.json','w+') as f: json.dump({"name":"张彪&qu ...

  3. 【转】Docker部署Tomcat及Web应用

    Docker部署Tomcat及Web应用 - Scofield_No1的博客 - CSDN博客https://blog.csdn.net/qq_32351227/article/details/786 ...

  4. [转帖]Linux分页机制之概述--Linux内存管理(六)

    Linux分页机制之概述--Linux内存管理(六) 2016年09月01日 19:46:08 JeanCheng 阅读数:5491 标签: linuxkernel内存管理分页架构更多 个人分类: ┈ ...

  5. transform: translate(-50%, -50%) 实现块元素百分比下居中

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. mapreduce join

    MapReduce Join 对两份数据data1和data2进行关键词连接是一个很通用的问题,如果数据量比较小,可以在内存中完成连接. 如果数据量比较大,在内存进行连接操会发生OOM.mapredu ...

  7. python函数、模块、包

    一.函数 定义函数: def fun_name(para_list): coding def fun_name(para_list): coding return xxx 使用函数,fun_name( ...

  8. 浅谈WPF的VisualBrush

    首先看看VisualBrush的解释,msdn上面的解释是使用 Visual 绘制区域,那么我们再来看看什么是Visual呢?官方的解释是:获取或设置画笔的内容,Visual 是直接继承自Depend ...

  9. linux中一些特殊的中文文件不能删除问题

    例: [root@iZ2zecl4i8oy1rvs00dqzeZ tmp]# ,),(,,' [root@iZ2zecl4i8oy1rvs00dqzeZ tmp]# echo "rm -rf ...

  10. bpmn.js & BPMN diagram

    bpmn.js & BPMN diagram BPMN 2.0 for the web https://github.com/bpmn-io/bpmn-js https://demo.bpmn ...