如何做MySQL的星型结构_MySQL Sakila示例数据库的星型模型
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.png
sakila数据库表结构详细说明
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
租赁业务的星型模型
租赁业务的星型模型来源于sakila示例数据库,它包含一个叫做fact_rental的事实表,事实表与多个维度表关联。这是一个经典的星型模式,因为几乎所有的维度都是单一的,维度表之间没有关联,维度表只和事实表有关。
星型模型关系图
sakila.png
星型模型数据表结构详细说明
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
以上为一个标准模式下的关系型数据库表结构,根据业务需要变化后,转成数据仓库模式下星型模型的变化过程。
如何做MySQL的星型结构_MySQL Sakila示例数据库的星型模型相关推荐
- mysql is复制表结构_MySQL复制表结构和内容到另一张表中的SQL语句
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql删除数据怎么回退_mysql 删除整个数据库
ibdata1瘦身要注意的问题 错误方法一:导入数据库后,只是数据库test增大了而已,ibdata1还是默认的11M 1.只删除ibdata1或则ib_logfile0和ib_logfile1 2. ...
- mysql 5.1默认缓存_mysql的innodb数据库引擎详解
一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据 ...
- 怎么删除mysql的所有文件内容_mysql删除全部数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql中示例库安装_MySQL 官方示例数据库安装
虽然MySQL安装包中不像SQL Server和Oracle那样提供示例数据库,但官方也提供示例数据库以供学习使用. 官方示例数据库 下载地址 http://dev.mysql.com/doc/ind ...
- mysql 递归查询树型结构_MySQL递归查询所有子节点,树形结构查询
--表结构 CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code_value` varchar(32) DEFAUL ...
- mysql索引4种结构_mysql索引:四种类型,两种方法
1. 普通索引:最基本的索引,它没有任何限制,用于加速查询. 2. 唯一索引unique:索引列的值必须唯一,但允许有空值.如果是组合索引,则列值的组合必须唯一. 3. 主键索引: 是一种特殊的唯一索 ...
- MySQL笔记创建表结构_mysql笔记
mysql端口号:3306 mysql默认管理员:root 进入本机mysql的命令:mysql -u 用户名 -p密码,例如:mysql -u root -p123 远程访问mysql的指令:mys ...
- mysql修改表的结构_MySQL修改表结构
我们在修改表字段类型和约束条件的时候,如果表中的字段已经有值了,但是你修改的这个类型和字段里边的值不匹配是不允许修改的,就比如说你当初设置字段的时候,字段的值是允许存空值,并且字段里边已经存储空值了, ...
最新文章
- 监督学习和无监督学习
- java学习笔记-set
- android xml 删除控件,android-cordova插件rm cordova-plugin-whitelist不会更改config.xml,因此在构建时将被读取...
- Java 反射 (Class、ClassLoader、Constructor、Method、Field)
- java i=(int)b_定义类B和类C如下,并将其保存为B.java文件,得到的结果是()class B{int b;B(int i){b=i;}}class C extend...
- 【安全】一名安全数据科学家的日常生活
- linux 为什么要安装gcc和gcc-c++(又叫做g++)
- linux c select函数使用求解释
- (27)FPGA面试题动态时序模拟
- androidwear环境搭建以及android进入之后出现(Error:Failed to resolve: com.android.support:support-v4:26.0.0)
- 剖析 Vue.js 内部运行机制 (1)
- 如何 把 laravel model 的主键修改为字符串类型
- C# 使用RabbitMQ(二)安装
- MyCat分片规则之取模范围分片
- layerdate时间插件不允许选着部分置灰效果处理
- 时序数据预测:Holt-Winters
- 木马是如何穿过防火墙的
- Edge、Chrome 1月12日之后继续使用Flash的方法(超级专业,高能预警)
- 学生成绩管理系统1.0
- 视频合并软件怎么把多个视频合并为一个视频