目前,我正在开发一个开源的Business Intelligence
软件从零开始使用PHP/MySQL的时间机器。时间机器的商业智能(PHP/MySQL的)
我的时间机器表是由需要最新信息(如订单,产品等),他们与time_id
结合所有其他表使用。因此,它的MySQL表是这样的:
time_id | timestamp | day | week | month | quarter
1 1303689654 25 17 4 2
2 1303813842 26 17 4 2
...
Order表结合这样的:
order_id | time_id ...
3123 2
...
编辑:它类似于STAR SCHEMA。
问题出在时间(13:45)信息。通常我不需要这个,但是和订单一样,有时候一些表需要这个HOUR/MINUTE信息。
我该如何巧妙地解决这个问题?我有几个解决方案,但首先我想看看你的意见..
看起来像一个设计缺陷。使所有其他表依赖于时间表。为自己做个忙,用简单的时间戳替换time_id列。并添加将这些信息分析到您需要的各个组件的逻辑。 – netbrain 2011-05-03 08:17:10
我不明白这个的目的。为什么不使用'DATETIME'字段?您可以从中提取所有其他信息(日,周,月...)。 – 2011-05-03 08:18:31
@netbrain - 我使用此表进行实时分析(BI)。所以这就像启动模式。所以我必须这样做。 – dino 2011-05-03 08:22:25