dimensional-modeling相关内容

在数百个表中查找相关列,以便将来进行关系识别

我正在使用 SQL Server 2016 从存储在 DB2 数据库中的 ERP 系统中提取信息.这有数千个表,其中没有键.从系统中提取表时,我希望能够识别表中匹配的列名,以便在构建维度时开始创建关系和键. 有没有办法创建一个查询来搜索我的数据库中的列名并列出使用该列名的每个表?我一直在使用 OPENQUERY 和 INFORMATION_SCHEMA.TABLES 来确定我想要拉过来的表, ..

为什么 NULL 值在事实表中映射为 0?

在事实表(维度建模的数据仓库)中的度量字段中,NULL 值通常映射为 0 的原因是什么? 解决方案 虽然您已经接受了另一个答案,但我想说使用 NULL 实际上是更好的选择,原因有几个. 第一个原因是,当存在 NULL 时,聚合返回“正确"答案(即用户倾向于期望的答案),但在使用零时给出“错误"答案.考虑这两个查询中 AVG() 的结果: -- 带零;给 1.5选择 SUM(meas ..
发布时间:2021-12-30 09:16:26 数据库

平面表的 Redshift 性能与维度和事实

我正在尝试在平面 OLTP 表(不在 3NF 中)上创建维度模型. 有些人认为不需要维度模型表,因为报告的大部分数据都呈现单表.但是该表包含的内容超过了我们需要的 300 列.我是否仍应将平面表分为维度和事实,还是直接在报告中使用平面表. 解决方案 当创建纯粹用于报告目的的表时(这是典型的数据仓库),通常创建宽,带有非规范化数据的平面表,因为: 查询更方便 它避免了对因果用户 ..

在数百张表中查找相关列,以供将来进行关系识别

我正在使用SQL Server 2016将信息从存储在DB2数据库中的ERP系统中提取出来。它具有成千上万个没有键的表。从系统中提取表时,我希望能够识别表中匹配的列名,以便在构建维度时开始创建关系和键。 有没有办法创建一个查询,该查询将在我的数据库中搜索列名并列出使用该列名的每个表?我一直在使用 OPENQUERY 和 INFORMATION_SCHEMA.TABLES 来确定要拉出的表,但 ..

如何在Kimball式数据仓库中对这种关系进行维度建模?

所以我在数据仓库中有两个维度: dim_machine -------- ----- 机器密钥 机器名称 机器类型 dim_tool ------------ 工具键 工具名称 机器类型 我要确保的是两个维度中的machine_type字段具有相同的数据。我应该在雪花与雪花之间创建第三个维度吗? 解决方案 我不确定到底是什么问题你想解决?这听起 ..
发布时间:2020-10-18 03:25:32 其他开发

事实表,其中包含可在源系统中定期更新的信息

我正在建立一个维度数据仓库,并学习如何从我的仓库中的源系统中为各种业务流程建模。 我目前正在为“出价”(工作出价)作为事实表从数据系统中的源系统中获取,其中包含以下信息: 出价金额 预计收入 销售员工 出价状态(有效,待处理,已拒绝等) 等。 问题是出价(或我尝试执行的大多数其他过程)模型)可以经历各种状态,并可以在源系统中的任何给定时刻更新其信息。根据Ralph Kim ..
发布时间:2020-10-18 03:20:52 其他开发

在Apache Hive的维度表中使用代理键或nk + effective_time是否更好

