数据仓库梳理方案

第一步:对sql进行建模

1、经过对抽取数据的sql进行观察和通用化建模,发现规律如下:

Sql格式: insert into 结果表 select …..

Select 后面只有三种种情况①from元表表名②leftjoin(链接) 表名或者(select语句) 元表名③union all (select语句),如下图:

第二步:对sql进行解析

1、 sql格式要求:

符合抽取数据格式的sql,在一个文件中每一条sql之间用分号分隔。

2、 进行文件处理

先将一个文件切成单独的sql文本,并且用结果表命名如下图:


3、 然后将每一个文件转换成一个含有源表的对象如下图建模对象:


其中,将文件中没有的源表转成空对象(将所有表都转成一个对象)。

4、 解析关键词into、from、join,再进行一些细节处理和剔除,获得每一条sql中的所有表名,转换成对象。

5、 利用队列的数据结构和特性,将已经得到的对象转换成新的对象(三合一数据结构),如下图:


6、 选择任何一个对象,即可以找出相关的所有关系。


第三步:将关系输出到文件中或者展示在界面上

1、还没有更好的方法实现,仍在思考当中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值