I am building an analytics database (I have a firm understanding of the data and the business objectives and only basic-to-moderate database skills).
I have come acr
In the data warehouses I built I was using separate CALENDAR and TIME_OF_DAY dimensions. The first dimension has a 1 day day granularity and the second one - 1 minute granularity.
In two other cases I knew beforehand that no reporting would be required at the granularity smaller than 15 minutes. In that case for simplicity I was using a single CALENDAR dimension with 96 records per day.
I was using this approach in the Oracle warehouses so far, but I might be involved in a PostgreSQL warehouse project this summer.