如何结合用户设备数据和事实表设计?

时间:2015-07-02 06:07:13

标签: database database-design data-modeling data-warehouse

需要存储以下信息:

  1. 用户设备数据,如设备ID,设备品牌,screan尺寸,类型(个人电脑,平板电脑,手机)。
  2. 实际情况,如odrder id,总成本,货物数量,货物ID等。
  3. 如何放置用户设备数据 - 事实或维度表?

    如果我把它放到事实表中,我有很多重复,例如每行必须包含有关设备的详细信息,对于一个用户来说大致相同。

    如果我把它放到dimesion表中,我必须更新维度表 - 添加新设备或更新旧版。

    重要请注意,分析系统设计不仅要分析用户行为,还要查看数据未收集的位置。因此,当不同的应用程序版本提供不同的“完整性”时,可能存在这样的情况。信息 - 第一版收集50%的用户设备,第二版 - 75%,第三版 - 99%。所以我必须更新(不仅插入)设备表中的数据。

1 个答案:

答案 0 :(得分:0)

您需要至少两个维度,例如UserDevice以及Snowflake架构。用户维度应引用具有设备ID的设备表。

User 会保留一份用户列表。它将使用foreign key来引用Device表(例如设备ID)。您可以选择任何SCD类型来处理数据更改。但与所有设备字段都在一个表上相比,它肯定会更好。

Device 表格将包含不同类型的设备及其属性。

事实上,只需要在用户表中引用(UserIDDeviceID)组合。