PowerDesigner9.5物理数据模型

合集下载

物理模型图-数据库图

物理模型图-数据库图

物理模型图-数据库图1.新建物理模型图 File ----New Model----infomation---Physical Data1:打开PowerDesigner,然后点击File-->New Model然后选择如下图所⽰的物理数据模型(物理数据模型的名字⾃⼰起,然后选择⾃⼰所使⽤的数据库即可)(创建好主页⾯如图所⽰,但是右边的按钮和概念模型略有差别,物理模型最常⽤的三个是table(表),view(视图),reference(关系));(⿏标先点击右边table这个按钮然后在新建的物理模型点⼀下,即可新建⼀个表,然后双击新建如下图所⽰,在General的name和code填上⾃⼰需要的,点击应⽤即可),如下图:(然后点击Columns,如下图设置,灰常简单,需要注意的就是P(primary主键) , F (foreign key外键) , M(mandatory强制性的,代表不可为空)这三个,多看⼏遍理解其意思。

)(在此设置学号的⾃增(MYSQL⾥⾯的⾃增是这个AUTO_INCREMENT),班级编号同理,不作多啰嗦!)(在下⾯的这个点上对号即可,就设置好了⾃增)(全部完成后如下图所⽰。

)(班级物理模型同理如下图所⽰创建即可)(完成后如下图所⽰)上⾯的设置好如上图所⽰,然后下⾯是关键的地⽅,点击右边按钮Reference这个按钮,因为是班级对学⽣是⼀对多的,所以⿏标从学⽣拉到班级如下图所⽰,学⽣表将发⽣变化,学⽣表⾥⾯增加了⼀⾏,这⾏是班级表的主键作为学⽣表的外键,将班级表和学⽣表联系起来。

(仔细观察即可看到区别。

)(做完上⾯的操作,就可以双击中间的⼀条线,显⽰如下图,修改name和code即可)(但是需要注意的是,修改完毕后显⽰的结果却如下图所⽰,并没有办法直接像概念模型那样,修改过后显⽰在中间的那条线上⾯,读者⾃⼰明⽩即可,⾃⼰也可以使⽤其他按钮⾃⾏添加注释也可。

如Text这个按钮也可以添加,⽅便阅读)(学习了多对⼀或者⼀对多的关系,接下来学习多对对的关系,同理⾃⼰建好⽼师表,这⾥不在叙述,记得⽼师编号⾃增,建好如下图所⽰)(下⾯是多对多关系的关键,由于物理模型多对多的关系需要⼀个中间表来连接,如下图,只设置⼀个字段,主键,⾃增)(点击应⽤,然后设置Columns,只添加⼀个字段)(这是设置字段递增,前⾯已经叙述过好⼏次)(设置好后如下图所⽰)(需要注意的是有箭头的⼀⽅是⼀,⽆箭头的⼀⽅是多,即⼀对多的多对⼀的关系需要搞清楚,学⽣也可以有很多⽼师,⽼师也可以有很多学⽣,所以学⽣和⽼师都可以是主体,即男/⼥猪脚);(可以看到添加关系以后学⽣和教师的关系表前后发⽣的变化)。

利用 powerdesigner 从oracle数据库中导出数据物理模型结构

利用 powerdesigner 从oracle数据库中导出数据物理模型结构

