现实问题在计算机上的解决,需要我们从现实问题中抽象出实体模型,然后再将实体模型对应到数据库关系表中。

例如,我们在思考学生选课,这件事情上,实体模型就是“学生”和“课程”两个

此时,我们使用powerdesigner可以建立概念模型,用图示的方法理解并表示两个实体对象的关系。那么如何使用powerdesinger建立概念模型呢?

一、概念模型

  1. 创建一个ConceptualDataModel
  2. 创建entity
  3. 技巧:在概念模型的属性设置中,DataType设置,可以直接用Code中的简写来进行设置,例如age的Data Type输入va64,会自动补全
  4. F6放大、F7缩小
    设置背景:Tools->Display Preferences->General
  5. window color改变背景颜色
    grid:是否显示虚点
    diagram:show page delimiter显示分割线
     
    然后编辑对应的属性信息
    注意:在实体对象中,只需要编辑属性信息,不需要考虑关联、外键等
    而实体间的关系,用Relationship来关联
  6. 重点在Relationship上:
  7. Entity1、Entity2两个实体如上图细线方框
    两个实体间用RelationShip关联:中间蓝线:实线方向司机,是指每辆车必须对应一个司机;虚线方向车,是指每个司机可以没有车来驾驶
    Dominant Role:支配关系,谁指向谁,就是谁支配谁
    司机to车:勾上Mandatory(强制的),就是说每个车必须对应一个司机:理解为司机对车是强制的关系,即每辆车必须对应一个司机
    车to司机:勾上Dependen(依赖的),就是说每个司机必须对应一个车:理解为车是 依赖司机而存在的,不存在没有相应司机的车
     
    至此,概念模型建立完毕

二、建立物理模型

  通过概念模型生成物理模型

两个按钮分别生成“面向对象模型oom”和“物理模型pdm”

先生成物理模型:

选择对应数据库,并填写好名称即可

其中关系:

面向对象模型:

从概念模型到物理模型的创建方式完成。

下面,开始独立创建物理模型:

创建物理模型,命名,选择数据库
然后使用

创建table

创建table间关系

建立学生信息表
表名必须用全大些、并用下划线将英文单词隔开:STUDENT_INFO
建立学科信息表:COURSE_INFO
每个学生可选多门课程,每门课程可由多个学生选:必须使用中间表建立“多对多”关系
学生学科信息表:STU_COU_INFO
然后使用工具中Reference从依赖拖向被依赖:学生学科信息表 依赖 学生信息表 和 学科信息表

技巧:
显示是否可为空:tools->display preferences->table

domain:在建立表时,如果很多字段的data type是一样的类型,一样的长度,那么可以建立domain,方便统一管理
在菜单栏中的Domains(模型)

在其中创建自定义的域类型:

起名字,并为其选择类型
那么,在 以后建表过程中,为字段选择data type时,可以通过选择domain来确定

点击红色方框中的按钮,可以将domain显示出来,然后进行选择,注意:当选择了domain后,data type便不再生效了

勾选domain,这样就会显示该栏

这两个地方不冲突的设置是在:tools->model options->column&domain 给datatype勾上就可以保证两个里面选一个应用了
 
在给一个表添加字段时,如果有些字段在其他表中已经存在,那么可以通过

来将那个字段包含进来,只是以后如果那个字段修改了,那么这个字段也会跟着变

