Java架构师—PDMan数据库建模工具使用

前言

       官网目前的版本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版本。
Java架构师—PDMan数据库建模工具使用_第1张图片

1.2 安装选项

       默认选择仅为我安装。
Java架构师—PDMan数据库建模工具使用_第2张图片

1.3 选定安装位置

       建议安装在系统盘以外的磁盘中。
Java架构师—PDMan数据库建模工具使用_第3张图片
       点击安装,等待,即可安装完成。

1.4 操作手册

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

二、数据库逆向解析

2.1 Java环境变量配置

       步骤:开始→设置→JAVA环境变量。
       选择自己的JAVA_HOME的目录,点击测试,成功即可。
Java架构师—PDMan数据库建模工具使用_第4张图片

2.2 数据库连接配置

       在进行数据库逆向解析之前,需要先配置数据库连接。
       步骤:开始→设置→数据库连接。
       点击➕,增加数据库连接池。选择对应的数据库驱动、url、username、password后,点击测试,连接成功即可。
Java架构师—PDMan数据库建模工具使用_第5张图片

2.2 数据库逆向解析

       步骤:模型→数据库逆向解析→解析已有数据库。
       选择需要解析的数据库、逻辑名格式选择不处理,点击下一步。
Java架构师—PDMan数据库建模工具使用_第6张图片
       获取数据库信息,选中需要解析的表,点击确定。Java架构师—PDMan数据库建模工具使用_第7张图片
       生成数据模型,可在关系图中维护表关系。
Java架构师—PDMan数据库建模工具使用_第8张图片

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

3.1 两种数据表升级方式

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

3.2 初始化基线与版本同步

       模型版本就类似我们的SVN版本控制,可以用来管理我们的数据模型版本。首先我们需要创建一个基线版本。创建完成后,我们每次的新版本变更都可以保存新版本。版本之间可以比较,同步操作。
Java架构师—PDMan数据库建模工具使用_第10张图片
       选中未同步的新版本,点击同步,即可将此次变更更新至数据库中。当然我们也可以选择不同步。
Java架构师—PDMan数据库建模工具使用_第11张图片

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

4.1 数据库三范式

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

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

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

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

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

4.2 移除数据库外键原因

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

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

Java架构师—PDMan数据库建模工具使用_第12张图片

总结

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

你可能感兴趣的:(Java架构师之路,java,架构,数据库,database)