【问题标题】:A datawarehouse without measures没有措施的数据仓库
【发布时间】:2017-03-15 23:41:38
【问题描述】:

我这样做正确吗?没有措施,所以这让我有点失望。

我正在设计我的数据库来保存用户配置文件的记录。当编辑/更新/删除记录时,用户可以进入并在链接到此数据库的前端门户上编辑配置文件。 DB 还需要为公共网站生成 XML 提要。

仓库:

【问题讨论】:

  • 看起来像标准的数据库结构...
  • @JohnHC 不一定适用于数据仓库。我认为 OP 可能正在考虑 Data Vault 范式。 (-edit- 维度建模;抱歉)
  • 取决于您创建此数据仓库的目的。您想在哪里举报?
  • 我正在设计我的数据库来保存用户配置文件的记录。当编辑/更新/删除记录时,用户可以进入并在链接到此数据库的前端门户上编辑配置文件。数据库还需要为公共网站生成 XML 提要。
  • @LaurenBuxton 请将您在 cmets 中提供的更多信息添加到原始问题中。

标签: data-warehouse dimensional-modeling


【解决方案1】:

是的,事实表可以没有度量而存在,它被称为无事实事实表。

请提供更多信息:http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/factless-fact-table/ 和其他文档。

【讨论】:

  • 请问在 FACT 中我将什么设置为 PK,PersonalID?其余的是 FK?
【解决方案2】:

虽然您绝对可以拥有一个没有度量的事实表 - 正如 RaduM 所链接的解释那样 - 如果您的模型中没有任何度量,我会质疑该数据库是否应该使用维度模型。

维度模型适用于 BI 功能 - 数据分析、报告、输入多维数据集等。您在稍后关于该数据库使用的评论中的描述似乎表明该数据库实际上只是网站的后端数据库?如果是这样,我建议完全避免维度建模。标准的归一化数据模型可能更合适。

数据仓库通常是辅助数据存储,不是您的实时应用程序数据库。数据从您的主要来源提取到数据仓库中,以满足报告和分析需求。

事务性数据库 - 就像您所描述的那样 - 通常以更标准和更高度规范化的方式建模。通常的黄金标准是第三范式或更高的范式。如果您不清楚数据库规范化的规则和第三范式的概念,那么我强烈建议您对此进行一些培训(如果您搜索,周围有在线教程),然后在重塑您的这种方式的情景。如果您遇到困难,请针对您遇到的问题发布一个新问题。

您可能还会发现上一个问题很有帮助 - 它描述了 OLTP 和 OLAP 之间的区别。虽然您不使用 OLAP,但维度模型通常用作 OLAP 数据库背后的 RDBMS 层:

What are OLTP and OLAP. What is the difference between them?

【讨论】:

  • 将在 Web 前端显示的配置文件,用户可以在其中编辑和更新某些字段。一些字段是从数据仓库中引入的,这些字段是固定的,用户无法编辑,这些字段来自 HR DB 和其他 DB 等主要源 DB。当用户向 DW 提交配置文件并被另一个称为版主的用户接受时,配置文件将链接到 DW 并更新/删除/编辑。
  • 我在星型模式中设置它的原因是因为personalID 与DepJob 具有一对多关系,与Research project 具有一对多关系,类似ResearchArea 和StudentSupervisor。如果我要放入一个标准化表格,我将为每个个人 ID 重复 20/30 次个人信息。在解释了这一点之后,使用标准化表是否仍然是最佳做法,如果是这样,您能解释一下这样做的好处吗?抱歉,这是我第一次遇到这样的问题,这个提要真的对我有帮助,所以谢谢!
  • @LaurenBuxton 正确规范化的数据库可以最大限度地减少数据的重复。如果您在规范化模型中发现您正在存储重复数据,那么它实际上并没有被规范化。如果一个人可以拥有多个研究项目,在标准化模型中,您只需将外键从 ResearchProject 放入 Person。如果关系实际上是多对多的,则只需创建一个名为 PersonResearchProject 之类的表,该表将包含 Person 的外键和 ResearchProject 的外键。
  • 嗨乔,希望你不介意我这么叫你,谢谢你回来找我。上图中的结构是标准化的,没有重复,但我认为这就是你所说的维度,有点困惑。这是否是用于 Web 应用程序的数据库的最佳方法?维度模型和归一化有什么区别?
  • 别担心,这是我的名字。 :) 我会说我们已经超越了这个网站的职权范围 - 我建议查找一些关于数据库规范化的教程。例如:studytonight.com/dbms/database-normalization.php。规范化为第 3 范式或更高范式的数据库是关系应用程序数据库的黄金标准,对于您的案例来说,这将是一个非常简单的模型。我建议您阅读,尝试一下,如果遇到困难,请提出一个新问题(向我们展示您到目前为止所拥有的内容)。
猜你喜欢
  • 2010-09-14
  • 2011-11-01
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
相关资源
最近更新 更多