PowerDesigner数据建模的简单使用(设计表)

PowerDesinger数据建模的浅谈

1.建立新模型
PowerDesigner数据建模的简单使用(设计表)_第1张图片
2.选择建立物理数据模型:
PowerDesigner数据建模的简单使用(设计表)_第2张图片

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

3.建立表:
PowerDesigner数据建模的简单使用(设计表)_第3张图片

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

4.描述表:

4.1

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

PowerDesigner数据建模的简单使用(设计表)_第4张图片

4.2

表的名字在视图中出现了

PowerDesigner数据建模的简单使用(设计表)_第5张图片

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

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

PowerDesigner数据建模的简单使用(设计表)_第6张图片

4.4设置表的自增属性:

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

PowerDesigner数据建模的简单使用(设计表)_第7张图片

4.5查看表的建表语句:

双击表,选择Preview菜单栏

PowerDesigner数据建模的简单使用(设计表)_第8张图片

5.一次建立如下5张表

PowerDesigner数据建模的简单使用(设计表)_第9张图片

分析这5表的表关系

用户表跟永久详情表是明显的一对一关系,用户表的id就是用户详情表的id

站在用户表的角度看部门表,也是一对一的关系,一个用户只能对应一个部门,但是站在部门表的角度看用户表,那就是一对多的关系,一个部门可以对应多个用户.

注意:从表设计的角度上看,是没有多对一的关系,因为在表设计中是无法表现出多对一的关系的,在用户表跟用户部门表的关系中,用户表来维护用户跟部门的关系就行
(让多方来维护)这样更简单,而不会去让一方维护多方的关系

用户跟角色是多对多的关系,这种关系,需要一张中间表来维护,那就是user_role,这张表,有一个字段指向用户表,还有一个字段指向指向角色表

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

PowerDesigner数据建模的简单使用(设计表)_第10张图片

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

PowerDesigner数据建模的简单使用(设计表)_第11张图片

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

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

PowerDesigner数据建模的简单使用(设计表)_第12张图片

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

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

PowerDesigner数据建模的简单使用(设计表)_第13张图片

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

PowerDesigner数据建模的简单使用(设计表)_第14张图片

这样中间表就跟角色表关联了,也就是说用户表跟角色表的多对多关系由中间表来维护了.中间表就两个字段一个是用户id,是一个外键指向的是用户表的主键,
另一个是角色id,指向的角色表的id.
注意,用户表的id一定要是主键,角色表的id也得是主键,不然是不会生成中间表的字段的.

查看中间表的sql语句:

PowerDesigner数据建模的简单使用(设计表)_第15张图片

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

你可能感兴趣的:(技术点)