首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >维度、外键、关系数据

问维度、外键、关系数据
EN

Stack Overflow用户
提问于 2014-08-26 21:12:07
回答 1查看 113关注 0票数 0

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

作为作业的一部分,我有一个关系数据仓库设计,其中大多数表已经标准化,使用了多到多、一对一、一对多的关系模式(我认为这是正确的术语吗?)如果我错了,请纠正我。下一步是绘制可用于数据挖掘环境的星图,我猜这意味着从不同维度绘制的事实表.

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

例如:我有这样的关系:

代码语言:javascript
复制
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}

我想知道课程成绩和模块成绩有什么关系。使用关系数据库,我将查询将包含学生信息的表与模块等级表连接起来。维度和报告的等效性是什么?尤其是当我在年级关系中使用多列作为我的主键时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-27 19:00:56

操作数据库是高度规范化的,这提高了写入性能,并最小化了写入异常。它的目的是促进事务处理。

分析数据库(数据仓库)高度非规范化,提高了读取性能,使非DBA更容易理解。它的设计是为了便于分析。

关系数据库的关系和维度之间的区别是什么?

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

我能想到的任何数据分析都可以从关系数据库中提取,那么重构它有什么意义呢?

数据仓库通常包括许多来源的数据,而不仅仅是您的操作数据库。例如:电子邮件,网站抓取。

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

如果要从中提取数据的某些表包含外键,如何将其拆分为维度。

这完全取决于您试图分析的内容,但通常情况下,您将数据反错并复制到维度表中。

尺寸设计

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

使用Excel。添加与分析相关的所有列。例如,如果您正在分析访问您网站的人员的过程,Excel中的每一行将表示一个站点访问,并且列可能是start_time、访问的页面、第一页、最后一页等。

现在执行一个级别的规范化。找到可以组合在一起的分类列(比如关于用户web浏览器的信息)。这些内容将放在浏览器维度表中。找到(真)你无法正常化的数值。这些是度量值。例如,访问的页面数。

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

现在去读这本书吧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25515214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档