数据血缘分析工具SQLFLow自动画出数据库的 ER 模型

2023-10-21 04:40

本文主要是介绍数据血缘分析工具SQLFLow自动画出数据库的 ER 模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

马哈鱼数据血缘分析器通过分析你所提供的 SQL 脚本,或者连接到数据库,可以自动画出数据库的 ER 模型,可视化表和字段的关系,帮助你迅速了解数据库的设计模型,进行高效的团队沟通。

马哈鱼通过两种途径来为你自动可视化 ER 模型。

一、SQL 脚本

你只需要提供创建数据库的 SQL 脚本,马哈鱼数据血缘分析工具可以自动分析这些 SQL,然后把 SQL 脚本转化为可视化的 ER 模型。为了创建 ER Diagram,用户提供的 create table, alter table 等语句 SQL 脚本中需包含 foreign key。

二、连接数据库

你可以让马哈鱼数据血缘分析器连接到你的数据库,获取数据库中的元数据,然后自动可视化整个数据库的 ER 模型。

可视化 ER 模型的三种途径

下面我们介绍如何利用马哈鱼数据血缘分析工具来实现自动可视化数据库 ER 模型。

1. 直接把 SQL 语句 paste到编辑器中进行分析

Paste SQL 到马哈鱼数据血缘分析工具的编辑器中,
在这里插入图片描述
点击 ER 模型的图标,可以马上看到 ER 模型。
在这里插入图片描述

2. 上传 SQL 文件进行分析

点击 upload sql 图标
在这里插入图片描述

在 job source 下拉栏中选择 upload file, 在 dbvendor 中选择 SQL 所属的 数据库类型,上传 SQL 文件,

然后点击 OK 按钮创建该任务。
在这里插入图片描述

完成分析后,在 Job List 面板中,点击刚才创建的 Job,
在这里插入图片描述

可以在 Schema explorer中选择 show ER diagram 查看结果。
在这里插入图片描述

3. 连接数据库进行分析

通过输入数据库连接信息,连接需要获取 ER 模型的数据库,
在这里插入图片描述

完成分析后,在 Job List 面板中,点击刚才创建的 Job,
在这里插入图片描述
可以在 Schema explorer中选择 show ER diagram 查看结果。
在这里插入图片描述

可视化 ER 模型的结果

下图是马哈鱼数据血缘分析工具自动绘制的 Northwind database 的 ER 模型。可以看到 ER 模型中包含表、字段、字段的数据类型,以及用不同图标表示的不同类型的键(key)。

northwind database ER diagram

这是马哈鱼数据血缘分析工具分析了 SQL 文件后自动画出的 github 上一个简单票务系统的数据库 ER 模型图。
在这里插入图片描述

创建 ER Diagram 所需的 SQL

为了创建 ER Diagram,用户提供的 SQL 脚本需包含 foreign key ,其他的例如 primary key, index key, unique key 不是必须的。

A) Foreign key

Foreign key用来在各个表之间建立 ER 关联。通常在 create table 和 alter table 中包含这个信息。

1. foreign key in create table
CREATE TABLE SCOTT.EMP (	EMPNO NUMBER(4,0), ENAME VARCHAR2(10), DEPTNO NUMBER(2,0), CONSTRAINT PK_EMP PRIMARY KEY (EMPNO),FOREIGN KEY(DEPTNO) REFERENCES SCOTT.DEPT(DEPTNO))  ;
2. foreign key in alter table
ALTER TABLE SCOTT.EMP ADD CONSTRAINT FK_DEPTNO FOREIGN KEY ("DEPTNO")REFERENCES SCOTT.DEPT ("DEPTNO") ENABLE;

B) primary key, index key, unique key

1. 主键(primary key)

Primary key can be speicified in create table and alter table statement.

CREATE TABLE SCOTT.EMP (	EMPNO NUMBER(4,0), ENAME VARCHAR2(10), DEPTNO NUMBER(2,0), CONSTRAINT PK_EMP PRIMARY KEY (EMPNO),FOREIGN KEY(DEPTNO) REFERENCES SCOTT.DEPT(DEPTNO));
ALTER TABLE SCOTT.DEPT
ADD CONSTRAINT dept_pk PRIMARY KEY (DEPTNO);

Icon of primary key in ER diagram

2. 唯一键(unique key)

Unique key can be specified in create table and alter table statement.

CREATE TABLE SCOTT.DEPT (DEPTNO NUMBER(2,0), DNAME VARCHAR2(14), LOC VARCHAR2(13),CONSTRAINT constraint_name UNIQUE (DEPTNO)) ;
ALTER TABLE SCOTT.DEPT 
ADD CONSTRAINT constraint_name UNIQUE (DEPTNO);   

Icon of unique key in ER diagram

3. 索引键(index key)

Index key can be specified using create index statement.

-- Oracle
CREATE INDEX SCOTT.DEPT_INDEX 
ON SCOTT.DEPT (LOC);
Or alter table add index-- MySQL
ALTER TABLE`ticketit` ADD INDEX `ticketit_subject_index`(`subject`);

Icon of index key in ER diagram

参考

马哈鱼数据血缘关系分析工具中文网站: https://www.sqlflow.cn

马哈鱼数据血缘关系分析工具英文网站: https://docs.gudusoft.com

马哈鱼数据血缘关系分析工具在线使用: https://sqlflow.gudusoft.com

这篇关于数据血缘分析工具SQLFLow自动画出数据库的 ER 模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/252012

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核