前言

官网目前的版本PDManner4.1.1,并经过多次更名。我们仍然以PDMan这款经典版进行实战。PDMan这款产品的主要特点:

  • 极简易用
    数据库建模过程精细提炼,化繁为简,省去不必要的操作,只留下最需要的,直截了当的展现给用户。
  • 自带案例
    自带参考案例,以耳熟能详的[学生信息管理]为原型参考,让用户能够快速了解PDMan。

文章目录

  • 前言
  • 一、PDMan安装
    • 1.1 下载PDMan
    • 1.2 安装选项
    • 1.3 选定安装位置
    • 1.4 操作手册
  • 二、数据库逆向解析
    • 2.1 Java环境变量配置
    • 2.2 数据库连接配置
    • 2.2 数据库逆向解析
  • 三、生产环境增量与全量版本迭代
    • 3.1 两种数据表升级方式
    • 3.2 初始化基线与版本同步
  • 四、数据库物理外键移除原因
    • 4.1 数据库三范式
    • 4.2 移除数据库外键原因
  • 总结

一、PDMan安装

1.1 下载PDMan

在官网http://www.pdman.cn/#/下载对应系统的安装包。目前官网最新版是PDManner4.1.1版本。

1.2 安装选项

默认选择仅为我安装。

1.3 选定安装位置

建议安装在系统盘以外的磁盘中。

       点击安装,等待,即可安装完成。

1.4 操作手册

PDManer元数建模-v4-操作手册:https://www.yuque.com/pdmaner/docs/pdmaner-manual

二、数据库逆向解析

2.1 Java环境变量配置

步骤:开始→设置→JAVA环境变量。
       选择自己的JAVA_HOME的目录,点击测试,成功即可。

2.2 数据库连接配置

在进行数据库逆向解析之前,需要先配置数据库连接。
       步骤:开始→设置→数据库连接。
       点击➕,增加数据库连接池。选择对应的数据库驱动、url、username、password后,点击测试,连接成功即可。

2.2 数据库逆向解析

步骤:模型→数据库逆向解析→解析已有数据库。
       选择需要解析的数据库、逻辑名格式选择不处理,点击下一步。

       获取数据库信息,选中需要解析的表,点击确定。
       生成数据模型,可在关系图中维护表关系。

三、生产环境增量与全量版本迭代

3.1 两种数据表升级方式

步骤:模型版本→同步配置。
       两种数据表升级方式:重建数据表和字段增量。
       我们在实际生产过程中都是选择字段增量的方式进行版本迭代。
       重建数据表机制:先创建一张临时表,将数据迁移至临时表,再进行数据表创建。这个迁移的过程,如果数据量大时会十分耗时。

3.2 初始化基线与版本同步

模型版本就类似我们的SVN版本控制,可以用来管理我们的数据模型版本。首先我们需要创建一个基线版本。创建完成后,我们每次的新版本变更都可以保存新版本。版本之间可以比较,同步操作。

       选中未同步的新版本,点击同步,即可将此次变更更新至数据库中。当然我们也可以选择不同步。

四、数据库物理外键移除原因

4.1 数据库三范式

数据库三范式中,数据库指关系型数据库,范式指的是规范的意思,三范式指利用关系型数据库进行建表时普遍需要遵循的三个规范(即1NF、2NF、3NF)。
       数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时不会发生插入(insert)、删除(delete)和更新(update)操作异常。

  • 第一范式(1NF):列不可再分
  1. 每一列属性都是不可再分的属性值,确保每一列的原子性;
  2. 两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。
  • 第二范式(2NF):属性完全依赖于主键

第二范式是在第一范式的基础上建立。第二范式要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例地唯一标识。这个唯一属性列我们称之为主键。

  • 第三范式(3NF):属性不依赖于其他非主属性,属性直接依赖于主键

数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。像A→B→C属性之间含有这样的关系,是不符合第三范式的。
       小结:三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果特殊情况、当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味地去追求范式建立数据库。

4.2 移除数据库外键原因

依据数据库三段式规范,应该建立数据库物理外键,但是在互联网项目中我们不建议建立物理外键,仅保持逻辑外键关系即可。当然在一些传统地项目或者小型项目中,数据库物理外键可存在,也可以不存在。移除数据库外键的原因:

  • 性能影响
  • 热更新
  • 降低耦合度
  • 数据库分库分表

总结

PDMan可以帮助我们记录数据库的任何细小的变更,值观、高效地维护好我们地数据模型及数据关系。

