mysql多维数据仓库指南--第二篇第5章_2

测试

       本节我将向你展示,事先成功编译好的存储过程将每天完成由源推送CDC模式功能,从source数据库中的sales_order表提取数据,载入到数据仓库的sales_order_fact表中。

       第一步,你需要运行列表5-2中的脚本来在source数据库中创建sales_order表。运行列表5-3脚本往数据仓库(dw)数据库中增加一些测试数据(四个销售订单记录和一个日期记录)。

列表5-2 建立sales_order 

/*****************************************************************/
/*                                                               */
/* create_sales_order.sql                                        */
/*                                                               */
/*****************************************************************/
USE source;
CREATE TABLE sales_order
( order_number INT
, customer_number INT
, product_code INT
, order_date DATE
, entry_date DATE
, order_amount DECIMAL (10, 2))
;
/* end of script   */


 

列表 5-3 测试推送模式的数据

/*****************************************************************/
/*                                                               */
/* push_data.sql                                                 */
/*                                                               */
/*****************************************************************/
USE dw;
INSERT INTO order_dim VALUES
  (NULL, 17, CURRENT_DATE, '9999-12-31')
, (NULL, 18, CURRENT_DATE, '9999-12-31')
, (NULL, 19, CURRENT_DATE, '9999-12-31')
, (NULL, 20, CURRENT_DATE, '9999-12-31')
;
 
INSERT INTO date_dim VALUES
  (NULL, '2007-02-06', 'February', 2, 6, 2007, CURRENT_DATE, '9999
       12-31')
;
 
/* load sales orders in the source database                      */
 
USE source;
 
INSERT INTO sales_order VALUES
  (17, 1, 1, '2007-02-06', '2007-02-06', 1000)
, (18, 2, 1, '2007-02-06', '2007-02-06', 1000)
, (19, 3, 1, '2007-02-06', '2007-02-06', 4000)
, (20, 4, 1, '2007-02-06', '2007-02-06', 4000)
;
 
/* end of script        */

       在你开始之前,你必须把你的mysql日期设置为:2007-02-07(销售订单测试数据的截至日期)并且切换到Source数据库(有那个存储过程的数据库)

       切换到source数据库可以键入下面的命令并且按回车

mysql> use source;

mysql 将打印出如下回应:

Database changed

接下来,运行push_sales_order存储过程,用如下命令向销售订单事实表载入数据。

mysql> call push_sales_order();

回应表示有4条记录有效。

Query OK, 4 rows affected (0.09 sec)

最后通过查询表来确定当前的销售订单被载入到sales_order_fact表中。回顾一下在上一章中你载入的16条销售订单记录,最后四条的时间是2007-02-06

现在切换数据库为dw

mysql> use dw;

然后,运行下面命令查询sales_order_fact表。

mysql> select * from sales_order_fact;

结果如下所示:

+----------+-------------+------------+-------------+--------------+

| order_sk | customer_sk | product_sk |order_date_sk| order_amount |

+----------+-------------+------------+-------------+--------------+

|        1 |           1 |          2 |           1 |      1000.00 |

|        2 |           2 |          3 |           1 |      1000.00 |

|        3 |           3 |          4 |           1 |      4000.00 |

|        4 |           4 |          2 |           1 |      4000.00 |

|        5 |           5 |          3 |           1 |      6000.00 |

|        6 |           1 |          4 |           1 |      6000.00 |

|        7 |           2 |          2 |           1 |      8000.00 |

|        8 |           3 |          3 |           1 |      8000.00 |

|        9 |           4 |          4 |           1 |     10000.00 |

|       10 |           5 |          2 |           1 |     10000.00 |

|       11 |           1 |          2 |           2 |     20000.00 |

|       12 |           2 |          3 |           2 |     25000.00 |

|       13 |           3 |          4 |           2 |     30000.00 |

|       14 |           4 |          2 |           2 |     35000.00 |

|       15 |           5 |          3 |           2 |     40000.00 |

|       16 |           1 |          4 |           2 |     45000.00 |

|       17 |           1 |          3 |           3 |      1000.00 |

|       18 |           2 |          3 |           3 |      1000.00 |

|       19 |           3 |          3 |           3 |      4000.00 |

|       20 |           4 |          3 |           3 |      4000.00 |

+----------+-------------+------------+-------------+--------------+

20 rows in set (0.00 sec)

现在最后四条就是四条记录。

 

小结

       本章你学习了全部源数据和CDC方法以及拉取和推送模式的源数据提取。你实施了CDC和推送模式进行销售订单数据的提取。接下来这章,你将学习装载日期维的各种技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL多维数据仓库指南是一本关于如何使用MySQL构建多维数据仓库指南多维数据仓库是一种用于存储和分析大量事务数据的数据库结构。它以多维形式组织数据,使得用户可以更容易地进行数据分析和决策支持。 这本指南将从基础的概念开始介绍,帮助读者了解多维数据仓库的原理和优势。然后,它将详细介绍如何在MySQL中创建和管理多维数据仓库。 首先,指南将介绍如何设计和建立多维数据模型。它将介绍维度、事实表和维度表的概念,以及它们之间的关系。然后,它将介绍如何在MySQL中创建表和定义表之间的关系。 接下来,指南将详细介绍如何加载和更新多维数据仓库。它将介绍不同的加载方法,例如全量加载和增量加载,并说明如何在MySQL中使用ETL(Extract, Transform, Load)工具来实现数据加载。 然后,指南将介绍如何查询和分析多维数据仓库。它将介绍如何使用MySQL的SQL查询语言来进行多维分析,例如使用聚合函数、分组和排序。此外,它还将介绍如何使用OLAP(联机分析处理)工具来进行更高级的多维分析。 最后,指南将介绍如何优化和管理多维数据仓库。它将介绍如何使用索引、分区和缓存来提高查询性能,以及如何备份和恢复数据。 总的来说,MySQL多维数据仓库指南是一本全面介绍如何使用MySQL构建和管理多维数据仓库指南。无论是初学者还是有经验的数据库开发人员,都能从中学到很多有关多维数据分析的知识和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值