PowerDesigner是一个做开发设计很常用的工具软件,同时还有Rose也可以,都是当前软件开发最著名的建模设计及软件之一,下面讲解简单的应用。

步骤:

1.现在各版本非常多,我本人使用16.5版本,下载可以从官网进行下载,下载后需要进行注册,注册有很多方式,等以后会单独编写如何进行注册。这里就是欢迎页面。

2.首页要建立模型,只有建立模型以后才能建立表格,才能进行以后的操作。选择“File”然后选择第一项内容“New Model”,弹出新页面,在页面中的“Model name”填写自己的名称,在下面的“DBMS”中选择你要生成的数据库类型。建议在这里选好后,以后生成的语句会好一些。

3.现在模型已经建立好了,让我们来开始建表吧。首先在右侧工具栏中选择建表工具。其中在“Physical Diagram”中选择有表格的这个,也就是下图标记的这个,把鼠标放上去显示Table就可以了。点击以后在中间的地方选择放置的位置。

4.在中间放置好后,双击就能修改表名称和添加字段了。在图的左边就是刚才放置的表格,然后双击就出现后侧的对话框了。这个时候name是给自己在软件中查询看到的名称,Code是当前的表名,建议命名的时候有一定的规律。比如系统以sys_开头,正常表以t_开头好一些。comment是导入数据库的表的名称注释,建议要填写。为了以后方便使用。

5.建立表字段。其中Name是给设计软件的说明,Code是字段名,comment是表字段的说明。对于初学者一定要写字段的注释。为了以后开发养成良好的规范。

6.Date Type是设置字段的类型,其中varchar(40)是字符串型,int是数字型。在Length是字段的长度,如果是主键的话Piamary和Mandatory这两个是要选中的,一个标示是主键,另一个是标示不能为空。

7.这样基础的建表就已经完成了,在表名上选择右键,选择“SQL Preview”就能看到SQL代码了。

外键:

我们可能在Powerdesigner中,直接新建物理模型或(先设计概念、逻辑模型而生成物理模型)或(连接现有数据库,逆向生成物理模型)。
在物理模型中,B表生成外键时,引用的A表需要已经设置主键。
1、如果B表中没有外键列,则直接使用工具reference,B表中自动生成外键列,如下图:


2、如果B表中已经有列和A中主键列相同,则直接使用工具reference,使用B表已有列作为外键列,如下图:


3、 如果B表中已经有列和A中主键列不相同 ,则直接使用工具reference,B表自动生成外键列

(1)一种方法是删除已有列,修改外键列名,如下图:



(2)第二种方法是,双机reference连接线(属性),选择外键列,选择确定即可,如下图:


外键:

先创建两个entity

因为是多个t主题(topic)对应一个作者(author)

所以topic要有个外键author_id参照author的id

那么双击topic,创建一个column author_id 并且在M上选对勾:意思是这个外键必须有值(帖子肯定是要有个作者发啊,不能是null)

Mandatory

When selected, indicates a column that must be assigned a not null value

然后点击reference,并连上2个entity

双击连接线,parent table即是author,而child table 是topic

Parent table

Specifies the parent table of the reference. This table contains the primary key, or alternate key, linked by the reference.

Child table

Specifies the child table of the reference. This table contains the foreign key linked by the reference

然后在joins里面把parent key 选为none,在指定外键列child table column

得到

如果praent key选为

那么你的外键就会是topic 主键加上author_id外键

