PowerDesinger数据建模的浅谈

1.建立新模型

这里写图片描述

2.选择建立物理数据模型:

这里写图片描述

  1. 可以选择使用的数据库语言

3.建立表:

这里写图片描述

  • 左键点击Table这个图标,移到空白工作区,左键点击,这个一张表的视图就出现在了工作区,再次点击左键,就会再次出现一张表的视图,如果点击右键就会退出新
  • 建表视图的模式,重新回到Pointer(选择)模式

4.描述表:

4.1

1
双击表,就出现了表属性的视图,在里面可以给这样表命名为用户表,Code指的是在数据库中中表的名字

这里写图片描述

4.2

表的名字在视图中出现了

这里写图片描述

4.3 建立表的字段 (再次双击表)

这次选的是Columns这个表的菜单栏(里面可以设置表的列的属性)
1

这里写图片描述

4.4设置表的自增属性:

双击用户id最左边的这个小图标,就会出现列属性的选项卡,然后勾选Identity,这样用户id就是自增的了
1

这里写图片描述

4.5查看表的建表语句:

双击表,选择Preview菜单栏
1

这里写图片描述

5.一次建立如下5张表

这里写图片描述

分析这5表的表关系

  • 用户表跟永久详情表是明显的一对一关系,用户表的id就是用户详情表的id
  • 站在用户表的角度看部门表,也是一对一的关系,一个用户只能对应一个部门,但是站在部门表的角度看用户表,那就是一对多的关系,一个部门可以对应多个用户.
  • 注意:从表设计的角度上看,是没有多对一的关系,因为在表设计中是无法表现出多对一的关系的,在用户表跟用户部门表的关系中,用户表来维护用户跟部门的关系就行 (让多方来维护)这样更简单,而不会去让一方维护多方的关系
  • 用户跟角色是多对多的关系,这种关系,需要一张中间表来维护,那就是user_role,这张表,有一个字段指向用户表,还有一个字段指向指向角色表

6.在PowerDesigner中表示表与表之间的关系:

这里写图片描述

左键选择这个小图标(Reference),不要松手,点击用户详情表(注意这个过程一定不要松手),然后点击用户表,之后,用户详情表就跟用户表关联了.
此时松手,右键退出Reference模式

这里写图片描述

注意用户详情表的主键id上面有<pk,fk>字样,这说明一定是一对一关系,既是主键又是外键

同样的方法点击用户表,然后连接部门表

这里写图片描述

此时用户表就多了一个字段部门号(外键)指向部门表,这样用户表就跟部门表关联了.
1

之后来表示多对多的关系,同样的方法,但是这时是先点击中间表,然后连接用户表.

这里写图片描述

现在中间表(user_role)就指向了用户表,站在中间表看用户表是一对一的关系,站在用户表看中间表,则是一对多的关系,用同样的方法,关系角色表

这里写图片描述

查看中间表的sql语句:

这里写图片描述

这些sql语句是直接可以放在数据库中运行的