1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > BI中事实表和维度表的定义+具体SQL操作(转载+自己添加实验)

BI中事实表和维度表的定义+具体SQL操作(转载+自己添加实验)

时间:2024-06-30 01:34:41

相关推荐

BI中事实表和维度表的定义+具体SQL操作(转载+自己添加实验)

1个典型的例子是,把逻辑业务比作1个立方体,产品维、时间维、地点维分别作为不同的坐标轴,而坐标轴的交点就是1个具体的事实。也就是说事实表是多个维度表的1个交点。而维度表是分析事实的1个窗口。

首先介绍下数据库结构中的星型结构,该结构在位于结构中心的单个事实数据表中保护数据,其它维度数据存储在维度表中。每一个维度表与事实数据表直接相干,且通常通过1个键联接到事实数据表中。星型架构是数据仓库比较流向的1种架构。

事实表是数据仓库结构中的中央表,它包括联系事实与维度表的数字度量值和键。事实数据表包括描写业务(例如产品销售)内特定事件的数据。

维度表是维度属性的集合。是分析问题的1个窗口。是人们视察数据的特定角度,是斟酌问题时的1类属性,属性的集合构成1个维。

事实表中有外键。

①先建立维度表

②再建立事实表,建立事实表的时候从维度表中添加外键到事实表中

③如果后期维度表有增加,那么可以继续在事实表中添加外键。

###########################################下面是具体实验#######################################################################

create database test;

插入数据的时候,先插入维度表,再插入事实表[2]

注意外键只是同步约束,而不是同步数据[3]

############################################################################################################################################v

关于外键中的集中设置[4]

另外,datagrip中的外键操作详解:

这里的references的意思是说:

事实表fact中的fact_timeid的内容必须被包含在维度表time的列timeid中,

否则事实表想要新插入数据就会因为外键约束导致插入失败。

################################################################################################################################################

下面是外键效果,当在事实表的外键列fact_clientid中增加维度表中不存在的数据6565时,就会报约束错误

记忆和理解:

维度表中的数据可以理解成是x轴y轴上的刻度值

事实表中的数据可以理解成是直角坐标系中的一个点.

Reference:

[1]Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL

[2]外键约束的表怎么插入数据

[3]为什么外键不更新?(why foreign key does'nt update?)

[4]MySQL - 外键约束的修改更新状态(CASCADE,RESTRICT,NO ACTION,SET NULL )

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。