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查询分析器里执行吧。

 
目录
相关文章
|
15天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
1月前
|
机器学习/深度学习 存储 安全
数据库模型:层次模型、网状模型、关系模型
数据库模型:层次模型、网状模型、关系模型
|
24天前
|
存储 SQL 缓存
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
65 0
|
1月前
|
SQL 机器学习/深度学习 存储
数据库设计革命:逻辑模型的演变与面向对象的突破
数据库设计革命:逻辑模型的演变与面向对象的突破
13 1
|
5月前
|
SQL 关系型数据库 MySQL
07 Django模型 - ORM简介及MySQL数据库的使用
07 Django模型 - ORM简介及MySQL数据库的使用
35 0
|
2月前
|
SQL 自然语言处理 数据管理
观点 | 大模型与数据库
本文初步将探讨大模型为数据库带来的机遇,以及数据库为大模型带来的价值,并展望了未来数据库与大模型的发展趋势。
观点 | 大模型与数据库
|
2月前
|
编解码 人工智能 算法
Google Earth Engine(GEE)——高度可扩展的时间自适应反射率融合模型(HISTARFM)数据库
Google Earth Engine(GEE)——高度可扩展的时间自适应反射率融合模型(HISTARFM)数据库
42 0
|
5月前
|
关系型数据库 MySQL Linux
Mac 数据库模型建模工具PDMan(PowerDesigner替代品)
Mac 数据库模型建模工具PDMan(PowerDesigner替代品)
376 1
|
7月前
|
存储 数据库连接 数据库
代码审计 | ThinkPHP5.1中数据库和模型的详细使用方法
代码审计 | ThinkPHP5.1中数据库和模型的详细使用方法
|
7月前
|
SQL 存储 人工智能
大模型与数据库:AI 时代的双向助推力
随着 AIGC 的时代到来,以 GPT 为首的大型语言模型(Large Language Model,LLM)已经成为当今人工智能领域最热门的话题之一。这些强大的模型不仅在内容创意生成、语言翻译和代码辅助等任务中表现出色,还对数据库的发展带来了革命性的影响。
380 0