PowerDesigner与数据库进行互操作

PD与数据库的操作比较简单,分为两种类型的操作,一是将PDM对应的数据库生成至对应的数据库中,另一种是将已经存在的数据库导出至PD中。下面分别说一下这两个方面的操作(下面的操作都是在PDM中进行的,因为和具体的数据库进行交互,得是具体的数据库才可以)。

先说一下从PD中操作数据库的方法:

1)首先查看一下Database->Change the Target DBMS,以确定是否是你需要操作的数据库。默认情况下,在你用CDM转化为PDM时,所选择的数据库就是本处的数据库类型。如果你需要改变其他的数据库类型,可以在此处改变,不过由于从CDM转化为PDM时,会根据你所选择的具体的数据库类型进行对应的数据类型和关系的改变,所以如果你要改变数据库类型的话,请慎重对待不同的数据库数据类型不一致的情况(通常需要CDM重新生成新的PDM,该新的PDM与实际的数据库相关联)。

2)在DataBase->Configure Connection…,在弹出的对话框中选择用户DSN,再点击添加,然后选择一个数据库,我这里安装的是SQLServer2000,所以选择了SQL Server。然后点击完成,在接下来的对话框中,输入你对该数据库连接的标识,可以随意命名,比如我这里命名为mydbserver。在服务器中输入127.0.0.1,即本地地址(前提是你已经安装了sql2000,并且服务器已经启动好),点击下一步,选择“使用用户输入登录ID和密码的sql server验证”,然后在登录ID和密码中输入你的数据库连接的用户名和密码,然后一直下步,到完成,中间不用修改什么。在完成之前可以测试一下数据库连接,如果显示连接成功,则表示这个数据库连接可用,这时你的数据库中就多了一个连接了。

3)在DataBase->Connection中,在Machine data source中选择第二步中新创建的数据库连接,然后面下面输入用户名和密码,再点击connect,则可以连接上数据库了,此时就可以操作数据库了。

4)创建数据库名,因为在之前的操作中,我们没有指定需要在数据库中创建数据库的数据库名,这里需要设置一下,默认情况下PD会生成一个默认的数据库名的,但是通常情况下不是我们想要的,修改需要生成的数据库名很简单,在PDM中,在菜单栏中,选择Model->Model Properties…中,在弹出来的对话框中,在General选项里有个Database,我们在该处选择创建(create),在接下来的对话框中,填入name和code(注意code不能为中文),确定即可,此时我们要创建的数据库名也有了,剩下的就是执行数据库创建脚本就可以在对应的数据库中创建数据库了。

5)在DataBase->Excute SQL中可以执行SQL脚本。生成SQL脚本,可以通过前面的第9点提及到的方法,生成SQL脚本,然后在此处选择你生成的脚本文件,点击运行(run),即可在数据库中创建数据库,并生成相应的表(不过在这个过程中,会弹出问题,点击忽略所有就可以了,至于为什么,这个与每个数据库的创建语法有关,可以在通过在第9步中生成的sql脚本选项option中,将一些不重要的信息去掉,就不会报问题了)。

下面说一下,如何从数据库中将已经建立好的数据库转化到PD上面来。我们假设你已经对前面的数据库连接配置已经清楚了,如果不清楚,可以查看前面的说明。下面按步骤进行说明:

1)新建一个物理模型出来,因为从实际的数据库中转化到PD上来,不可能是CDM,这里新建一个PDM,用来接受从数据库中转化过来的表。

2)在DataBase->Configure Connections..中选中已经配置好的数据库,如我前面已经配置好的mydbserver,因为之前我们配置的数据库连接,是指的连接到数据库服务器,而这次我们需要对已经在服务器上创建好的数据库进行反向生成,所以我们需要改变这个数据库连接,让其指向我们要反向生成的数据库。当选中我们之前建立的数据库连接,然后选择配置,点击下一步,输入用户名和密码和,再点击下一步,这个时候,我们需要改变一下了,默认情况下,该步骤的“更改默认的数据库为”这个选项是没有被选中的,由于我们要改变默认的数据库,所以选中该项,然后在下拉列表中选择你所要转化至PD中的数据库,然后下一步直到完成,

3)点击Database->Reverse Engineer Database…,在弹出的对话框中的Selection选项中,将Using an ODBC data source选中,然后在下面选择你在第二步已经配置好的数据库连接。然后再确定,此时会弹出来你的对应的数据库中的表出来,选中你需要在PD中生成的数据库,然后确定,此时就会在PD中的物理模型中创建出从数据库中转化过来的表结构图。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