11-3 MySQL 中对于 PowerDesigner 的使用
11-3 MySQL 中对于 PowerDesigner 的使用
@
这篇文章是我蹲在《尚硅谷》-康师傅博主家的 WiFi 上(不是),连夜 Ctrl+C / V 俩的镇站神文。
这篇转载只是为了,跟大家分享好内容,没有任何商业用途。如果你喜欢这篇文章,请一定要去原作者 B站《尚硅谷-MySQL从菜鸟到大牛》看看,说不定还能发现更多宝藏内容呢!
1. PowerDesigner的使用
PowerDesigner是一款开发人员常用的数据库建模工具,用户利用该软件可以方便地制作 数据流程图 、 概念数据模型 、 物理数据模型 ,它几乎包括了数据库模型设计的全过程,是Sybase公司为企业建模和设 计提供的一套完整的集成化企业级建模解决方案。
1.1 开始界面
当前使用的PowerDesigner版本是16.5的。打开软件即是此页面,可选择Create Model,也可以选择Do Not Show page Again,自行在打开软件后创建也可以!完全看个人的喜好,在此我在后面的学习中不在显示此页面。

“Create Model”的作用类似于普通的一个文件,该文件可以单独存放也可以归类存放。
“Create Project”的作用类似于文件夹,负责把有关联关系的文件集中归类存放。
1.2 概念数据模型
常用的模型有4种,分别是 概念模型(CDM Conceptual Data Model) , 物理模型(PDM,Physical Data Model) , 面向对象的模型(OOM Objcet Oriented Model) 和 业务模型(BPM Business Process Model) ,我们先创建概念数据模型。

点击上面的ok,即可出现下图左边的概念模型1,可以自定义概念模型的名字,在概念模型中使用最多的 就是如图所示的Entity(实体),Relationship(关系)

Entity实体
选中右边框中Entity这个功能,即可出现下面这个方框,需要注意的是书写name的时候,code自行补全,name可以是英文的也可以是中文的,但是code必须是英文的。

填充实体字段
General中的name和code填好后,就可以点击Attributes(属性)来设置name(名字),code(在数据库中 的字段名),Data Type(数据类型) ,length(数据类型的长度)
- Name: 实体名字一般为中文,如论坛用户
- Code: 实体代号,一般用英文,如XXXUser
- Comment:注释,对此实体详细说明
- Code属性:代号,一般用英文UID DataType
- Domain域,表示属性取值范围如可以创建10个字符的地址域
- M:Mandatory强制属性,表示该属性必填。不能为空
- P:Primary Identifer是否是主标识符,表示实体唯一标识符
- D:Displayed显示出来,默认全部勾选
![]()
在此上图说明name和code的起名方法

设置主标识符
如果不希望系统自动生成标识符而是手动设置的话,那么切换到Identifiers选项卡,添加一行Identifier, 然后单击左上角的“属性”按钮,然后弹出的标识属性设置对话框中单击“添加行”按钮,选择该标识中使用的属性。例如将学号设置为学生实体的标识。

放大模型
创建好概念数据模型如图所示,但是创建好的字体很小,读者可以按着ctrl键同时滑动鼠标的可滑动按钮 即可放大缩写字体,同时也可以看到主标识符有一个*号的标志,同时也显示出来了,name,Data type和 length这些可见的属性

实体关系
同理创建一个班级的实体(需要特别注意的是,点击完右边功能的按钮后需要点击鼠标指针状态的按钮 或者右击鼠标即可,不然很容易乱操作,这点注意一下就可以了),然后使用Relationship(关系)这个 按钮可以连接学生和班级之间的关系,发生一对多(班级对学生)或者多对一(学生对班级)的关系。
如图所示

需要注意的是点击Relationship这个按钮,就把班级和学生联系起来了,就是一条线,然后双击这条线进 行编辑,在General这块起name和code

上面的name和code起好后就可以在Cardinalities这块查看班级和学生的关系,可以看到班级的一端是一 条线,学生的一端是三条,代表班级对学生是一对多的关系即one对many的关系,点击应用,然后确定 即可

一对多和多对一练习完还有多对多的练习,如下图操作所示,老师实体和上面介绍的一样,自己将 name,data type等等修改成自己需要的即可,满足项目开发需求即可。(comment是解释说明,自己可以写相关的介绍和说明)