powerdesigner使用之——从“概念模型”到“物理模型”的更多相关文章

  1. PowerDesigner概念模型与物理模型相互转换及导出数据字典

    最近公司项目竣工,验收完成后,把整体平台的所有文档都写清楚,找包发给甲方,由于本人是维护数据库工作,依上面要求,必须编写<数据库设计说明书>里面格式包含三个部分:概念模型.物理模型.数据字 ...

  2. powerdesiner概念模型转物理模型以及失败的解决方法

    powerdesiner概念模型转物理模型 概念模型转物理模型 关于powerdesinger 出现Entity Attribute code uniqueness解决办法 Entity Attrib ...

  3. 使用powerdesigner导入sql脚本,生成物理模型

    有些时候我们的powerdesigner以jdbc的形式链接本地数据库可能会失败,这时候我觉得从sql文件中生成物理模型是个很不错的方法 1.打开powerdesigner,文件->->r ...

  4. PowerDesigner之PDM(物理概念模型)

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...

  5. PowerDesigner之PDM(物理概念模型)各种属性建立如PK,AK等

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...

  6. 功能模块图、业务流程图、处理流程图、ER图,数据库表图(概念模型和物理模型)画法

    如果你能使用计算机规范画出以下几种图,那么恭喜你,你在我这里被封为学霸了,我膜拜ing-- 我作为前端开发与产品经理打交道已有5-6年时间,产品经理画的业务流程图我看过很多.于是百度搜+凭以往经验脑补 ...

  7. PowerDesigner中转换物理模型时的命名转换

    原文:PowerDesigner中转换物理模型时的命名转换 最近在使用PowerDesigner建模数据库,在使用中积累了一些遇到的问题和解决办法,记录下来,希望对遇到同样问题的朋友有所帮助. 早 期 ...

  8. PowerDesigner 把Comment复制到name中和把name复制到Comment

    在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文.Name用来显 示,Code在代码中使用,但Comment中的文字会保 ...

  9. PowerDesigner 逆向中 Name和Comment互换

    在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文.Name用来显 示,Code在代码中使用,但Comment中的文字会保 ...

随机推荐

  1. 总结一下block的几种常用方法

    一.block的简单介绍 block相当于一个参数,有参数的名,有参数的值,有参数的使用,当使用block的时候,它又相当于一个函数,会回调函数体. 声明:void (^block)(void); 实 ...

  2. Apple Watch开发之界面之间的正向传值

    主要分两种,一种是故事板中通过segue进行的传值,第二种是使用代码. 贴代码 24行代码是代码进行传值 35是故事板中的

  3. Java线程面试题 Top 50(转载)

    原文链接:http://www.importnew.com/12773.html 本文由 ImportNew - 李 广 翻译自 javarevisited.欢迎加入Java小组.转载请参见文章末尾的 ...

  4. java中Map,List与Set的区别

    Set,List,Map的区别 java集合的主要分为三种类型: Set(集) List(列表) Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类 ...

  5. 利用word2vec对关键词进行聚类

    1.收集预料 自己写个爬虫去收集网页上的数据. 使用别人提供好的数据http://www.sogou.com/labs/dl/ca.html 2.对预料进行去噪和分词 我们需要content其中的值, ...

  6. SAP存货账龄分析之库存获取

    前段时间上面要求做一个历史库存账龄分析,取历史数据的时候一直纠结于用mchb/mchbh/mska/mskah等实时和历史库存表,然而试来试去还是不能成功,于是决定DEBUG下MB5B的源代码,测试了 ...

  7. Spring Security (Acegi)的登陆配置

    简短记录一下: 在authenticationProcessingFilter这个bean中,如果没有配置<property name="alwaysUseDefaultTargetU ...

  8. 使用Hint来优化执行计划

    最近看主管优化了一个HINT相关的查询 借此机会学习下HINT 参考Notes: Note 129385 - Database hints in Open SQL http://www.stechno ...

  9. 《RHEL6硬盘的分区和swap分区管理》——硬盘分区的大总结

    首先介绍下几个简单的命令: free查看当前系统内存的使用情况 查看分区的使用情况:T类型.H显示大小以G,M 查看系统所有硬盘的分区信息:分区的没分区的都显示出来了 开始分区:为什么要加cu  不加 ...

  10. 使用ANT 生成Xfire 客户端端文件

    这里需要用到的JAR包 : XmlSchema-1.1.jar activation-1.1.jar commons-codec-1.3.jar commons-httpclient-3.0.jar ...