可以说,这里有一个SCD2尺寸表-位置。自然键是国家,州和城市的总和。由于它是SCD2表,因此eff日期也是键的一部分。 最好将替代键设置为usavirginarichmond20110101或使用row_number()创建实际的数字键 为什么一种方法优于另一种方法? 解决方案 (术语说明:自然键的组合称为“复合键”,而不是替代键,它仍然是“自然键”。替代键(又称合成键)是无 ..
发布时间:2020-10-18 03:20:47 其他开发

为什么在事实表中将NULL值映射为0?

在事实表(维度建模的数据仓库)的度量字段中,NULL值通常映射为0的原因是什么? 解决方案 尽管您已经接受了另一个答案,但出于一些原因,我想说使用NULL实际上是一个更好的选择。 第一个原因是当存在NULL时,聚合返回“正确”答案(即用户倾向于期望的答案),而当您使用零时,给出“错误”答案。在以下两个查询中考虑来自AVG()的结果: -值为零;给出1.5 选择SUM(度量), ..
发布时间:2020-10-18 03:15:54 数据库

平板的红移性能与尺寸和事实的关系

我正在尝试在平面OLTP表上创建尺寸模型(不在3NF中). 有些人认为不需要维模型表,因为报告的大多数数据都显示为单个表.但是该表包含的内容超出了我们所需的300列.我还是应该将平面表划分为维度和事实,还是直接在报表中使用平面表? 解决方案 仅出于报告目的创建表时(通常在数据仓库中使用),习惯上创建宽,具有非标准化数据的平面表,原因是: 查询更容易 它避免了因果关系用户可能会 ..

Inmon数据集市vs Kimball数据集市

是kimball和inmon之间的唯一区别,即Enterprise层(EDW).我四处搜寻,发现inmon还使用EDW创建数据集市.这是否意味着对于给定的业务流程和源系统,这两个数据集市在结构上都相似? 一旦这两个过程的数据集市都可以使用,它们是否具有相同的性能? 如果我错了,请纠正我,首先创建数据仓库,然后在其上创建维度模型以用于特定的业务需求.(ER模型到维度模型) 我找不到 ..
发布时间:2020-07-21 02:27:04 其他开发

星型模式设计中的维表类型是什么?

在阅读有关星型架构设计的文章时,我发现许多人为不同类型的维度表使用了不同的名称. 请列出每种类型的名称和简短说明.如果有的话,还有一个别名. 解决方案 到目前为止,我已经遇到过以下类型的维度表: 常规尺寸 标准星形尺寸. 时间维度 标准星标尺寸的特例. 父子维度 用于建模层次结构,FX BOM(物料清单). 雪花尺寸 也可以用于建模层次结构. 退 ..

非正规化时的深度有多深

我将OLTP数据库非规范化以用于DWH. 目前,我正在使研究组不规范. 每个研究组都有一个指向一个项目的钥匙. 每个项目都有一个指向1个部门的密钥. 每个系都有一个指向一所大学的钥匙. 每所大学都有指向一个城市的钥匙. 现在我知道您应该对OLTP的sh * t进行规范化处理,但是在这个dwh部门中,它将是一个独立的维度.这也适用于大学.从研究组添加指向部门的密钥就足够了吗?还是尽 ..

针对IT支持业务的OLAP多维数据集设计参考

我们正在为IT支持业务设计一个维度模型.某些情况(某些情况称为票证或事件)具有不同的状态(如SCD II型维度) 我们还需要考虑案例数和SLA持续时间作为度量. 在进行详细设计之前,我回顾了 Kimbal的数据仓库工具包,但找不到与我们的项目匹配的业务.此类业务的尺寸模型是否有参考文献 解决方案 从您有限的信息中看来,您似乎希望将其建模为累积快照事实(以及交易表).请参阅Kimbal ..
发布时间:2020-05-19 22:04:27 其他开发

在Qlikview中处理多个事实表

我有一个PostgreSQL数据库,包含各种教育数据,如学校水平考试成绩和入学人数。我需要将注册和测试分数分开,因为数据是在不同的谷物。即使注册与测试分数据的粒度不同,但许多维度是相同的。例如,我有: 〜------------------- -------------------------------------------------- ------------〜 |测试成绩| ..

星型设计

是数据仓库必不可少的星型架构设计吗?或者你可以用另一种设计模式来做数据仓库吗? 解决方案 使用星型模式获得了几个好处,在大多数情况下,它们适合用于顶层。您还可以具有操作数据存储(ODS) - 保存“当前状态”的标准化结构,并且有助于诸如数据构造的操作。然而,有合理的情况,这是不可取的。我有机会建立和不使用ODS层的系统,并且在每种情况下有选择架构的具体原因。 没有进入数据仓库的子类架 ..