1 系统架构
- 基于MySQL搭建数据仓库
- 基于Kettle进行数据处理
- 帆软FineBI基于MySQL搭建的数据仓库进行数据分析
2 数据流程图
- 通过Kettle将MySQL业务系统数据库中,将数据抽取出来,然后装载到MySQL数据仓库中。
- 编写SQL脚本,对MySQL数据仓库中的数据进行数据分析(分组、聚合等),并将分析后的结果保存。
- 使用 FineBI 将保存下来的分析结果以图形的方式展示出来。
3 创建finebi_shop数据库并导入数据
为了完成本次案例,我们需要提前准备好 finebi_shop 数据库,我们准备好了一个SQL脚本文件【finebi_shop_v1.2.sql】,里面有很多的一些SQL语句,这些SQL语句会自动创建数据库、表,并将数据插入到表中。数据量较大,建议使用source命令执行脚本。
表结构概览:
表名 | 说明 |
finebi_areas | 行政区域表,例如:北京市、昌平区等。 |
finebi_goods | 商品表,保存了商品的基本信息。例如:商品的唯一标识、商品的名称、店铺ID、商品的分类等。 |
finebi_goods_cats | 商品分类表,每一个商品都有自己的分类。例如:海尔的某个冰箱属于:家用电器 > 大家电 > 冰箱 这样的一个分类。 |
finebi_orders | 订单表,用户提交的订单将保存在该表中。表中包含了:下订单的用户、订单的状态、订单的支付金额、订单所属的区域、用户所属的地址等。 |
finebi_order_goods | 订单明细表,订单明细表包含了订单中的包含的商品信息。用户可以同时买多个商品,然后提交一个订单。例如:提交的订单中包含一个手机、和一个电冰箱。订单明细中包含了用户买的商品数据和订单信息。例如:该订单明细对应的订单是什么、买了几个这样的商品、商品的ID是什么等。 |
finebi_users | 用户信息表,包含了用户的ID、用户名、密码等信息。 |
4 创建finebi_shop_bi 数据仓库
create database if not exists finebi_shop_bi DEFAULT CHARACTER SET utf8;
提示:
if not exists 表示如果数据库不存在时,才会创建数据库,如果数据库已经存在,就不创建。