概念数据模型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. 用python实现一个回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  2. 关于js作用域问题

    补充: function Foo(name,age){ this.name=name; this.age=age; this.getName=function(){ console.log(this) ...

  3. java kill thread command line

    multithreading - How do you kill a Thread in Java? - Stack Overflowhttps://stackoverflow.com/questio ...

  4. java的数据类型:基本数据类型和引用数据类型

    Java数据类型的基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式. 开始接触每种语言的时候,都会存在对数据类型的认识,有复杂的,有复杂的,各 ...

  5. AngularJS路由使用案例

    AngularJS路由使用案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  6. leetcode:Roman to Integer and Integer to Roman

    2015-06-03 罗马数字以前接触过I到VIII比较多,直到遇见这个题目才知道更详细.阿拉伯数字和罗马数字之间的转换最重的是了解罗马数字的规则. 罗马数字规则:(总结) 1, 罗马数字共有7个,即 ...

  7. javascript深入浅出——学习笔记(六种数据类型和隐式转换)

    在慕课之前学过JS深入浅出,最近发现很多东西都记不太清楚了,再复习一遍好了,感觉这个课程真的超级棒的,做做笔记,再添加一些学习内容

  8. flutter中使用svg

    dependencies: flutter_svg: ^0.12.1 flutter packages get import 'package:flutter_svg/flutter_svg.dart ...

  9. 排查 Maxwell can not find database 并且使用 MySQL binlog 解决相关问题

    目前我们在使用 Maxwell 在读线上机器的 binlog 同步我们的离线数据库. 这次错误定位上,首先线要确定问题是发生在生产者 还是队列 还是消费者.经过查看各机器上任务的运行日志,定位到了问题 ...

  10. DAY03、基本数据类型和运算符

    一.基本数据类型的使用 1.整型int: 作用:用来记录年龄.等级.数量 定义:age=18 使用:数学运算与比较运算: 例:print(10>3) print(10/3) 2.浮点型float ...