在我的存储数据模型中,我得到了以下关系:
root_tbl -- 1:n -- entry_tbl -- n:1 -- action_tbl
还有一些表格,但这涵盖了基础知识。好的,所以基本上根表中的一个 ID 在条目表中有几个数据集。
示例数据:
root_tbl:
ID_root ; Country ; FK_User ; FK_Product
1 ; UK ; 23 ; 31
2 ; NL ; 42 ; 01
entry_tbl:
ID_entry ; FK_root ; FK_Action ; Duration
1 ; 1 ; 42 ; 200ms
2 ; 1 ; 10 ; 94ms
3 ; 1 ; 9 ; 300ms
4 ; 2 ; 10 ; 322ms
5 ; 2 ; 30 ; 100ms
到目前为止一切都很好......使用这个数据模型很容易回答诸如有多少记录将“英国”作为国家和行动“10”等问题。现在我想把这些数据放到一个事实表中,但我的问题是这三个表的关系。例如,我是否会使用 entry_tbl 的记录作为事实,而不是每次计算国家、用户或产品时都必须在 ID 上进行选择不同。
事实表或多或少看起来像这样(想象一下字符串作为外键):
fact_tbl:
ID ; FK_Action ; Duration ; Country ; User ; Product
1 ; 42 ; 200ms ; UK ; 23 ; 31
1 ; 10 ; 94ms ; UK ; 23 ; 31
1 ; 9 ; 300ms ; UK ; 23 ; 31
2 ; 10 ; 322ms ; NL ; 42 ; 01
2 ; 30 ; 100ms ; NL ; 42 ; 01
这意味着我会有很多冗余数据。
这些解决方案有什么办法吗?事实表将包含 ~ 300 - 500m 行。
我希望你明白我的意思。如果有什么不清楚的随时问
问候托马斯