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图中也找不到其对应的模式。关于其父表是否有存在的价值,我与同事探讨了一下,没有结果。还望各位高手不惜赐教。)