PowerDesigner逆向工程生成PDM模型及数据库

简介: 原文 http://www.cnblogs.com/springside4/archive/2012/04/16/2481149.html在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建 库脚本,最后将物理数据模型生成关系数据库。

原文 http://www.cnblogs.com/springside4/archive/2012/04/16/2481149.html

在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建 库脚本,最后将物理数据模型生成关系数据库。系统数据库设计人员希望能够将数据库设计和关系数据库生成无缝地集成起来,如何保证物理数据模型与其对应数据 库之间的双向同步成为数据建模非常关键的一点。

Powerdesigner作为强大的Case工具,为我们提供了方便的逆向工程特性。可以将目前所有流行的后端数据库(包括Sybase、 DB2、Oracle等)的结构信息通过逆向工程加入到PowerDesigner的物理数据模型和概念数据模型中,包括表、索引、触发器、视图等。

本文介绍的内容仅涉及PDM(物理数据模型)的逆向工程。

PDM中的逆向工程是指从现有DBMS的用户数据库或现有数据库SQL脚本中生成PDM的过程。逆向工程有两种对象:1)通过ODBC数据源连接数据库 2) 现有数据库sql脚本。

本文示例的系统环境如下:

1、 数据库已创建完毕,访问用户和密码设置完成。数据库为Oracle9i。

2、 ODBC数据源已由oracle 的Net Configuration Assistant 创建,本地网络命名服务“Database”。

3、 sql脚本示例crebas.sql。

4、 Powerdesigner9.5已安装完成。

一、 通过数据源连接数据库逆向工程生成PDM

1、 配置用户数据库连接参数

选择Database->configure connections,转到system dsn标签,

点击Add按钮,选数据库类型Oracle,点击完成。显示如下:输入DataSource Name“PDMTest”;输入ServerName“Database”, 配置完成。

点击“Test Connect”输入ServerName“Database”,用户名和密码,若连接成功,显示如下:

以后每次连接,选择Database?connect,选择odbc数据源,输入ServerName“Database”,用户名和密码。若无提示,则说明连接成功。同时,可以通过Database?Connection Information 查看连接信息。

2、 设置逆向工程选项,生成pdm

创建一个PDM文件,选择与之匹配的数据库类型“oracle9i”。

选择Database?Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源“PDMTest”

点击确定后,显示此数据库中所有表、视图、用户。根据需要选择后,转换成pdm。

3、 查看数据

对于生成好的PDM,选择一个表图形符号,点击右键,选择View Data,就可以访问表中的数据了。

二、 通过SQL脚本逆向工程生成PDM

1、 数据库SQL脚本文件crebas.sql。下为脚本实例:

/*==============================================================*/
/* Database name: PhysicalDataModel_1 */
/* DBMS name: ORACLE Version 9i */
/* Created on: 2003-07-13 10:49:08 */
/*==============================================================*/
/*==============================================================*/
/* Table: "class" */
/*==============================================================*/
create table "class" (
"classID" NUMBER(2) not null,
"className" VARCHAR2(24),
constraint PK_CLASS primary key ("classID")
)
/
/*==============================================================*/
/* Table: "student" */
/*==============================================================*/
create table "student" (
"studentID" NUMBER(10) not null,
"studentName" VARCHAR2(4),
"classID" NUMBER(2),
constraint PK_STUDENT primary key ("studentID")
)
/
alter table "student"
add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID")
references "class" ("classID")
/

2、 创建一个pdm,选择Database?Reverse Engineer Database,选择Using script files。

3、 看到由脚本自动生成相关的PDM如下所示:

pdm做好后,最终是要将其转化为数据库实体的。

1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:

Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。

2.配置Powerdesigner与数据源的连接

Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源

3.连接

Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。

OK,设置好连接后我们就可以将pdm生成sql语句了。

4.数据库生成

Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。

拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。

 
目录
相关文章
|
10月前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
6月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
6月前
|
前端开发 数据库 开发者
数据模型(数据库表设计)生成代码
BizWorks ToolKit 插件集成 Mybatis-Plus 代码生成工具,支持从数据库表批量生成代码,简化开发流程。本文详细介绍配置方法及项目示例,包括配置文件格式、生成选项及具体操作步骤,帮助开发者快速实现代码同步更新。配置文件 `.mp.yaml` 支持自定义输出目录、生成组件等,适用于多种项目结构。
79 0
|
7月前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
153 0
|
7月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
77 0
|
7月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
|
9月前
|
存储 关系型数据库 MySQL
MySQL周内训参照1、ER实体关系图与数据库模型图绘制
MySQL周内训参照1、ER实体关系图与数据库模型图绘制
171 1
|
9月前
|
存储 XML SQL
数据库建模之EAV模型
数据库建模之EAV模型
346 1
|
9月前
|
SQL 关系型数据库 MySQL
MySQL数据库数据模型概念入门及基础的SQL语句2024
MySQL数据库数据模型概念入门及基础的SQL语句2024
61 0

热门文章

最新文章