今天利用power designer进行了一个数据库的代码生成和修改。
以前用过EA,但不是很熟悉,power designer是刚安装没多久。
记录一下我的几个简单操作:
1) 根据逻辑模型生成物理模型
在页面左侧workspace中鼠标选择一个逻辑机构模型,然后选择菜单项“Tools”-》“Generate Physical Data Module”,选择我想要的DBMS-“ORACLE Version 11g”。后面几个选项卡中的内容选填。一般默认就可以了。
此操作之前应该确保逻辑模型的正确性,否则会报错。检查正确性的方法为快捷键F4或在右侧页面右键菜单选择check module。
上面操作所产生的“Result list”中如果有错误,显示的check列告诉我们检查出错的项目,object是出错的对象名,location是库或者说图标名称。
如果是数据长度问题,一般可以通过右键菜单中的Automatic correct自动修改,也可以通过correct打开出错的对象进行手工修改;然后check again确认问题解决。
2) 根据物理模型生成sql语句
在打开了某个图标(Diargm)后,菜单中才会有“Database”大项。这时保持页面左侧的光标在需要导出语句的物理模型上,然后选择“Database”-》“Generate Database”或ctrl+G生成sql。
我在前几次生成时指定的文件都是空的,只包含了最前面的注释信息:
/*==============================================================*/
/* Database name: DIGITAL */
/* DBMS name: ORACLE Version 11g */
/* Created on: 2013-7-22 21:50:46 */
/*==============================================================*/
后来注意到,在Database Generation对话框中的Selection选项卡中应该将“Select Location“指定当前的数据库,然后全选该库下面的对象,即可完成导出。
在我生成脚本后 “Result list“显示了大量的警告信息,主要是索引或其他对象不存在等。
因为不是最终的环境,直接忽略了。
3) 关于物理模型、逻辑模型和数据库之间的相互更新
在菜单的Tools中Generate Logical Model、Generate Physical Model等子菜单中都有Update的选项。也就是说不管可以生成模型,还可以对已存在的某个模型按照另外的模型进行更新。还可以进行两个模型的合并。
数据库中实际的结构也可以和模型呼应。互相修改。
个人认为,建立模型还是应该从文档的设计开始。逐步形成一个较为可接受的文档后,再去创建模型;根据模型创建数据库结构;再用数据库和设计模型相互修改,逐步得到好的数据库架构。如果设计中字段的长度不确定,就先给大一点,比如varchar2(2000)。数字则给number就可以了。
现在比较难搞的是如何生成每一列的comments信息。想把以前的中文列名放到comments中。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26451536/viewspace-766880/ ,如需转载,请注明出处,否则将追究法律责任。