利用powerdesigner 从oracle数据库中导出数据物理模型结构Powerdesigner连接oracle数据库导出物理模型一、创建数据库连接1.创建oracle的servicename:开始->所有程序->oracle home->配置和移植工具->Net Manage.打开oracle Net Manager服务器命名->新建服务器命名填写主机名Datebase->config connection弹出Configure Data Connection测试服务名2.powerdesigner中创建数据源创建数据源:Add Data Sourse填写servicename 用户名密码二、连接数据库导出物理模型1.逆向工程生产物理模型File->Reverse Engineer->Database确定Ok三、模型转换中文评论注释Tool->Excute Command->Edit/Run ScriptOpenfile commen2name.vbs文件:Option ExplicitValidationMode = TrueInteractiveMode = im_BatchDim mdl 'the current model'get the current active modelSet mdl = ActiveModelIf (mdl Is Nothing) ThenMsgBox "There is no current Model"ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) ThenMsgBox "The current model is not an Physical Data model." ElseProcessFolder mdlEnd If'This routine copy name into code for each table, each column and each view 'of the current folderPrivate sub ProcessFolder(folder)Dim Tab 'running tablefor each Tab in folder.tablesif not tab.isShortcut thenif len(ment) <> 0 then = mentend ifOn Error Resume NextDim col 'running columnfor each col in tab.columnsif len(ment) <>0 then =mentend ifOn Error Resume Nextnextend ifnextend sub。

PowerDesigner使用教程_PDM

PowerDesigner使用教程_PDM
PowerDesigner 16 使用介绍
技术开发三组
使用介绍
• 1 PowerDesigner16概述
• 2 PowerDesigner16常用物理模型
1.1 PowerDesigner16历史
• • • • • • • • • 由中国人王晓昀完成编制,从1995年到现在他一直负责PowerDesigner的设计 和开发 1989 -在法国发布第一个商用版本AMC*Designor (版本2.0) 1991 -在美国发布第一个商用版本S-Designor 1995 -Powersoft买下了他们的SDP公司,同年Sybase又买下了Powersoft,SDesignor和AMC*Designor的名字改为PowerDesigner和PowerAMC。 1997 -发布PowerDesigner 6.0 2001 12月-发布PowerDesigner 9.5 的最初版本, 并发布升级及维护版本直 到2003年 2004 12月-发布版本PowerDesigner 10.0 2005 -发布PowerDesigner 11.0 2007 7月-发布PowerDesigner 12
......
1.2 PowerDesigner 16概述
Power Designer是Sybase公司的CASE工具集,使用它可以方便 地对管理信息系统进行分析设计,它几乎包括了数据库模型设计 的全过程。
利用Power Designer可以制作数据流程图、概念数据模型、物理 数据模型,可以生成多种客户端开发工具的应用程序,还可为数 据仓库制作结构模型,也能对团队设计模型进行控制。
它可与许多流行的数据库设计软件,例如:与 Oracle ,SQL , PowerBuilder等相配合使用来缩短开发时间和使系统设计更优化。

实验三使用PowerDesigner设计物理模型并转换为数据库对象

实验三使用PowerDesigner设计物理模型并转换为数据库对象

实验三使用PowerDesigner设计物理模型并转换为数据库对象一、实验目的1.掌握ER图向关系模式转换的方法;2.使用PowerDesigner设计物理模型;3.设置DSN;4.通过物理模型生成数据库对象。

二、实验内容1、将概念模型转换为物理模型2、直接设计物理模型3、设置DSN4、在PowerDesigner中使用其自带工具,生成数据库对象实验基础知识提要物理模型(PDM):CDM反映了业务领域中信息之间的关系,它不依赖于物理实现。

只有重要的业务信息才出现在CDM 中。

PDM定义了模型的物理实现细节。

例如,所选RDBMS的数据类型特征、索引定义、视图定义、存储过程定义、触发器定义等。

分析阶段的CDM转换成PDM后,便将抽象的实体、属性与关系,对应到实际数据库的数据表、字段、主键、外部索引键等内容。

PowerDesigner支持模型间的转换使用PowerDesigner进行数据库设计的基本过程:三、实验步骤ER图向关系模式转化的基本原则:1、一个实体型转化为一个独立的关系模式,实体的码就是关系的码2、一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并3、一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并4、一个m:n联系可以转换为一个关系模式。

5、三个或三个以上实体间的一个多元联系可以转换为一个关系模式。

6、具有相同码的关系模式可合并。

