概念数据模型CDM基础
概念数据模型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


参考:
- Conceptual Data Model
- 概念模型(conceptualDataModel)创建详解
- PDM生成SQL 鼠标单击Database菜单》Generate Database 选项》配置导出选项;完成导出;
概念数据模型CDM基础的更多相关文章
- PowerDesigner概念数据模型 CDM
目标:本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2 ...
- 物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了. 步骤如下: 一.反向生成物理数据模型PDM 开发环境 PowerDes ...
- PowerDesigner 概念数据模型(CDM)
大 中 小 PowerDesigner 概念数据模型(CDM) 说明 2014-05-07 大数据深... 来源 阅 51 转藏到我的图书馆 微信 分享: QQ空间 QQ好友 新 ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
- 五、概念数据模型(CDM生成LDM,PDM和OOM)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用 ...
- PowerDesigner 概念数据模型(CDM) 说明
ref: https://blog.csdn.net/tianlesoftware/article/details/6871179 关于PowerDesigner的说明参考: PowerDes ...
- PowerDesigner教程系列(一)概念数据模型
目标: 本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述 数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世 ...
- PowerDesigner 概念数据模型
(转自:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html) 目标:本文主要介绍PowerDesigner中概念数据模型 CD ...
随机推荐
- Python-序列化模块-json-62
序列化模块 Eva_J 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到 ...
- 广州商学院16级软工一班&二班-第二次作业成绩
作业地址 https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 https://edu.cnblogs.com/campus/gzc ...
- MongoDB Redis
MongoDB Redis设置用户名密码了吗?看看shodan这款邪恶的搜索引擎吧!~ 早上看新闻的时候看到了个醒目的新闻 开源中国:MongoDB 赎金事件持续发酵,究竟是谁之过?博客园:Mon ...
- XT535
今天金山误删了一个文件,把手机系统整坏了,故刷了个机,刷机教程: http://bbs.dospy.com/thread-15027415-1-623-1.html 中间安装了个驱动精灵,否则手机开启 ...
- echarts使用笔记五:echarts的Zoom控件
option = { title: { text: '趋势' }, tooltip : { trigger: 'axis', show:true, axisPointer : { // 坐标轴指示器, ...
- 【学亮IT手记】Servlet的生命周期
1.1 Servlet的生命周期 1.1.1 Servlet的生命周期概述 1.1.1.1 什么是生命周期 生命周期:一个对象从创建到销毁过程. 1.1.1.2 Servlet的生命周期(*****) ...
- C# Note18: 使用wpf制作about dialog(关于对话框)
前言 基本上任何software或application都会在help菜单中,有着一个关于对话框,介绍产品的版权.版本等信息,还有就是对第三方的引用(add author credits). 首先,看 ...
- java学习之—递归
/** * 递归 * Create by Administrator * 2018/6/20 0020 * 上午 9:41 **/ public class TriangleApp { static ...
- spring boot+mybatis+generator生成domain大小写问题
之前遇到一个问题,用generator生成数据库对应的domain,以前都是好好的,那天突然生成的domain都是小写的,因为我数据库里是大写的,后来找到解决办法, <table tableNa ...
- Java线程的5种状态及切换(透彻讲解)-京东面试
一.Thread的几个重要方法: 我们先了解一下Thread的几个重要方法. a.start()方法,开始执行该线程:b.stop()方法,强制结束该线程执行:c.join方法,等待该线程结束.d.s ...