尺寸,外键,关系数据

时间:2014-08-26 21:12:07

标签: relational-database dimensional-modeling

关系数据库的关系与星图中表示的维度之间有什么区别?

作为一项任务的一部分,我有一个关系数据仓库设计,其中大多数表已经使用多对多,一对一,一对多关系模式进行了规范化(我认为这是正确的术语?请纠正我,如果我错了)。下一步是绘制一个可以在数据挖掘环境中使用的星图,我想这意味着从不同维度绘制的事实表......

我在这里有点困惑因为1.我能想到的任何数据分析都可以从关系数据库中获取,那么重构它的重点是什么? 2.如果要从中绘制数据的某些表包含外键,如何将其拆分为维。

例如: 我有这些关系:

Courses {course_id, description}
Modules {module_id, description}
Course_modules {course_id, module_id}
Students {student_id, address, enrollment_option, enrollment_date, name, surname, nationality, home_language, gender ...}
Module_grades {student_id, module_id, assignment_1, assignment_1_sub_date, assignment_2, assignment_2_sub_date, exam, exam_date, overall_result}

我想知道课程结果与模块成绩的关系。使用关系数据库,我将查询加入包含学生信息的表和模块成绩表。维度和报告的等价物是什么?特别是当我在成绩关系中使用多列作为我的主键时。

1 个答案:

答案 0 :(得分:1)

操作数据库高度规范化,可提高写入性能,并最大限度地减少写入异常。它旨在促进交易处理。

分析数据库(数据仓库)具有高度非规范化,可提高读取性能,并使非DBA更容易理解。它旨在促进分析

  

关系数据库与维度的关系

之间的区别是什么

数据仓库可以在关系数据库中,并且可以使用它的关系(表),因此没有区别。

  

我能想到的任何数据分析都可以从关系中获取   数据库,那么重组它的重点是什么?

数据仓库通常包含来自许多来源的数据,而不仅仅是您的运营数据库。示例:电子邮件,网站抓取。

如果你告诉你的老板加入十张桌子做一个简单的分析,你就会被解雇。

  

如果您要从中绘制数据的某些表包含外键,那么如何将其拆分为维。

这完全取决于您要分析的内容,但通常会将数据反规范化并将数据复制到维度表。

尺寸设计

您需要从要分析的流程事件开始。

使用Excel。添加与分析相关的所有列。例如,如果您正在分析访问您网站的人员流程,则Excel中的每一行都代表一次网站访问,列可能是start_time,#pages visit,first page,last page等。

现在执行 ONE 级别的规范化。查找可以组合在一起的分类列(例如有关用户的Web浏览器的信息)。这些将放在浏览器维度表中。找到无法规范化的(真)数值。这些是措施。例如,访问的页数。

引用维度表的度量和键是您的事实表。

现在阅读this book

相关问题