`

使用PD建立物理数据模型

 
阅读更多

        这里介绍使用powerdesigner15.2建立物理数据模型的例子,以建立用户和角色之间的物理模型为例。

        首先在当前的工作空间下建立物理数据模型。

       

        下一步,选择DBMS类型为oracle10g继续。

        在打开的编辑界面中,可以在“调色板”工具箱中选择需要的小工具了。这里我们先拖拽了3个Table。

       

         如果不小心把“调色板”窗口关了,可以在Tools→Customize Toolbars中弹出的窗口中勾选上就可以了。

 

         接下来,开始建表,双击Table_1,在如下的窗口中,编辑表明,注意这里的所有Code命名都规定为大写的英文字母。

       

         再切换到Columns选项卡下,编辑数据列了。发现可定义的数据列属性不够的话可以,点击
来定制列属性,这里我又加上了默认值和描述的属性。列的定义如下:

       

         按照上面的方法,再把角色表建好。

 

        要看主键定义,双击用户表,点击Keys,双击主键那条记录,就可以编辑了。

 

        给主键列建立相应的sequence。

        直接在物理模型上右击建立sequence,建完之后会在模型节点下出现一个sequence节点。再右键新建其他的sequence,建完之后:

       

         在每个表的主键列里引用各个sequence:双击表的主键列,在sequence的编辑位置,直接选择定义好的sequence即可。

 

        建立index,双击Table,点击Indexes选项卡,在里面新建index名称,然后双击,在Columns选项卡中选择Expression为表中指定要建索引的列即可。

 

        接下来,需要建立用户表和角色表之间的关联表了。建法同上。这里主要注意建立外键关联。
         选中“调色板”中的Preference,在从关联表的外键指向主表的主键即可。接下来就是双击编辑外键关联的事了。

 

        最后,我们可以预览生成的sql脚本。右键物理模型编辑网格界面的空白处,选择属性,点击预览选项卡,会看到生成了多余的sql。点击窗口上的工具栏中的“显示生成选项”,在弹出的窗口中勾选不需要生成的选项即可。

 

        最终生成的pdm模型对应的sql脚本如下:

       

alter table FC_USER_ROLE
   drop constraint FK_ROLE_USER_ROLE;

alter table FC_USER_ROLE
   drop constraint FK_USER_USER_ROLE;

drop index IDX_ROLE;

drop table FC_ROLE cascade constraints;

drop index IDX_USER;

drop table FC_USER cascade constraints;

drop table FC_USER_ROLE cascade constraints;

drop sequence SEQ_ROLE_SID;

drop sequence SEQ_USER_ROLE_SID;

drop sequence SEQ_USER_SID;

create sequence SEQ_ROLE_SID
increment by 1
start with 1;

create sequence SEQ_USER_ROLE_SID
increment by 1
start with 1;

create sequence SEQ_USER_SID
increment by 1
start with 1;

/*==============================================================*/
/* Table: FC_ROLE                                               */
/*==============================================================*/
create table FC_ROLE  (
   SID                  NUMBER(10)                      not null,
   ROLE_NAME            VARCHAR2(20)                    not null,
   ROLE_TYPE            VARCHAR2(2)                     not null,
   VALID_FLAG           VARCHAR2(2)                    default 'Y' not null,
   CREATED_BY           VARCHAR@(20)                   default 'admin' not null,
   CREATED_DATE         date                           default sysdate not null,
   UPDATED_BY           VARCHAR2(20)                   default 'admin' not null,
   UPDATED_DATE         date                           default sysdate not null,
   constraint PK_ROLE primary key (SID)
);

comment on table FC_ROLE is
'这是角色表';

/*==============================================================*/
/* Index: IDX_ROLE                                              */
/*==============================================================*/
create index IDX_ROLE on FC_ROLE (
   ROLE_NAME ASC,
   ROLE_TYPE ASC
);

/*==============================================================*/
/* Table: FC_USER                                               */
/*==============================================================*/
create table FC_USER  (
   SID                  NUMBER(10)                      not null,
   USER_NAME            VARCHAR2(20)                    not null,
   PASSWORD             VARCHAR2(20)                    not null,
   EMAIL                VARCHAR2(20)                    not null,
   PROFESSION           VARCHAR2(4),
   VALID_FLAG           VARCHAR2(2)                    default 'Y' not null,
   CREATED_BY           VARCHAR@(20)                   default 'admin' not null,
   CREATED_DATE         date                           default sysdate not null,
   UPDATED_BY           VARCHAR2(20)                   default 'admin' not null,
   UPDATED_DATE         date                           default sysdate not null,
   constraint PK_USER primary key (SID)
);

comment on table FC_USER is
'这个是用户信息表';

/*==============================================================*/
/* Index: IDX_USER                                              */
/*==============================================================*/
create index IDX_USER on FC_USER (
   USER_NAME ASC,
   EMAIL ASC
);

/*==============================================================*/
/* Table: FC_USER_ROLE                                          */
/*==============================================================*/
create table FC_USER_ROLE  (
   SID                  NUMBER(10)                      not null,
   USER_ID              NUMBER(10)                      not null,
   ROLE_ID              NUMBER(10)                      not null,
   VALID_FLAG           VARCHAR2(2)                    default 'Y' not null,
   CREATED_BY           VARCHAR@(20)                   default 'admin' not null,
   CREATED_DATE         date                           default sysdate not null,
   UPDATED_BY           VARCHAR2(20)                   default 'admin' not null,
   UPDATED_DATE         date                           default sysdate not null,
   constraint PK_USER_ROLE primary key (SID)
);

alter table FC_USER_ROLE
   add constraint FK_ROLE_USER_ROLE foreign key (ROLE_ID)
      references FC_ROLE (SID);

alter table FC_USER_ROLE
   add constraint FK_USER_USER_ROLE foreign key (USER_ID)
      references FC_USER (SID);

 

  • 大小: 36.3 KB
  • 大小: 6.4 KB
分享到:
评论

相关推荐

    PD技术详解

    固化和提取,物理数据模型的生成、调整及检查,生成数据库过程,产生触发 器、制作存储过程和函数,对数据库和数据库生成脚本进行逆向工程产生物理 数据模型,建立子模型的方法,使用MetaWorks 进行团队控制的方法,...

    powerdesigner15.1简要使用手册

    物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作 结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件, 例如:PowerBuilder、Delphi、VB等相配合使用来缩短开发时间和...

    数据库设计(利用数据库设计工具PowerDesigner )

    将CDM转化为PDM(Physical Data Model,物理数据模型): 选择主菜单上的“Tools”→“Generate Physical Data Model”选项,打开 “General”选项页对话框。从DBMS下拉列表中选择要生成PDM的DBMS,Name文本框中给...

    传说中pd逆向工程

    由数据库表生成物理模型 1.通过windows数据源管理,建立ODBC数据源。oracle客户端口可选择odbc 2.pd 选择database>connect选择好建立的odbc数据源.输入用户,密码 3.选择database>reverse engineer database ,db15不...

    数据库课程设计(5).doc

    要 " "求学生提交的报告包含: " "需求说明书 " "概念数据模型(E-R数据模型) " "逻辑数据模型(含关系规范化) " "物理数据模型(含约束、视图、触发器、存储过程、安全设计、恢复方案、事务设计 " "等等)要求:...

    Powerdesign杂记

    物理数据模型 (PDM) PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。 面向对象模型 (OOM)...

    PowerDesigner设计数据库使用规范.docx

    创建概念数据模型(CDM) 1.1 创建CDM步骤 选择 文件建立新模型,弹出如图所示对话框,选择ConceptualDataModel模型(即概念数据模型),单击OK,即确认创建。 PowerDesigner设计数据库使用规范全文共15页,当前为第1...

    PowerDesigner数据库设计与建模

    本课程涵盖了 PowerDesigner技术的常用知识点,内容包括 PowerDesigner建模基础知识、业务处理模型、概念数据模型、物理数据模型以及逻辑数据模型、面向对象模型等内容。使读者进一步巩固所学的知识,提高综合实践...

    医药销售管理系统数据库课程设计.docx

    结合需求分析与概念结构设计把设计好的E-R图转换为DBMS所支持的数据模型所符合的逻辑结构,此系统只针对医药超市内部管理使用,运用SQL数据库管理系统建表录入数据,进行查询、插入、删除、修改等操作。 关键词: ...

    带有前馈和神经网络补偿的机械手系统轨迹跟踪控制 (2013年)

    针对机械手系统的轨迹跟踪控制...该方法不需要建立机械手系统复杂的动力学模型,仅需要系统的输入输出数据,既保留PD控制器的优势,又保证了系统的控制性能。最后,在机械手平台上进行物理实验研究,实验结果表明:所提

    matlab的登录代码下载-hMRI-toolbox:使用MRI(hMRI)进行定量MRI和体内组织学检查的工具箱

    matlab的登录代码下载hMRI工具箱 ...它们是生物物理模型的关键输入参数,旨在估计组织微结构特性(例如MR g比率)并推导出标准和新颖的MRI生物标记物(Mohammadi等人,2015)。 因此,hMRI工具箱是迈向使用MRI

    unix分析关于UNIX的一些浅析

    s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *pd)函数实际上就是把初始化数据段中的default_i2c_data0结构体复制过来,然后对GPIO进行配置的函数指针进行了初始化。default_i2c_data0结构体如下: static ...

Global site tag (gtag.js) - Google Analytics