多对多需要注意的是自己可以手动点击按钮将关系调整称为多对多的关系many对many的关系,然后点击应用和确定即可

综上即可完成最简单的学生,班级,教师这种概念数据模型的设计,需要考虑数据的类型和主标识码, 是否为空。关系是一对一还是一对多还是多对多的关系,自己需要先规划好再设计,然后就ok了。

1.3 物理数据模型
上面是概念数据模型,下面介绍一下物理数据模型,以后 经常使用 的就是物理数据模型。打开 PowerDesigner,然后点击File-->New Model然后选择如下图所示的物理数据模型,物理数据模型的名字自己起,然后选择自己所使用的数据库即可。

创建好主页面如图所示,但是右边的按钮和概念模型略有差别,物理模型最常用的三个是 table(表) , view(视图), reference(关系) ;

鼠标先点击右边table这个按钮然后在新建的物理模型点一下,即可新建一个表,然后双击新建如下图所示,在General的name和code填上自己需要的,点击应用即可),如下图:

然后点击Columns,如下图设置,非常简单,需要注意的就是P(primary主键) , F (foreign key外键) , M(mandatory强制性的,代表不可为空) 这三个。

在此设置学号的自增(MYSQL里面的自增是这个AUTO_INCREMENT),班级编号同理,不多赘述!

在下面的这个点上对号即可,就设置好了自增

全部完成后如下图所示。

班级物理模型同理如下图所示创建即可


完成后如下图所示

上面的设置好如上图所示,然后下面是关键的地方,点击右边按钮Reference这个按钮,因为是班级对学 生是一对多的,所以鼠标从学生拉到班级如下图所示,学生表将发生变化,学生表里面增加了一行,这 行是班级表的主键作为学生表的外键,将班级表和学生表联系起来。(仔细观察即可看到区别。)

做完上面的操作,就可以双击中间的一条线,显示如下图,修改name和code即可

但是需要注意的是,修改完毕后显示的结果却如下图所示,并没有办法直接像概念模型那样,修改过后 显示在中间的那条线上面,自己明白即可。

学习了多对一或者一对多的关系,接下来学习多对对的关系,同理自己建好老师表,这里不在叙述,记得老师编号自增,建好如下图所示

下面是多对多关系的关键,由于物理模型多对多的关系需要一个中间表来连接,如下图,只设置一个字 段,主键,自增

点击应用,然后设置Columns,只添加一个字段

这是设置字段递增,前面已经叙述过好几次

设置好后如下图所示,需要注意的是有箭头的一方是一,无箭头的一方是多,即一对多的多对一的关系 需要搞清楚,学生也可以有很多老师,老师也可以有很多学生,所以学生和老师都可以是主体;

可以看到添加关系以后学生和教师的关系表前后发生的变化

1.4 概念模型转为物理模型
1:如下图所示先打开概念模型图,然后点击Tool,如下图所示

点开的页面如下所示,name和code已经从概念模型1改成物理模型1了

完成后如下图所示,将自行打开修改的物理模型,需要注意的是这些表的数据类型已经自行改变了,而 且中间表出现两个主键,即双主键

1.5 物理模型转为概念模型
上面介绍了概念模型转物理模型,下面介绍一下物理模型转概念模型(如下图点击操作即可)

然后出现如下图所示界面,然后将物理修改为概念 ,点击应用确认即可

点击确认后将自行打开如下图所示的页面,自己观察有何变化,如果转换为oracle的,数据类型会发生变 化,比如Varchar2等等);

1.6 物理模型导出SQL语句

打开之后如图所示,修改好存在sql语句的位置和生成文件的名称即可

在Selection中选择需要导出的表,然后点击应用和确认即可

完成以后出现如下图所示,可以点击Edit或者close按钮

