こんな形のテーブルは、「今日有効な料金設定はどれだっけ?」をとってくるには問題ないですが、月次データ集計などで他のイベントテーブルとジョインして処理しようとすると面倒です。 OracleにはMODEL句というあまり現場で使われているのを見かけない機能があり、これを使うとダミーのView的なものが簡単に作れます。 http://codezine.jp/article/detail/3091 年分のカレンダーは以下のようなSQLで作れます。 SELECT c1 FROM dual MODEL dimension by (1 as rn) MEASURES (sysdate as c1) rules iterate (365) (c1[ITERATION_NUMBER]=SYSDATE-ITERATION_NUMBER) ORDER BY 1