打开PD软件:

1.新建概念模型(conceptual Data Model)

File-->New Model-->Conceptual Data Mode
或者点击工作区,右键-->New Model-->Conceptual Data Mode

2.打开模型时,会有方格线,去除方格线

Tools-->Dis

3.创建表并建立关系:

各个含义如下:

但是我在创建的过程中,报错如下:

在创建的过程中,人员表里有主键Code,性别表里也有主键Code,但是在创建的过程是报错,说是Code已经被占用了,

去除属性名重复的方法如下:

使用PD中,CDM默认实体属性不能重名,在CDM中唯一。可以通过设置,取消该限制。

选择 Tools->Model Options,取消 Data Item 组的Unique code 和 Allow reuse复选框。

    Unique:设置实体属性是否唯一

    Allow reuse:设置实体属性是否允许重用

注:默认使用唯一代码的好处是,改变属性,其他引用该属性的实体,都一起修改。该功能可以通过domain实现,设置属性在同一domain中,当需要修改字段类型的时候,修改domain一处即可。

4.将概念模型转换成物理模型

方法一:

操作:Tools-->GeneratePhysical Data Model

快捷键:ctrl+shift+p

注意:如果你的数据库是SQL server,请一定要选择要选择SQL Server 2008,

进入下图界面:(根据自己的需求切换相应的DBMS(数据库)点击【确定】就会将概念模型转换成物理模型).

??但是在生成的过程中报了一个实体属性重复的错误(如下图):

Checking data item ...
- Data Item name uniqueness
- Data Item code uniqueness
Error The following data item does not have unique code:
-> Data Item '编码' (<Model>)
-> Data Item '编码' (<Model>)
- Data Item not used
- Data Item used multiple times

解释:从上面的错误可以看出,PD给我们说,我在检查所有实体属性的过程中,发现了重复的属性,有两个相同的属性(Code和Name):编码

这是因为虽然我们在概念模型中:创建实体的过程中允许实体使用相同的编码和名称,但是我们并没有同时修改:在概念模型转换为物理模型的检查规则,我们这里,可以去修改检查实体的报错规则就可以了。

解决办法:

方法二:

General不变,Detail中将Check model去掉,就在转换为物理模型时不再检查实体错误了(当然这些错误是PD定义的默认规则)

5.物理模型如下:

6.生成带注释的sql

a.操作:Database-->Generate DataBase。。。,进入下图页面,

b、勾上以上复选框,否则当你备注为空的时候注释出不来;反之,如果你备注不为空那么名称(Name)才能作为注释出现!!

在Options可以选择要生存脚本的内容,可以选择是否创建数据库的脚本,选择要生成脚本的表


c、在selection中选择你需要生成sql的模块,指定输出目录。

7.PD图转换为脚本至此结束。

备注:有了脚本,找个数据库执行吧! 

如果自己懒得修改脚本,最好新建个数据库去执行;  你勤快些的话可以把其他没用的脚本干掉,只保留主要脚本就OK了。

使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本的更多相关文章

  1. 创建数据库表的SQL语句

    创建表.视图.索引的sql语句如下: CREAT TABLE (列名,数据类型,约束) create view(创建视图) create index (创建索引) 1.primary key(主键) ...

  2. MySQL必知必会-官方数据库表及SQL脚本导入生成

    最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参 ...

  3. 基于CentOS的MySQL学习补充三--使用Shell批量创建数据库表

    本文出处:http://blog.csdn.net/u012377333/article/details/47006087 接上篇介绍<基于CentOS的Mysql学习补充二--使用Shell创 ...

  4. 使用PowerDesigner创建数据库表图文并茂版

    使用PowerDesigner创建数据库表图文并茂版 使用PowerDesigner 建数据库表. 一直很忙,没有时间写东西.这次搞点会声会色的,嘿嘿 此技能为项目经理必备技能. 本次主角: 1.在w ...

  5. GreenDao 工具类 --- 使用 Json 快速生成 Bean、表及其结构,"炒鸡"快!

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  6. django使用model创建数据库表使用的字段

    Django通过model层不可以创建数据库,但可以创建数据库表,以下是创建表的字段以及表字段的参数.一.字段1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一 ...

  7. Sql中根据旧表创建新表的SQL语句

    今天在网上查了下,根据旧表创建新表的SQL语句,网上给了两个答案 create table tab_new like tab_old (使用旧表创建新表) create table tab_new a ...

  8. JAVA 自动生成对应数据库表的JPA代码工具

    http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成     自动生成对应数据库表的 ...

  9. 数据库(一)--通过django创建数据库表并填充数据

    django是不能创建数据库的,只能够创建数据库表,因此,我们在连接数据库的时候要先建立一个数据库. 在models.py中 from django.db import models class Pu ...

随机推荐

  1. 学习笔记之MVC级联及Ajax操作

    由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...

  2. 记录我这一年的技术之路(nodejs纯干货)

    2015年12月28日23:19:54 更新koa应用.学习型网站和开发者工具等 coding伊始 开始认认真真的学习技术还是2015.10.21日开始的,记得很清楚,那天,是我在龙湖正式学习的第一天 ...

  3. 编写高质量代码:改善Java程序的151个建议(第8章:异常___建议114~117)

    建议114:不要在构造函数中抛出异常 Java异常的机制有三种: Error类及其子类表示的是错误,它是不需要程序员处理也不能处理的异常,比如VirtualMachineError虚拟机错误,Thre ...

  4. SuperMap-iServer-单点登录功能验证(CAS)

    SuperMap-iServer-单点登录功能验证(CAS) 1.测试目的: 验证SuperMap-iServer使用CAS单点登录的功能是否正常. 2.测试环境: SuperMap-iServer8 ...

  5. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  6. web前端开发分享-目录

    1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...

  7. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  8. 让 Ubuntu 桌面自动更换壁纸

    引言 让我们的桌面系统自动更换壁纸是一个很常见的美化需求,而且确实也存在着不少这方面的小软件可以实现这个功能.事实上,在基于 Gnome 的桌面系统中,我们可以不需要借助任何第三方软件的帮助来让我们的 ...

  9. 父ListView嵌套子ListView时点击事件没有响应

    转发请备注出处:http://www.cnblogs.com/LT5505/p/5972999.html 问题: 在ListView中嵌套ListView之后,子ListView会把父ListView ...

  10. salesforce 零基础学习(五十七)Test 类中创建TestUser帮助类

    我们写Test Class的时候往往都需要指定一个uesr去run test method. TestUserHelper类如下: public class TestUserHelper { publ ...