将概念模型转换为物理模型•打开*.cdm•点击Tools-Generate Physical Data Model•选择DBMS为SQL SERVER 2000•设定Name和Code创建一个名为Course的数据库打开ODBC数据源管理器选择数据源类型并添加数据源选择驱动数据源的驱动程序点击Database-Generate Database选择ODBC generation,点击确定选择Machine data source点击Connect任务:将上次作业生成的数据库对象导入数据库中四. 实验结果与分析(上交实验报告)分析思考问题:1.试分析概念模型和物理模型的区别;概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化2.试分析概念模型与物理模型转换时的映射关系是如何的。

PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)

PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)

声明:本博文即使自己学习知识的一种简单记录,方便自己使用,也是把自己在遇到问题,找到解决办法拿来与大家分享,方便大家学习中也会遇到同样的问题不知怎样解决提供一种方案,其中内容都出自笔者手稿,并经过亲身实践,有错误地方希望多多评论并指正,方便后面看的人。

关系数据库数据模型设计及设计工具PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)博文摘要关系数据库从应用以来,一直是数据关系系统数据存储方式的不二选择,本博文是在一个关系数据库学习过程中对一个简单的关系数据库进行系统分析和模型设计的基础上,应用数据建模工具PowerDesigner工具来描叙概念数据模式CDM图,并转化成特定数据库中的物理数据模式的过程PDM,其中包括对Powerdesigner工具的使用方法的简单讲解,及从概念模型设计到物理模型实现的全过程。

实践过程一、任务描述根据下面的需求描述,使用Sybase Power Designer设计相应的数据库概念模型,并转换成MS SQL Server上的物理数据库结构。

二、问题描叙某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:银行有多个支行。

各个支行位于某个城市,每个支行有唯一的名字。

银行要监控每个支行的资产。

银行的客户通过其身份证号来标识。

银行存储每个客户的姓名及其居住的街道和城市。

客户可以有帐户,并且可以贷款。

客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。

银行员工也通过身份证号来标识。

员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。

每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。

银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。

银行提供两类帐户——储蓄帐户和支票帐户。

帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。

在PowerDesigner中设计物理模型1——表和主外键

在PowerDesigner中设计物理模型1——表和主外键

在PowerDesigner中设计物理模型1——表和主外键在PD中建⽴物理模型由以下⼏种办法:1. 直接新建物理模型。

2. 设计好概念模型,然后由概念模型⽣成物理模型。

3. 设计好逻辑模型,然后由逻辑模型⽣成物理模型。

4. 使⽤逆向⼯程的⽅法,连接到现有的数据库,由数据库⽣成物理模型。

物理模型能够直观的反应出当前数据库的结构。

在数据库中的表、视图、存储过程等数据库对象都可以在物理模型中进⾏设计。

由于物理模型和数据库的⼀致性,接下来以数据库对象和物理模型对象的对应来⼀⼀介绍:表新建物理模型时需要指定物理模型对应的DBMS,这⾥我们使⽤SQL Server 2008,新建⼀个物理模型后,系统会显⽰⼀个专门⽤于物理模型设计的⼯具栏:若要在物理模型中添加⼀个表,单击“表”按钮,然后再到模型设计⾯板中单击⼀次便可添加⼀个表,系统默认为表命名为Table_n,这⾥的n 会随着添加的表增多⽽顺序增加。

添加的表是没有任何列的,如图所⽰:单击⼯具栏的⿏标指针按钮,将⿏标切换回指针模式,然后双击⼀个表,系统将打开表属性窗⼝,在General选项卡中可以设置表的Name、Code等属性。

例如我们要新建⼀个教室表(ClassRoom),则可修改Name和Code。

Name是在模型中显⽰的名称,Code是⽣成数据库表的时候的实际表名。

另外Name中的内容还会作为SQL Server中的表备注。

单击Columns切换到列选项卡,在下⾯的列表中可以添加表中的列。

Name是模型上显⽰的名称,Code是⽣成的实际的表名,后⾯的3个复选框P代办主键、F代表外键,M代表不能为空。

