Sakila样本数据库介绍
Sakila样本数据库是MySQL官方提供的一个虚拟的DVD出租连锁店数据库,提供了一个标准模式。Sakila数据库支撑了DVD租赁商店的业务流程。你可以在这个地址下载到数据库脚本文件https://dev.mysql.com/doc/index-other.html。
本文主要介绍样本数据库的表结构以及基于本数据设计一个星型模型的数据仓库,这里所介绍的内容参考了《Pentaho Kettle 解决方案:使用PDI构建开源ETL解决方案》。
DVD光盘租赁业务流程
sakila数据库的主要目的在于支撑DVD租赁商店的业务流程,下面列举了一些业务流程活动的关键点来帮助大家理解sakila数据库是如何支撑的:
1.每个商店维护自己的租赁影片清单,当客户取走或归还DVD光盘时会有一个专门的店员对这个清单进行维护。
2.影片描写的内容同样在维护信息范围之列,如分类(动作、冒险、喜剧等)、演员、等级、特殊分类(例如被删除的情节和预告片)。
3.必须在商店注册成为会员才可以租赁光盘。
4.客户可以在任何一家商店租赁一张或多张光盘,同时,商店希望客户在每张光盘对应的租赁期内归还之前租赁的光盘。
5.顾客可以在任意时间对任何租赁的光盘付费。
sakila数据库模型关系图
sakila数据库表结构详细说明
租赁业务的星型模型
租赁业务的星型模型来源于sakila示例数据库,它包含一个叫做fact_rental的事实表,事实表与多个维度表关联。这是一个经典的星型模式,因为几乎所有的维度都是单一的,维度表之间没有关联,维度表只和事实表有关。
星型模型关系图
星型模型数据表结构详细说明
以上为一个标准模式下的关系型数据库表结构,根据业务需要变化后,转成数据仓库模式下星型模型的变化过程。