1个典型的例子是,把逻辑业务比作1个立方体,产品维、时间维、地点维分别作为不同的坐标轴,而坐标轴的交点就是1个具体的事实。也就是说事实表是多个维度表的1个交点。星状模型。
首先介绍下数据库结构中的【星型结构】,该结构在位于结构中心的单个事实数据表中保护数据,其它维度数据存储在维度表中。每一个维度表与事实数据表直接相干,且通常通过1个键联接到事实数据表中。星型架构是数据仓库比较流向的1种架构。
-
事实表是数据仓库结构中的中央表,它包括联系事实与维度表的数字度量值和键。事实数据表包括描写业务(例如产品销售)内特定事件的数据。
-
维度表是维度属性的集合。是分析问题的1个窗口。 是人们视察数据的特定角度,属性的集合构成1个维。
事实表中有外键。
①先建立维度表
②再建立事实表,建立事实表的时候从维度表中添加外键到事实表中
③如果后期维度表有增加,那么可以继续在事实表中添加外键。
-- 客户维度表
drop table if EXISTS client;
create table client
(
clientId bigint not null auto_increment PRIMARY key,
name varchar(64) null,
age int null,
sex varchar(12) null,
occupation varchar(64) null,
column_6 int null
);
-- 时间维度表
drop table if EXISTS time;
create table time
(
timeid bigint not null auto_increment PRIMARY key,
year int null,
month int null,
week int null,
day int null
);
-- 地区维度表
drop table if EXISTS region;
create table region
(
regionId bigint not null auto_increment PRIMARY key,
region varchar(32) null,
city varchar(32) null
);
-- 事实表(由各个维度组成)
drop table if EXISTS fact;
create table fact
(
payment varchar(64) null,
amount int null