为教室表设计了两个列,如图所⽰:主键在设计⼀个表时,⼀般情况下每个表都会有⼀个主键,主键分为单列主键和复合主键。

在为表设置主键时有以下⼏种办法:1.在Columns选项卡中,直接选中主键列的P列复选框,这是最简单的⽅式。

2.选中⼀个列,然后单击⼯具栏中的“属性”按钮,系统将弹出列属性窗⼝,在该窗⼝中可以设置该列的各种属性,当然也包括该列是否是否是主键。

利用powerdesigner从oracle数据库中导出数据物理模型结构

利用powerdesigner从oracle数据库中导出数据物理模型结构

利⽤powerdesigner从oracle数据库中导出数据物理模型结构步骤为1.菜单File->Reverse Engineer->Database...2.弹出窗⼝选择关系数据库类型我这⾥使⽤oracle9i 点击“确定”按钮。

3.新窗⼝选择 Using a data source 然后点击尾部的按钮选择数据源,如果是第⼀次需要添加新的数据源4.数据源选择 Connection profile 然后点击下⾯的“configure...”按钮5.在新窗⼝点击新添加⼀个数据源按钮其中Connection profile name:根据业务编写⾃⼰的存数据源信息的⽂件名字Connection Type:native 即选择本地DBMS type:oracle9i 即选择你连接的数据库⼚商和版本Service name:即填写你的oracle客户端配置的服务名(后⾯举例解释)Database name:数据库名称即oracle的SIDUser name:数据库⽤户名Password:数据库⽤户密码其中service name 为举例oracle客户端访问配置如下:businessdb=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 134.224.40.73)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))在这个数据源配置中Service name:businessdb,数据库名称Database name:orcl配置完毕可以测试数据库是否连接成功完成数据源的配置,既可以从数据库中导出表结构了。

在PowerDesigner中设计物理模型

在PowerDesigner中设计物理模型

在PowerDesigner中设计物理模型物理模型视图在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL Server中定义查询相似。

例如要创几个所有学生的所有选课结果的视图,那么在工具栏中选择视图按钮,然后在设计面板中单击鼠标一次便可添加一个空白的视图,切换到鼠标指针模式,双击该视图便可打开视图的属性窗口。

在General选项卡中,可以设置视图的名字和其他属性。

Usage是表示视图是只读的视图还是可更新的视图,还有一个是check option选项,指定了CHECK OPTION,也不能依据视图来验证任何直接对视图的基础表执行的更新。

如果我们只创建一般的视图,那么就选择只查询选项。

Dimensional Type指定该视图表示的是维度还是事实,这个主要是在进行数据仓库多维数据建模时使用,一般情况下不需要指定。

后面的两个复选框也不需要进行修改。

Type使用默认的view选项。

切换到SQL Query选项卡,在文本框中可以设置视图定义的查询内容,建议直接先在SSMS中验证视图定义SQL语句的正确性,然后再将SQL语句复制粘贴到该文本框中。

在定义视图时最好不要使用*,而应该使用各个需要的列名,这样在视图属性的Columns中才能看到每个列。

设计SQL Query如图所示。

当然,也可以在PD中使用自带的SQL编辑器编写SQL语句,单击右下角的“Edit with SQL Editor”按钮,即可弹出SQL Editor编辑器,编写SQL语句。

存储过程和函数存储过程和用户自定义函数都是在同一个组件中设置的,在工具栏中单击Procedure按钮,然后在设计面板中单击一次便可添加一个Procedure。

例如要创建一个存储过程根据学生的学号获得学生所选的课程,那么对于的操作如下:在指针模式下双击添加的Procedure,打开Procedure属性窗口,在General选项卡中可以设置该存储过程的名字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PowerDesigner学习资料 第1页 共9页 PowerDesigner9.5——物理数据模型(PDM)

