power designer pdm生成sql脚本和数据库以及逆向工程

正向工程:PDM--->sql or database 项目中我们经常需要根据PDM生成sql脚本,然后由sql脚本一起执行到数据库中,如果PDM中表比较多,我们一个个去建的话会很费时间,根据需要我们也可以直接将pdm生成到数据库中。

逆向工程:sql or database --->PDM 有时我们也需要根据sql脚本生成pdm图,或者是数据库的最新信息生成到PDM中。

下面一一做介绍说明:

一、pdm生成sql:

        1.Database ---》Database Generation或者 CTRL+G快捷键  打开生成对话框,做下面的相关设置后,点击ok即可生成sql脚本。

         General标签:

        

         说明:Directory:生成脚本的保存目录

                     File name:sql脚本名

                     Generation type:生成方式有两种:

                                                     Script generation:生成脚本(这里我们选择生成脚本方式)

                                                     Direct generation:直接生成到数据库

                     One file only:生成一个脚本文件(默认选择)

                     Check model:检查模型(一般不检查,有时检查模型会报错)

                     Automatic archive:生成sql同时生成apm(一般不选择)

        Options标签:

       

       这里的User 一般要去掉,因为用户一般都由DBA去生成,这里我们就不需要去创建了。

       drop table 也要去掉,否则脚本中会有drop语句,若数据库没有这些表 会报错。

       Selection标签:

      

       在这里我们可以选择要转的PDM以及PDM中哪些对象进行生成sql。

       Preview标签:

      

       在这里可以预览要生成的脚本信息。

二、pdm直接生成到数据库:

         1.首先配置数据库连接 Database ---》Configure connections,点击Add Data Source

        

       2.选择系统数据源

       

       3.选择数据库驱动

      

      4.完成数据源创建

      

      5.在弹出的配置对话框中,输入自定义的Data Source Name、输入服务名和用户名

     

     6.点击 Test Connection 进行测试,测试成功,ok

                             

     7.数据库连接配置好后,下面我们就可以生成到数据库,Database ---》Database Generation

    

     上面选择 Direct generation(直接生成到数据库),选择Edit generation script 表示在生成前可以对脚本做编辑修改

    8.选择连接到一个数据源(这里选择我们上面创建的test数据源),输入用户名密码

   

   9.弹出执行对话框,可以对sql做相应编辑,若不需要修改则直接run,至此PDM成功生成到数据库

  

时间: 2024-09-21 02:15:33

power designer pdm生成sql脚本和数据库以及逆向工程的相关文章

PDM生成sql脚本添加注释的问题

问题描述 pdm 里面的物理表 在倒sql 出来的时候(db2数据库),我想添加列注释,根据网上的方法,不管我怎么设置,列属性就是加不上.我的具体方法如下:数据库--->EDIT CURRENT DBMS ...然后图片如下...倒出来的sql 为:DROP TABLE CCR_AREA_RISK;--==============================================================-- Table: CCR_AREA_RISK--===========

从一个简单的约束看规范性的SQL脚本对数据库运维的影响

原文:从一个简单的约束看规范性的SQL脚本对数据库运维的影响   之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性. 如下是一个简单的建表脚本,表面上看起来并没有什么问题.其中创建了3个约束,一个主键约束,一个唯一约束,一个默认值约束,该脚本执行起来没有任何问题. USE Test GO if exists(select 1 from sys.table

将表数据生成SQL脚本的存储过程

存储过程|脚本|数据 作者:zlt982001 将表数据生成SQL脚本的存储过程: CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare @name sysname declare @object

根据sql脚本修改数据库表结构

  最近由于项目需要要做一个小工具. 需求:客户用的老库并存储了一些数据,用了一段时间,我们根据客户提出新功能在老库的基础上对新库进行修改.这些修改有很多细节方面的修改,包含存储过程,增加表,修改表字段类型,添加字段. 然后我们自己更新并测试好软件后,需要改动客户那边的老库,老库的数据是要保存的. 解决方案一:很快我就想到用SQL SERVER 08 R2 自带的功能,生成新库脚本.把老库改个名字,跑新库脚本,然后通过数据库自带功能把老库数据导入到新库数据.测试的时候,数据量不大,速度还比较理想

根据sql脚本修改数据库表结构的几种解决方案

最近由于项目需要要做一个小工具. 需求:客户用的老库并存储了一些数据,用了一段时间,我们根据客户提出新功能在老库的基础上对新库进行修改.这些修改有很多细节方面的修改,包含存储过程,增加表,修改表字段类型,添加字段. 然后我们自己更新并测试好软件后,需要改动客户那边的老库,老库的数据是要保存的. 解决方案一:很快我就想到用SQL SERVER 08 R2 自带的功能,生成新库脚本.把老库改个名字,跑新库脚本,然后通过数据库自带功能把老库数据导入到新库数据.测试的时候,数据量不大,速度还比较理想.

根据sql脚本修改数据库表结构的几种解决方案_MsSql

最近由于项目需要要做一个小工具. 需求:客户用的老库并存储了一些数据,用了一段时间,我们根据客户提出新功能在老库的基础上对新库进行修改.这些修改有很多细节方面的修改,包含存储过程,增加表,修改表字段类型,添加字段. 然后我们自己更新并测试好软件后,需要改动客户那边的老库,老库的数据是要保存的. 解决方案一:很快我就想到用SQL SERVER 08 R2 自带的功能,生成新库脚本.把老库改个名字,跑新库脚本,然后通过数据库自带功能把老库数据导入到新库数据.测试的时候,数据量不大,速度还比较理想.

yii生成sql语句操作数据库实例

yii框架使用原生态的sql语句也是可以对数据库进行操作的,以下就是详细的操作代码,很详细:  代码如下 复制代码 <?php class IndexController extends Controller { public function actionIndex() { $con = Yii::app()->db;//数据库连接 //查询 $sql = "select * from user"; $command = $con->createCommand($s

into outfile 生成sql脚本

select concat('insert into t_dm_stage(STAGE_ID,STAGE_NAME) values(',STAGE_ID,',','\'',STAGE_NAME,'\'',');') into outfile '/tmp/sql.txt' from t_dm_stage; 会在mysql服务器的/tmp/目录下生成一个sql.txt文件.

sql脚本查询数据库表,数据,结构,约束等操作的方法

1.查询当前数据库所有表 复制代码 代码如下:SELECT     O.object_id AS TableId,    TableName=O.name  ,    TableDesc= O.type FROM sys.columns C    INNER JOIN sys.objects O        ON C.[object_id]=O.[object_id]            AND O.type='U'            AND O.is_ms_shipped=0    I