`

使用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生成物理数据模型步骤[oracle]

    ### PD生成物理数据模型步骤详解(Oracle) #### 一、引言 在软件开发和数据库设计领域,物理数据模型(Physical Data Model, PDM)是非常重要的一环。它定义了数据库的实际存储结构和物理实现细节,包括表、字段...

    PD技术详解

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

    powerdesigner16创建数据模型

    PowerDesigner是一款强大的数据库设计工具,它支持多种建模方法,包括概念数据模型(CDM)、物理数据模型(PDM)等。在这个过程中,我们将详细探讨如何使用PowerDesigner 16创建数据模型。 首先,启动PowerDesigner...

    PowerDesigner 概念模型详解

    本知识点将从概念模型的重要性、使用PowerDesigner建立数据库概念模型的方法以及概念数据模型的详细教程三个方面进行深入解析。 一、概念模型的重要性 概念模型是数据建模的起点,它描述了现实世界中数据的抽象...

    基于Simulink的机载PD雷达系统的建模与仿真.pdf

    "基于Simulink的机载PD雷达系统的建模与仿真" 本文的主要内容是关于基于Simulink的机载PD雷达...本文介绍了基于Simulink的机载PD雷达系统的建模与仿真,包括仿真模型的建立、仿真建模方法和PD雷达的物理模型建立等。

    powerdesigner 导入Excel文档 做成 实体表

    PowerDesigner支持概念数据模型(CDM),逻辑数据模型(LDM)和物理数据模型(PDM)的设计。它提供了图形化的用户界面,使得数据建模过程更加直观易懂。导入Excel文档的功能则为用户提供了从现有数据源快速构建模型的途径...

    利用PowerDesinger快速建立面向对象应用模型

    PowerDesigner是一款由Micro Focus公司开发的企业级数据建模和系统架构设计软件,它支持多种建模方法,包括概念数据模型(CDM)、物理数据模型(PDM)以及业务流程模型等,同时也包含了面向对象的模型设计功能。...

    PowerDesigner生成数据字典(包含反向工程生成方法).docx

    1. **启动PowerDesigner**:首先,打开PowerDesigner软件,创建一个新的物理数据模型(PDM),并选择相应的数据库类型。 2. **执行反向工程**:通过“File”菜单下的“Reverse Engineer”选项,选择“Database”进行...

    用PD生成sql建立数据库和PowerDesigner反向生成数据字典PPT课件.pptx

    这将创建一个新的物理数据模型。 2. 接下来,确认并保存你的新模型,然后进行反向工程。点击“确定”按钮,选择你在第一步中配置的数据源,连接并确定。 3. 在连接成功后,你可以选择要反向工程的数据库对象,如表、...

    SQL SERVER逆向工程将数据库导入PowerDesigner使用说明

    这将打开一个新的物理数据模型设计界面。 接下来,需要配置数据库连接。打开“DataBase”菜单,选择“Configure Connections...”,这将弹出“Configure Data Connections”窗口。在这个窗口中,选择系统数据源,...

    PD的DSN连接sql数据库

    2. **同步数据库**:使用【Database】→【Modify Database】选项可以同步数据库结构的变化,确保数据库与物理数据模型保持一致。 3. **生成测试数据**:选择【Database】→【Generate Test Data】功能可以快速生成...

    PowerDesigner 模型设计

    其中,最常用的模型包括概念模型和物理模型,此外还有新增的逻辑数据模型和多维数据模型。 1. **概念模型**:这是一种抽象级别的模型,主要用于定义业务领域中的实体以及实体之间的关系。“实体-关系”图是概念模型...

    Power_Designer15.1教程.

    本文旨在深入解析PowerDesigner 15.1教程中的核心知识点,包括概念数据模型(CDM)和物理数据模型(PDM)的创建、转换方法,以及如何生成SQL语句、导入表结构和数据模型。 #### CDM模型的创建与使用 **4.2.1 CDM模型的...

    Powerbuilder结合PowerDesigner9.5开发

    在PD中,选择“新建”>“物理数据模型”,然后配置DBMS参数,选择“Microsoft SQL Server 2000”,确保在“Extended Model Definitions”中勾选“PowerBuilder”,以便让PB能够理解和使用这个模型。 接下来,创建表...

    PD1.rar_PowerDesigner_powerdesigner vid

    PowerDesigner 是一款广泛应用于数据库建模、数据仓库建模和企业架构设计的专业工具,它支持多种建模技术,包括概念数据模型(CDM)、逻辑数据模型(LDM)和物理数据模型(PDM)。 【描述】提到的“辅助软件工程的...

    PD正向工程

    1. **生成PDM**:选择“工具”>“生成物理数据模型”或使用快捷键Ctrl+G。 2. **选择数据库类型**:在生成过程中,指定目标数据库管理系统(DBMS)类型,PowerDesigner支持多种DBMS,如SQL Server、Oracle、MySQL等...

    PowerDesigner12.5 数据库建模实例教程

    PDM,即物理数据模型,是在CDM的基础上,考虑了特定数据库系统的特性,如表结构、索引、约束等。PDM_DEMO.pdm文件则展示了如何将概念模型转化为实际数据库的结构,这个过程通常包括表的创建、字段定义、键的设置等。...

Global site tag (gtag.js) - Google Analytics