Java架构师—PDMan数据库建模工具使用相关推荐

  1. PDMan数据库建模工具使用

    介绍 数据库与当前模型进行对应 先建数据库 初始化基线 生成对应版本 同步版本 正向生成对应数据库表 更新版本 新增一个用户名 版本比较 增量设置 生产环境配置 全量设置 不建议

  2. 能与PowerDesigner媲美的数据库建模工具PDMan

    软件生存周期分为: 1.可行性分析与项目开发计划 2.需求分析 3.概要设计 4.详细设计 5.编码 6.测试 7.维护 而数据库建模工作就发生在"编码"之前,"概要设计 ...

  3. Java架构师在线视频,架构师的7大必备技能

    优秀的架构师的核心能力模型包含:编程.性能调优.架构设计等能力等. 编程能力 对工程师而言,编程是最基础的能力,必备技能,其本质是一个翻译能力,将业务需求翻译成机器能懂的语言. 提升编程能力的书籍有很 ...

  4. 史上最全java架构师技能图谱(下)

    "java架构史上最全技能图谱分为上下两篇,这是java架构史上最全图谱下篇,包含: 大数据以及性能.设计模式.UML.中间件.分布式集群.负载均衡.通讯协议.架构设计等技术图谱等章节. 如 ...

  5. Java 架构师学习路线

    Java 架构师学习路线 一. 框架源码专题 1. 应用框架Spring 1.1. Spring IOC源码剖析 1.2. Spring AOP 源码剖析 1.3. Spring MVC 源码剖析 1 ...

  6. Java架构师:概述

    一.Java架构师核心技术栈 二.架构师需要具备的其他能力 三.技术选型 四.早期传统JavaWeb开发模式 五.前后端分离开发模式 六.Maven聚合项目 七.数据库设计工具PDMan 八.数据库外 ...

  7. Java架构师的岗位职责模板(合集)

    Java架构师的岗位职责模板     Java架构师的岗位职责模板1 职责: 1.对APP(短视频平台)的整体系统架构负责,支持各产品线发展及开发; 2.参与制定设计及实现规范,指导设计.实现及部署工 ...

  8. java开发的成长迷茫--java架构师

    我自己已经工作快两年了,毕业一年了,我的目标定位是java架构师,可是对于自己该怎样成为一名架构师,很迷茫,同时也在不知道未来的成长过程该怎么走,总是在盲目的学习新技术,可是新技术是学不完的,总不能一 ...

  9. sqlrelay mysql_数据库连接池SQL Relay安装使用-Java架构师必看

    SQLRelay按照其官网http://sqlrelay.sourceforge.net/indePHP SQL Relay按照其官网http://sqlrelay.sourceforge.net/i ...

  10. Java架构师成长之道之浅谈计算机系统架构

    Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...

最新文章

  1. 主角有智能芯片的种田小说_推荐3本克苏鲁类小说,压抑邪恶与搞笑逗乐并存,看看是你的菜吗...
  2. java 内部类泛型,java – 使用泛型强制转换为内部类
  3. 如何选择开源许可证?(转)
  4. mysql 云主机名_mysql部署到云主机的笔记
  5. oracle10g异常日志查看
  6. python寻找字符串中的英文字符,python如何解析字符串中出现的英文人名?
  7. 番茄花园win11专业版32位系统v2021.07
  8. Android系统中用C语言来编写服务程序并且开机自启动运行服务
  9. 卡巴斯基授权key导入方式方法及其导入key基本原理
  10. 父与子python第三版_正版 父与子的编程之旅 与小卡特一起学Python 第3版(全彩印刷) 小学生编程少儿编程真好玩入门教程童趣味亲子互动教孩子学编程书...
  11. C#初学者教程系列3:Hello World:第一个控制台应用程序
  12. VISUAL STUDIO INSTALLER下载速度过慢的解决办法
  13. 悲剧的山寨采用的新芯片资料汇总(更新Rk3066)
  14. 时序分析28 - 时序预测 格兰杰因果关系(中) python实践1
  15. 请给开源软件一个机会:7-zip / PDFCreator / CDex / VirtualDub 等等
  16. 程序猿头头(async与await的原理)
  17. Vue 按enter键实现登陆 过程
  18. winPE下安装系统ghost恢复系统图文详细教程
  19. Vue脚手架、镜像源下载及使用
  20. SystemVerilog学习-02-数据类型

热门文章

  1. reviewboard升级
  2. java字符串替换字符串_java string 字符串替换
  3. linux如何设置显示器亮度调节软件,使用软件调节Ubuntu的屏幕亮度
  4. 单反相机tf卡用sd卡套稳定吗_存储卡可不是插上就能用 单反相机的使用细节
  5. 用JS判断浏览器是否是IE9以下
  6. 如何把播放器转换成HTML5,Chrome把普通flash播放器转变成HTML5播放器插件:HTML5ify...
  7. 手持式矢量网络分析仪
  8. 哈工大计算机系统大作业——程序人生
  9. axis调用webservice
  10. BIOS 虚拟化技术