一、 物理数据模型的理论基础 Powerdesigner中的物理数据模型以数据库管理系统(DBMS)理论为基础。 建立PDM的目的是把概念数据模型中建立的现实世界模型生成特定DBMS的SQL脚本,以此在数据库中产生信息的存储结构,这些存储结构是存储现实世界中数据信息的容器,并保证数据在数据库中的完整性和一致性。

1、PDM与DBMS的关系

2、PDM中的主要概念 1) 表、列、视图、主键、侯选键、外键

表:长期保存信息的表和临时表两种。长期保存信息的表是PDM中设计的主要对象。在PDM中建立表的过程就是产生SQL语句的过程。

列:组成表的基本单元,每一个列都有一个数据类型。 视图:是从一个或多个基本表或其它视图中导出的表,它可以形象的被看作是一个活动的窗口,在数据库中通过它可以看到自己干兴趣的内容。

主键:是用来惟一标识表中一条记录的一个或多个列的集合。 侯选键:也是用来惟一标识表中一条记录的一个或多个列的集合,它于主键具有同样的作用。 外键:是与其它表连接的公共列,这个列通常是其它表的主键。 2) 存储过程 3) 触发器 4) 默认和规则 默认:当用户没有为某一列赋值时,数据库服务器为该列自动插入的值。

DBMS世界 PD世界 用户数据库 SQL解释执行器

DBMS定义文件 生成特定DBMS的SQL脚本 PDM ODBC PowerDesigner学习资料

第2页 共9页 规则:就是在数据库的管理中指定的允许或不允许哪些值插入某些列。 5) 完整性检查约束 完整性是指数据库中数据的正确性和一致性。通过对数据库中插入、删除和修改数据值进行限制和约束来实现数据的完整性,数据库提供两种保持数据完整性的方法:一是在定义表时定义完整性约束;二是定义规则、约束、索引和触发器。

在数据库服务器上可以建立如下三种完整性约束:  唯一性(Unique)和主键约束(Primary Key)  参照完整性约束(Reference)  检查约束(Check)

6) 索引:描述了数据在表中是如何组织的。可以创建一个或多个索引来加快数据库的查询速度,索引多用户是透明的,数据库自动确定何时使用表的索引。

7) 库函数:每一种DBMS都提供了很多库函数。 8) 逆向工程:是指从现存的数据库或数据库SQL脚本中生成PDM的过程。 二、 定义PDM中的表 有三种途径可以建立表: 1. 直接在PDM的图形窗口插入表图形符号 单击工具选项板上的Table工具。

2. 在列表中增加新标 选择Model->Tables,打开表列表窗口,在列表中单击空行或单击Add a Row工具。

3. 在浏览器窗口增加新表 右击当前模型节点,从弹出的菜单中选择New->Table,打开表的特性窗口。

三、 定义PDM中域 1、 在PDM中,使用于有助于识别信息的类型,易于使不同表中列的数据特征标准化。域为列定义了一组有效的值。可以把Data Tpye,Check,Rule,Mandatory等信息关联到域上。

2、 域的特性 PowerDesigner学习资料

第3页 共9页  Mandatory: 表示使用该域的所有列的值是强制的  Identity: 表示使用该域的列值自动增益  Standard Check:表示位域定义的检查参数  Additional Check:表示标准检查参数没有定义的域约束  Rule:表示附加到域上的业务规则

四、 定义表中的列 1、 列特性:

 Identity:表示列中的数据自动增益 PowerDesigner学习资料

第4页 共9页  Domain:表示列所关联的域名  Computed:表示该列是由其他列的值通过一定的表达式计算出来的  Primary key:表示这个列是主键  Foreign Key:表示该列依赖于另一个表的主键  Mandatory:表示该烈必须被赋值,不能为空  With default:表示当增加一行数据时该列自动赋予一个默认值

2、 创建计算列

在列属性窗口中点击Detail页,点击Edit按钮,在弹出的窗口中输入表达式。 五、 定义表中的键 1、 定义主键:主键是表的主标识符,它可以是一个或多个列,列的值在表的所有记录中是唯一的。每个表都必须有一个主键。

