• powerdesigner使用之——从“概念模型”到“物理模型”


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

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

    此时,我们使用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勾上就可以保证两个里面选一个应用了
     
    在给一个表添加字段时,如果有些字段在其他表中已经存在,那么可以通过

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

  • 相关阅读:
    硬盘分区、寻址和系统启动过程
    剑指offer---05---用栈实现队列
    剑指offer---05---用栈实现队列
    服务端提供的JSON数据接口与用户端接收解析JSON数据
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/brolanda/p/4265806.html
Copyright © 2020-2023  润新知