• 事实表和维度表之间的区别?

    在阅读有关业务对象的书时,我遇到了术语事实表和维度表。 我想了解维度表和事实表之间的区别是什么? 我在互联网上阅读了几篇文章,但听不清。 有任何简单的例子可以帮助我更好地理解吗? 最佳答案 这是为了回答这一部分: 我试图了解维表是否可以是事实表   还是不? 简短的回答(INMO)为否。这是因为创建两种类型的表的原因不同。但是,从数据库设计的角度来看,维表可以有一个父表,而事实表总是有一个维表(或更多)作为父表。同样,事实表可以汇总,而维表不汇总。另一个原因是事实表不应被适当地更新,而维度表在某些情况...
  • 将历史数据存储在单独的事实表中

    我是一个新手,当谈到数据仓库项目时,我想在这里寻求社区的建议。我需要创建一个数据仓库,从中可以以最有效/最便宜的方式提取历史和当前信息。在这个特定的例子中,我们处理的是网站用户和偏好。我们有一个Users表,一个名为Preferences的属性表(名为Preferences和ID),然后是一个名为userpreferences的连接事实表。与其将所有历史记录和首选项更改/删除/添加存储在User_preferences表中(可能是百万行中的100s),不如使用两个表,一个用于当前首选项,另一个具有所有首选项...
  • PostgreSQL:有效地将数据加载到Star Schema中

    想象一下PostgreSQL 9.0上有一个具有以下结构的表:create table raw_fact_table (text varchar(1000)); 为了简化,我只提到一个文本栏,实际上它有十几个。这个表有100亿行,每列有很多重复项。该表是使用COPY from从平面文件(csv)创建的。为了提高性能,我希望转换为以下星型架构结构:create table dimension_table (id int, text varchar(1000)); 然后,事实表将替换为如下事实表:create ...
  • 从仓库事实表中获取成功/失败比率的最佳查询

    我正在尝试微调一个查询,希望得到一些反馈。我有一个仓库表,其中包含作业最终事件的度量单位(job_fact)。我试着对这个事实进行一个查询,这将给我一个成功/失败的比率。以下是我目前掌握的情况:SELECT CASE WHEN jf.final_event_type IN (4,6,8,9) THEN count(final_event_type) END as num_failures, CASE WHEN jf.final_event_type IN (5,7,10) THEN count(fi...
  • Firebase:在NoSQL中使用维度/事实表设计是个好主意

    所以我想知道,NoSQL的一个缺点是:如果前端应用程序发生了巨大变化,那么我将不得不花费大量的时间来重新构建数据库。这是因为NoSQL在设计时首先考虑了前端。因此,如果前端发生变化,则后端发生变化(至少这是总体思路) 所以我的想法是,将我的所有原始/纯文档副本存储在多个根集合中是否明智?然后创建“视图”集合,这是我的应用程序将调用的集合。我喜欢的是,如果我需要更改前端,则我的数据始终是根“ SQL”。但是我的“视图”实际上是我的应用程序将使用的视图。 这很像人们使用的维度/参考表和事实表设计。 再次产生此想...
  • 维度表中的事实表具有1到1的关系

    我有几张桌子,它们是维度和事实。例如,我有“应用程序”表(每天2000万行或每天+ 100磅),我有“合同”表(每天500万行或每天+ 10-20磅),两者都有共同的词典(客户,银行,RiskResult) ,等等)一个合同可以是一个以上的应用程序,因此合同应用程序是Dimension,我需要分析use Application属性,但是我也需要分析应用程序,例如,今天创建了多少应用程序,删除了应用程序中的希望金额与实际金额之间的差额,等等。存在表事务,其中一个合约有很多行,因此对于转换合约来说就是维。我所做...
  • 时间跨度累积事实表设计

    我需要设计一个星型模式来处理订单处理。订单进度如下所示: 客户C在数量为100的物料I上下订单 F1工厂接受数量为30的部分订单 F2工厂接受数量为20的部分订单 从市场购买50件 F1交付20件 F1交付7件 F1取消合同(我们需要从市场上再购买3件商品) F2交付20件 从市场购买3件 完成订单 在这种情况下,如何设计事实表,因为步数不固定,所以事件的数据类型不相同。 对不起,我的英语不好。
  • 如何将来自两个不同数据库的事实合并到Datawarehouse中的Fact表中?

    我有两个不同的数据库A和B.我想在我的数据仓库中创建事实表,该表由两个数据库中的事实组成。即我想从两个数据库中创建一个事实。我想在事实表中创建“收入”列,该列将包含来自DB-A的收入,即Quantity * Product_retailprice,对于DB-B,它将是“开票金额”。 我是Datawarehouse的新手,如果可以实现此目的,请提供建议/解释。 我在数据库中的属性如下所示: Database A A_Product -> ProductID, Product_retail_price A_Or...
  • BI-具有不兼容纹理的事实表设计

    我对BI设计数据库很陌生,在某些方面我不太了解。 我正在尝试导入法国人口普查数据,我在其中获取每个城市的人口。对于每个城市,我都有不同年龄段的人口,它们之间并没有真正的联系。 例如,假设一种分类是00到20岁,21到59和60+ 另一种是更精确的方法:00到02、03到05等,但是范围永远不会与第一个分类相同:例如,我没有15到20,而是18到22。 因此,这两个分类是不兼容的。如何在事实表中使用它们?我应该使用2个事实表和2个多维数据集吗?我应该使用一个事实表,为1个多维数据集使用2个维度吗?但是在这种情...
公众号
码农俱乐部
关注公众号订阅更多技术干货!