• 一款好用的数据血缘关系在线工具--SQLFlow


     

    数据血缘关系(data lineage)

    数据血缘属于数据治理中的一个概念,是在数据溯源的过程中找到相关数据之间的联系,它是一个逻辑概念。数据治理中经常提到血缘分析,血缘分析是保证数据融合的一个手段,通过血缘分析实现数据融合处理的可追溯。数据血缘是指数据产生的链路,直白点说,就是我们这个数据是怎么来的,经过了哪些过程和阶段。

    SQLFlow是什么? 

    SQLFlow 通过分析各种数据库对象定义(DDL)语句、数据操作(DML) 语句、ETL/ELT中使用的存储过程(Proceudre,Function)、 触发器(Trigger)和其他 SQL 脚本,给出完整的数据血缘关系。它不仅可以展现对象间的关系,也可以帮你提取表的字段。

    参考链接:https://sqlflow.gudusoft.com/?utm_source=cnblogs&utm_medium=blog&utm_campaign=my-nick-name#/

    示例说明

    新建表

    CREATE TABLE Test1(ID INT,NAME VARCHAR(36));

    CREATE TABLE Test2(ID INT,NAME VARCHAR(36));

    新建视图

    CREATE VIEW v_test1 AS SELECT A.NAME FROM Test1 A;

    CREATE VIEW v_test2 AS SELECT A.* FROM Test1 A,Test2 B WHERE A.ID=B.ID;

    CREATE VIEW v_test3 AS SELECT A.*,b.* FROM Test1 A,Test2 B WHERE A.ID=B.ID;

    默认情况下仅显示Dataflow,即数据流,可以从图中清晰的看到每个视图中的具体列是由哪里流过来的。

     

    l  视图v_test1仅包含来源于Test1的name列;

    l  视图v_test2包含来源于Test1的ID,name列,虽在视图定义中和Test2进行了关联,但是由于数据全部来源于Test1,所以在Dataflow中并不体现;

    l  视图v_test3包含来源于Test1和Test2中所有列。

    看到此处,您可能疑惑,视图v_test2展现的虽然只是来源于Test1的数据,但是如果您想了解Test1和Test2是否有关联逻辑,该如何做?

    打开【Setting】-【impact】选项,可以看到具体的表间的逻辑关系。

     

    说明:

    l  SQLFlow数据流使用【实线】显示,逻辑关系使用【虚线】显示;

    l  此时的关系集合中多了一个伪列(PseudoRows),用于表示该数据集合是由多表关联而来。

    此时您能够更加清晰的看到数据血缘关系以及各原表间的关联关系。

  • 相关阅读:
    C语言中常用的库文件
    Typora 的日志路径
    常用的 C 语言库函数
    C语言中assert断言的用法
    C语言学习摘要
    Linux 下递归赋权
    Android提升进入界面的速度
    JMeter测试工具总结
    Selenium自动化测试总结
    Android 系统启动日志
  • 原文地址:https://www.cnblogs.com/syforacle/p/SQLflow.html
Copyright © 2020-2023  润新知