方法:在表的特性窗口中单击Columns页,在列表中选择一个或多个列的P列的复选框。 2、 定义外键:从其它表迁移来得主键或侯选键。 3、 定义侯选键:是指一个或多个列,列的值在表的所有记录中是唯一的。侯选键不能是主键,但可以是外键。每个侯选键都在数据库中生成一个惟一索引或惟一约束。

4、 例:Sys_Subbureau表通过外键列higherUpcode与Sys_Bureau表的主键列Unitcode参照连接;Sys_Segment表通过外键列higherUpcode与Sys_Subbureau表的主键列Unitcode参照连接. PowerDesigner学习资料

第5页 共9页 FK_SYS_SUBB_RF_BUREAU_SYS_BUREFK_SYS_SEGM_RF_SUBBUR_SYS_SUBBSys_BureauUnitCodeUnitNameUnitShortNameTelexCodeTelephoneNoIPAddressMailboxTMISCodeTransCodevarchar(10)varchar(50)varchar(10)varchar(10)varchar(30)varchar(15)varchar(20)varchar(10)varchar(30)Sys_SegmentUnitCodeUnitNameUnitLimithigherUpcodeTelexCodeTelephoneNoLineIPAddressMailboxTMISCodetranscodevarchar(10)varchar(50)varchar(30)varchar(10)varchar(10)varchar(15)varchar(20)varchar(15)varchar(20)varchar(10)varchar(30)Sys_SubbureauUnitCodeUnitNamehigherUpcodeTelexCodeTelephoneNoIPAddressMailboxtranscodeTMISCodevarchar(10)varchar(50)varchar(10)varchar(10)varchar(15)varchar(15)varchar(20)varchar(30)varchar(10)

六、 定义参照及参照完整性 1、 参照:是父表和子表之间的连接,它定义了两个表中列对之间的参照完整性约束,列对是指主键与外键或两个表中用户指定的两个列。

2、 参照连接:分为键之间的连接和用户指定列之间的连接。 3、 创建参照:

4、 参照完整性:是维持主键、候选键和外键之间数据一致性的规则集合。表示父表中修改或删除参照列的数据对子表的影响,采用两种方法实现

 Declarative:把参照完整性约束定义成一种特殊的引用,当参照生成到目标DBMS中时,它维持数据的有效性并生成相应的错误信息。

 Trigger: 参照完整性约束通过基于完整性约束的触发器实现。触发器维持参照的有效性并生成用户自定义的相应错误信息。

5、 参照完整性的特性: PowerDesigner学习资料

第6页 共9页  Implementation 表示参照完整性的实现方法  Cardinality 表示基数,基数表示父表中的每个实例,子表中可能拥有的实例的最少和最多数,格式为:[最小值…最大值]  Update constraint 表示修改父表列值后子表列值与修改  Delete constraint 表示删除父表列值后子表列值与删除  Mandatory parent 表示强之子表中的外键列值都必须在父表中有相应的列值对应  Change parent allowed 表示允许更改父表中的参照列  Check on commit 用于Sybase SQL Anywhere中  Restrict 更改父表时,如果子表中有一个或多个匹配的值存在,就不能修改或删除父表的值,对子表无影响  Cascade 更改父表时,修改或删除父表的值,同时修改或删除子表中相匹配的值

七、 定义索引 1、 通常要为有规律的存放、响应时间比较重要的列建立索引,在使用表中含大量不重复值的列时,建立索引是非常有效的。

2、 索引的特性 PowerDesigner学习资料

第7页 共9页  Unique:在表中为非键值列识别行  Cluster:聚集索引,索引值的物理顺序和逻辑顺序是相同的。每个表只能有一个聚集索引

八、 定义视图 1、 使用视图可以有选择性的查看一个或多个表中的数据,视图是一个或多个表列的子集。 2、 视图的特性:

相关文档
最新文档