自此,就完成了导出sql语句,就可以到自己指定的位置查看导出的sql语句了;PowerDesigner在以后在 项目开发过程中用来做需求分析和数据库的设计非常的方便和快捷。
2. 最后:
“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”
11-3 MySQL 中对于 PowerDesigner 的使用的更多相关文章
- 万答#11,MySQL中char与varchar有什么区别
万答#11,MySQL中char与varchar有什么区别 1.实验场景 GreatSQL 8.0.25 InnoDB 2.实验测试 2.1 区别 参数 char varchar 长度是否可变 定长 ...
- 使用PowerDesigner创建物理模型并生成SQL语句在MySQL中生成表
我使用的PowerDesigner的版本为16.5,创建物理模型后,使用PowerDesigner生成的SQL语句,在MySQL中创建表. 1. 打开Power Designer软件,在弹出的欢迎对话 ...
- int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)
int(11)最大长度是多少,MySQL中varchar最大长度是多少? int(11)最大长度是多少? 在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度. 这个11代表 ...
- mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?
原文地址: http://www.cnblogs.com/stringzero/p/5707467.html 原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int ...
- mysql中整数类型后面的数字,比如int(11),11代表11个字节吗?
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- [转]MySQL中int(11)最大长度是多少?
原文地址:https://blog.csdn.net/allenjay11/article/details/76549503 今天在添加数据的时候,发现当数据类型为 int(11) 时,我当时让用户添 ...
- [转载]MySQL中int(11)最大长度是多少?
原文地址:https://blog.csdn.net/allenjay11/article/details/76549503 今天在添加数据的时候,发现当数据类型为 int(11) 时,我当时让用户添 ...
- 【转】MySql中的函数
原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...
- MySQL中有关TIMESTAMP和DATETIME的总结
一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...
- MySQL中索引和优化的用法总结
1.什么是数据库中的索引?索引有什么作用? 引入索引的目的是为了加快查询速度.如果数据量很大,大的查询要从硬盘加载数据到内存当中. 2.InnoDB中的索引原理是怎么样的? InnoDB是Mysql的 ...
随机推荐
- Python+硅基流动API实现小说转有声读物
一.注册硅基流动账号获取文本转语音api 1.注册登录硅基流动 注册.登录硅基流动 查看apikey 查看赠送的免费额度 点击文档中心 2.查看文本转语音api 查看文本转语音api 查看api使用指 ...
- 应用引入LLM实践
LLM最近在各行各业遍地开花,产生了很好的效果,也落地了很多好的功能应用. 无论是从实际应用角度,还是从营销角度,我们都需要接入大模型能力. 拿国内比较火的Deepseek来说,具有良好的推理能力,可 ...
- AnnotationAwareAspectJAutoProxyCreator后置处理器的BeanDefinition定义信息导入和其对象实例创建过程
步骤1 我们从配置类上的@EnableAspectJAutoProxy 注解入手,进入发现这个注解上又有一个@Import(AspectJAutoProxyRegistrar.class)注解, 了解 ...
- Nacos简介—4.Nacos架构和原理
Nacos简介-4.Nacos架构和原理 大纲 1.Nacos的定位和优势 2.Nacos的整体架构 3.Nacos的配置模型 4.Nacos内核设计之一致性协议 5.Nacos内核设计之自研Dist ...
- 深入解析Tortoise-ORM关系型字段与异步查询
title: 深入解析Tortoise-ORM关系型字段与异步查询 date: 2025/05/01 00:12:39 updated: 2025/05/01 00:12:39 author: cmd ...
- 【经验】Ubuntu20.04虚拟机的网络问题|在NAT模式没有网络连接图标,桥接模式正常
我的版本:Ubuntu20.04.04,iso是清华镜像站的release版本. 问题:NAT模式没有网络连接图标,或者图标闪一下就消失不见,并且无法获取IP地址:但是桥接模式的网络服务却是正常的. ...
- Axure在线教育考试原型图在线网课教育交互模板rp源文件
Axure在线教育考试原型图在线网课教育交互模板rp源文件 Axure在线教育原型图在线网课教育交互模板rp源文件是一款原创的儿童教育类的APP模板,使用axure rp软件制作.app中包含大约40 ...
- Linux命令之剪切
一.格式 mv source dest 二.介绍 mv: 命令 source: 源文件 dest: 目的地址 三.案例 剪切conf 文件到 /home/data 文件下 目前conf 文件是在/h ...
- IT道道网,深度分享IT行业经营智慧的网站
IT道道网简介 IT道道网(itddw.com)是为IT人提供行业门道技巧.方案案例的学习分享平台,汇集前辈智慧,分享IT行业市场开拓.经营运营.项目管理.产品规划设计.前沿技术应用各方面经验案例. ...
- 图解Spring源码4-Spring Bean的作用域
>>>点击去看B站配套视频<<< 系列文章目录和关于我 1. 从一个例子开始 小陈经过开店标准化审计流程后,终于拥有了一家自己的咖啡店,在营业前它向总部的咖啡杯生产 ...

