他のディメンションと同様に、OLAPキューブの時間ディメンションを独自のテーブルに含めるのが一般的な方法のようです。
私の質問は:なぜですか?
キューブ自体に列を設定する代わりに、外部キーでキューブと結合されたtime_dimension
テーブルを作成することの利点がわかりません。(int, timestamp)
time_id
timestamp
主に、時点は不変で一定であり、それらは独自の値です。特定のに関連付けられた値を変更する可能性はほとんどありませんtime_id
。
さらに、timestamp
列の型は4バイト幅(MySQLの場合)であり、int
そうでない場合は通常キーとなる型であるため、スペースを節約することもできません。
私の同僚とこれについて話し合う際に、私が思いついた唯一のいくぶん賢明な議論は、他の次元との適合性です。しかし、私はこの議論がかなり弱いと思います。