《数据清洗》第八章 综合案例--构建DVD租赁商店数据仓库

1) 了解数据库sakila中的数据表

sakila样本数据库是MySql官方提供的一个模拟DVD租赁商店管理的数据库。

sakila数据库--->数据清洗--->构建数据仓库

1.案例概述

1.1 案例背景介绍

对于在线DVD租赁商店的决策者来说,他们需要从不同的商业角度观察数据,如从时间、电影、演员、用户等角度观察数据,并进行相关的分析得出决策,但是数据库中的数据不适合从多个角度进行分析,无法得出战略决策。

然而,数据仓库支持复杂的分析操作,侧重于决策支持,并且还提供直观易懂的查询结果。

因此我们需要基于数据库sakila创建一个DVD租赁商店数据仓库,并将sakila数据库中的数据加载到数据仓库中,以便于在线DVD租赁商店的决策者对数据进行分析得出商业决策。

1.2 数据仓库的架构模型

数据仓库sakila_dw的架构模型:星型模型

2.3 数据表简介

sakila数据库中16张数据表的基本信息

1.数据表film

存储电影的基本信息及相关介绍的数据,该数据表各个字段对的含义见表

字段名称 数据类型 相关说明
film_id smallint 主键(电影id)
title varchar 电影名称
description text 电影描述
release_year year 上映年份
language_id tinyint 语言id
original_language_id tinyint 原版语言id
rental_duration tinyint 租赁时长
rental_rate decimal 电影租赁费
length smallint 电影时长
replacement_cost decimal 替换成本
rating enum 评分
special_features set 特色
last_update timestamp 最后更新时间

2.数据表film_category

存储定义电影id和所属电影类别id的数据,该数据表各个字段的含义

字段名称 数据类型 相关说明
film_id smallint 主键(电影id)
category_id tinyint 外键(电影类别id)
last_update timestamp 最后更新时间

3.数据表category

用于存储电影类别名称和所属类别id的数据,该数据表各个字段的含义如下:

字段名称 数据类型 相关说明
category_id tinyint 主键(电影类别id)
name varchar 电影类别名称
last_update timestamp 最后更新时间

4.数据表film_actor

用于存储定义演员id和所属电影id的数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
actor_id smallint 主键(演员id)
film_id smallint 外键(电影id)
last_update timestamp 最后更新时间

5.数据表actor

用于存储演员id对应的姓氏和名字数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
actor_id smallint 主键(演员id)
first_name varchar 演员名字
last_name varchar 演员姓氏
last_update timestamp 最后更新时间

6.数据表language

存储电影语言id和对应的语言名称数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
language_id tinyint 主键(电影语言id)
name char 电影语言名称
last_update timestamp 最后更新时间

7.数据表film_text

存储电影id和对应的电影名称及简述的数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
film_id smallint 主键(电影id)
title varchar 电影名称
description text 电影简述

8.数据表store

存储商店id和对应的管理人员id以及商店地址id的数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
store_id tinyint 主键(商店id)
manager_staff_id tinyint 管理人员id
address_id smallint 商店地址id
last_update timestamp 最后更新时间

9.数据表staff

用于存储员工的基本信息及员工所属商店的数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
staff_id tinyint 主键(员工id)
first_name varchar 员工名字
last_name varchar 员工姓氏
address_id smallint 地址id
picture blob 照片
email varchar 邮箱
store_id tinyint 商店id
active tinyint 在职
username varchar 用户名
password varchar 密码
last_update timestamp 最后更新时间

10.数据表inventory

用于存储库存编号对应的电影id和商店id数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
inventory_id mediumint 主键(库存编号)
film_id smallint 电影id
store_id tinyint 商店id
last_update timestamp 最后更新时间

11.数据表customer

用于存储顾客的基本信息数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
customer_id smallint 主键(顾客id)
store_id tinyint 商店id
first_name varchar 顾客名字
last_name varchar 顾客姓氏
email varchar 顾客邮箱
address_id smallint 地址id
active tinyint 活跃消费者
create_date datetime 创建日期
last_update timestamp 最后更新时间

12.数据表rental

用于存储租借相关信息数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
rental_id int 主键(租借id)
rental_date datetime 租赁日期
inventory_id mediumint 库存编号
customer_id smallint 顾客id
return_date datetime 返还日期
staff_id tinyint 员工id
last_update timestamp 最后更新时间

13.数据表payment

用于存储租赁时付款的相关信息,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
payment_id smallint 主键(付款id)
customer_id smallint 顾客id
staff_id tinyint 员工id
rental_id int 租借id
amount decimal 数量
payment_date datetime 付款日期
last_update timestamp 最后更新时间

14.数据表country

用于存储国家id和对应的国家名称数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
country_id smallint 主键(国家id)
country varchar 国家名称
last_update timestamp 最后更新时间

15.数据表city

用于存储城市id和对应的城市名称以及所属国家id这一类数据,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
city_id smallint 主键(城市id)
city varchar 城市名称
country_id smallint 国家id
last_update timestamp 最后更新时间

16.数据表address

用于存储城市地址及地址邮编、所属区域等相关信息,该数据表各个字段的含义见表

字段名称 数据类型 相关说明
address_id smallint 主键(地址id)
address varchar 地址名称
address2 varchar 地址名称2
district varchar 区域
city_id smallint 城市id
postal_code varchar 邮编
phone varchar 电话
last_update timestamp 最后更新时间

你可能感兴趣的:(数据仓库和ETL,数据仓库,数据库,database)