由于现在很多数据库设计在做完概念设计阶段就会添加属性和主键等,所以经常将数据库的概念设计和逻辑设计放在一起。所以,我们会着重讲一下CDM和PDM的区别。后面在给你一个CDM.PDM.LDM的大致区别。
CDM和PDM的区别? 概念数据模型(CDM)
信息系统的概念设计工具,即实体-联系图(E-R图),CDM就是以其自身方式来描述E-R图。此时不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。 物理数据模型(PDM)
PDM考虑了数据库的物理实现,包括软件和数据存储结构。
PDM的对象:表(Table)、表中的列(Table column)、主码和外码(Primary & Foreign key)、参照(Reference)、索引(Index)、视图(View)等。 下面通过创建一个CDM项目的过程来谈一下我对CDM的认识
1. 创建一个CDM项目,设置其属性。
2. 定义域(Domain):一般在开始之前,我们要为CDM模型定义一些域,域的作用有些像元数据,它定义了某一类数据的数据结构。通过定义一个域,你就定义了一种数据结构,你可以在项目中引用它。这样做的好处时,一旦你改动了一个域的属性,整个项目中所有引用处都跟着改变。例如,你定义一个名称为my_money的域,数据类型为money,整数位数为8,小数位数为3。你在数据项(DataItem)pay和get中引用了money的域后,该数据项的数据类型自动变为money。如果某一天你增加money类型的小数位数,那么你只需要改一下my_money这个域,所有引用了my_money这个域的数据项的数据类型都将改变。
3. 建立实体:建立一个实体后,设置属性,修改名称,增加attributes,每一个attribute在CDM中就是一个数据项(DataItem),转换成PDM后就像当于表中的一个字段。在属性栏里你可以对任意一个attribute设置它的一些特性。分别是DataType,Domain,M,P,D。DataType就是数据类型,如果引用了域就不需要设置。Domain就是引用域。M,P,D分别是:是否必填,是否为主键,是否可显,这三个属性可多选,当你选择P后,M也自动选择,同时在Identifiers里也多出一个标识符。标识符的作用也比较大,在relationship中,是以它为对应。
4. 建立联系(relationship):选择relationship后进行拖拉可在两个实体间建立一种联系,双击联系将显示其属性,可在其中设置两个实体之间的关系,这些关系包括,一对一,一对多,多对一,多对多。例如,class表和student表,是一对多关系,这种一对多的实体关系转换成PDM后,第一个实体的主键将做为第二个实体的外键存放,例如class表的主键class_id将作做studuent的外键。
5. 建立子模型:子模型相当于我们平时所说的实体关系表,ER图中的菱形部分。子模型用在多对多关系中。如class表和teacher表,它们之间就是一个多对多关系,为实现这两个实体之间的联系就需要建立一个子模型,建立子模型用association link将多个实体联系起来。PDM中子模型也是一个物理表,与它联系的每个实体的主键都是子模型表的字段。同时子模型也可以增加一些其它的attribute。
6. 建立继承关系:继承关系与我们在编程中的继承类似,以父实体为基准,所有子实体将拥有父实体中的所有attribute。子实体中可定义其它attribute,以区别于其它子实体。(对继承关系的应用我有些糊涂,在ER图中也找不到其对应的模式。关于其父表是否有存在的价值,我与同事探讨了一下,没有结果。还望各位高手不惜赐教。)。
后面是数据设计中CDM,PDM,LDM 的区别:
概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为“概念数据模型”。
概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。
概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。
概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。
在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。
在数据仓库领域有一个概念叫logical data model,中文一般翻译为“逻辑数据模型”。
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。
逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。
逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
在数据仓库领域有一个概念叫physical data model,中文一般翻译为“物理数据模型”。
物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。
物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。
相关推荐
很多的朋友对 E-R图 都不是很熟悉,或者说有的朋友在开发的项目过程中,根本就没有用到E-R图,因为对于有些对E-R图不是很熟悉的朋友感觉画E-R图无从下手: 我个人根据一些资料整理了一下关于使用PowerDesigner工具对...
Powerdesigner逆向工程生成PDM 中文列名表名替换为注释
主要介绍了详解PowerDesigner之CDM、PDM、SQL之间转换的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
在PowerDesigner里执行脚本命令,从Excel里读取表结构生成pdm文件。
PowerDesigner逆向工程生成PDM模型及数据库
PowerDesigner教程系列之CDM
PowerDesigner中的CDM设计的外键作主键的问题
详细介绍了PowerDesigner_CDM
PowerDesigner导出word模版 pdm word 表,导出表名,列名。
PowerDesigner使用教程_PDM.pptx
将word表格导入到powerdesigner快速实现创建pdm.docx
1:Excel模板文件. 2:vbs脚本 3:powerDesiger操作视频 使用过powerDesiger的人都知道列名大写很麻烦。不如在Excel中编辑后统一生成PDM文件。大批量转换文件格式
步骤: 1、用PowerDesigner打开要导出的PDM文件 2、Tools->Execute Commands -> Edit/Run Script... 3、点击Open图标(打开文件夹)找到该脚本文件 4、点击Run按钮
wordTemplate(1) PowerDesigner16.5pdm 将pdm格式的转换成word文档或者html
通常数据表字段使用英文,备注comment完成字段的说明。使用该脚本能够在PowerDesigner批量生成SQL脚本时将name生成数据库中字段的comment
一直是数据关系系统数据存储方式的不二选择,本博文是在一个关系数据库学习过程中对一个简单的关系数据库进行系统分析和模型设计的基础上,应用数据建模工具PowerDesigner工具来描叙概念数据模式CDM图,并转化成特定...
1.安装PowerDesigner。 2.了解CDM的主要设计元素和设计过程。 3.熟悉模型转换工具的使用。 4.熟悉PDM的主要设计元素和设计过程。 设计学生住宿管理的CDM、PDM(PDM模型最好包括:1、通过CDM模型生成;2、...
通过配置资源库,使用PowerDesigner工具根据数据库中表之间的关系生成PDM模型。
Powerdesigner连接Mysql数据库生成PDM
使用Powerdesigner的逆向工程生成PDM.pdf