PowerDesigner 简单使用教程相关推荐

  1. vim简单使用教程【转】

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  2. java map set_java中Map、Set、List的简单使用教程(快速入门)

    Map.Set.List List的常用方法 1.创建 List list = new ArrayList<>(); List list = new LinkedList<>( ...

  3. 【转】正则表达式简介及在C++11中的简单使用教程

    [转]正则表达式简介及在C++11中的简单使用教程 正则表达式Regex(regular expression)是一种强大的描述字符序列的工具.在许多语言中都存在着正则表达式,C++11中也将正则表达 ...

  4. PHP在WPS中的应用,PHP+Laravel的简单应用教程【ajax的使用】,wps的使用教程

    PHP+Laravel的简单应用教程[ajax的使用]PHP·拉弗尔的简单应用教程[阿贾克斯的使用],下面由Laravel框架教程栏目给大家介绍PHP Laravel的简单应用教程[阿贾克斯的使用], ...

  5. 史上最简单MySQL教程详解(进阶篇)之存储过程(一)

    史上最简单MySQL教程详解(进阶篇)之存储过程(一) 史上最简单MySQL教程详解(进阶篇)之存储过程(一) 什么是存储过程 存储过程的作用 如何使用存储过程 创建存储过程 DELIMITER改变分 ...

  6. 史上最简单MySQL教程详解(进阶篇)之存储引擎介绍及默认引擎设置

    什么是存储引擎? MySQL存储引擎种类 MyISAM 引擎 InnoDB引擎 存储引擎操作 查看存储引擎 存储引擎的变更 修改默认引擎 什么是存储引擎? 与其他数据库例如Oracle 和SQL Se ...

  7. IDEA简单配置教程

    IDEA简单配置教程 --做好前期配置工作,后期少走弯路. 创建模块(Module) 设置(Settings) 设置主题 窗体及菜单字体及大小 设置编辑区主题 通过插件(plugins)更换主题 设置 ...

  8. kindle的xray怎么用_Xray简单使用教程

    Xray简单使用教程 0X00下载 xray 为单文件二进制文件,无依赖,也无需安装,下载后直接使用. 下载地址为: 注意: 不要直接 clone 仓库,xray 并不开源,仓库内不含源代码,直接下载 ...

  9. navicat fo mysql 教程_Navicat For MySQL的简单使用教程

    1.前提是必须先安装好MySQL数据库(Mac下安装MySQL数据库见前一篇) 2.安装Navicat 3.点击navicate左上角:连接->MySQL->先测链接下,如果提示连接成功, ...

最新文章

  1. 一毕业年薪 201 万!目前全球仅四人,华为最高档“天才少年”这样说
  2. [云炬创业基础笔记]第六章商业模式测试11
  3. mongodb数据迁移2种方式比较
  4. 蔡天西:去麻省理工,发现找不到一个能“打”的
  5. 一个项目告一段落,终于可以回家过年了。
  6. [C#]System.Timers.Timer(2)
  7. 电子书 杜春雷 ARM体系结构与编程
  8. 闲来无事研究一下酷狗缓存文件kgtemp的加密方式
  9. matlab将声音和噪声叠加,基于MATLAB有噪声语音信号的处理(最终稿)最新版
  10. 网易互娱2017实习生招聘在线笔试(一)
  11. 计算机考试函数应用题及答案,2016年全国职称计算机考试EXCEL考前练习题4
  12. 二代旅游网站CMS缓存列表
  13. 【数论-Lucas定理】
  14. c语言编程水果忍者,少儿创意编程scratch初级游戏之一水果忍者
  15. git clone速度太慢的解决办法
  16. 面试官如何考察你的思维方式?学会这个思维方式面试很简单!
  17. ET部署到docker,用docker实现快速部署ET分布式服务器(一)
  18. [HoopChina]爱神的通牒
  19. 计算机学家名言 英语,科学家英语名言
  20. 看到刷机的东西就冲动,过年的时候把psp刷坏了,以后找台路由器刷着玩

热门文章

  1. 【技术变现小技巧】-- Boss直聘 批量打招呼
  2. 使用pygame开发游戏:合金弹头(1)
  3. nlog官方帮助_NLog使用方法
  4. HDG 成都站报名开启 | 聆听技术干货,感受实际 Demo 演示
  5. 【学会了学会了】Flink官网翻译——Standalone以及YARN部署
  6. linux远程桌面ipad,如何实现远程连接(SSH)iPhone/iPad?
  7. Java异常处理Exception——银行余额不足实例
  8. 如何处理.nii文件
  9. linux内核gdt,linux内核学习之全局描述符表(GDT)(二)
  10. python列表字母排序_Python_list(二)列表排序