文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql多维数据仓库指南--第二篇第5章_2

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

时间:2008-03-27  来源:jiangdm

测试

       本节我将向你展示,事先成功编译好的存储过程将每天完成由源推送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和推送模式进行销售订单数据的提取。接下来这章,你将学习装载日期维的各种技术。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载