Powerdesigner数据库设计--物理数据模型的概念和使用.docx
文本预览下载声明
物理数据模型的概念和使用
定义
物理数据模型(Physical Data Model):
简写为PDM,是用于定义详细定义物理结构和数据查询的数据库设计工具。你可以在PDM中使用不同类型的图表,这取决于你所要设计的目标数据库的类型。当今关于数据库方面比较热门的话题莫过于数据仓库,数据集市,OLAP,数据挖掘等内容了。而PowerDesigner对这几方面的设计都有很好的支持,分别支持了操作型数据库,数据仓库或数据集市,OLAP等类型数据库系统。
PDM DBMS :
PowerDesigner能够用于创建多种不同类型的DBMS,对于每种类型的DBMS,都包含一个标准定义文件用于在PowerDesigner和DBMS中确定关联而提供一套接口。你可以修改装载在PowerDesigner中DBMS,对于每个你将要修改的初始DBMS,你都可以创建一个相应的新DBMS。
新建PDM
你可以通过三种方式新建PDM
直接创建新PDM,这个操作过程和前面CDM的创建过程非常的类似。
使用模板创建新PDM
通过现有基础创建新PDM,现有元素包括:数据库的反向工程,引入一Erwin模型,从现有CDM或OOM自动生成,从V6版本的数据仓库分析模型迁移等。在本教程中,主要是通过前面创建好的CDM生成PDM。
下面只简要讲解概述第一种PDM的创建过程:
(1)选择New,即打开创建模型选项窗口,如下图:
(2)选择左边模型列表中Physical Data Model,同时在DBMS下拉列表中选择相应类型DBMS(当然你也可以在后面的过程中更改DBMS类型),
(3)在diagram中选择Physical Diagram,其中列表中Multidimensional Diagram选项用于创建多维(Multidimensional)数据模型。
(4)单击”确认”,即完成PDM创建过程。
(5)随后的物理数据模型的编辑操作和前面CDM的操作很类似,只不过将对实体Entity的操作更改为了对表的操作,至于其中的一些细节,将在后面的教程中陆续提到。
从CDM生成PDM
上面简单介绍了物理数据模型的创建,当然,你可以在此基础上完成数据库设计。但是不要忘记了前面我们已经做了很多事情,设计了一个完善的概念数据模型了,现在我们来看看如何将CDM转换为PDM。
在CDM的设计界面下,选择“工具-General Physical Data Model”(这里你会发现其实各个模型之间都是可以互相转换的),或使用快捷键:Ctrl+Shift+P,就会出转化为PDM的界面:
这里上面Generate New Physical Data Model是用于生成一个新的物理数据模型,其中要选择设置好DBMS,还有你的PDM的Name和Code,然后就可以生成了。
如果你是准备更新已经错在的PDM,那么你可以选择下面Update existing Physical Data Model来继续操作,当然需要选择要更新的PDM和DBMS。
Configure Model Options中,可以对生成的参数进行一些设置,这里暂时不介绍,一般你不需要更改什么就可以点击“确定”开始生成了。
这里值得强调的是在powerdesigner 15中,DBMS的选择中,一般来说,你需要按照你实际使用的数据库进行选择。但是,在操作中发现存在如下情况:如果选择SQL2005或SQL2008,生成的PDM在最终生成数据库的时候都无法生成主外键关系,取而代之的是生成了索引Index。要生成主外键关系,必须选择SQL2000。这点让我非常困惑,也一直没有找到对应的设置进行解决,不知道是我的版本问题还是原先的模板就是这样。难道是否powerdesigner 15提倡不使用主外键关系,以防止操作错误??这个在一些微软提供的实例的数据库的设计中都可以看到这种设计。
因此,如果你要最终在数据库中生成主外键关系,那么即使你使用SQL2008,也建议你的DBMS使用SQL2000,因为后期我们会生成数据库脚本,这个脚本在SQL2008上是通用的,一样可以生成你要的基于SQL2008的数据库。当然,如果你选择直接更新现有数据库那么可能会有一些问题的。
还有一个过渡性的办法:
DBMS先选择SQL2000生成一个PDM,然后再由此PDM生成另外一个PDM,此时你可以选择设置DBMS为SQL2008,此后生成的PDM就一切正常了。
好,那我们就按上面的操作,创建好DBMS使用SQL2000的物理数据模型,如下图:
很熟悉的界面吧,感觉和CDM非常的类似。
注意将生成的这个PDM拖到前面你创建好的“物理数据模型”文件夹下,如右图。
仔细观察一下生成内容,表取代了原先的Entity实体。再仔细看看原先实体的属性和现在的表中的数据列,你会
显示全部