Большинство баз данных поддерживают некоторый тип данных TIMESTAMP плюс ассоциированные функции DAY (), MONTH (), DAYOFWEEK ().
Единственная действительная причина для отдельных столбцов DAY или HOUR в отдельной таблице - это если у вас есть вычисленные итоги и средние значения для каждого временного интервала.
Даже тогда это того стоит, если вы ожидаете многофильтрация основана на этих значениях, поскольку стоимость создания этих таблиц высока, и для большинства запросов стандартный SQL «GROUP BY ... HAVING ..» будет работать достаточно хорошо.
Похоже, вас может заинтересовать "STAR SCHEMA" wikipedia распространенный метод хранения данных для ускорения запросов - но будьте осторожны, проектирование и создание Star Schem - это нетривиальное упражнение.