The calendar database may be hierarchical to represent the varying length of the time periods being scheduled. Each database level is used to represent the time units, such as years, quarters, months, weeks, etc.
When doing a schedule over many years, the early years are often more critical than the later years. Consequently, the early years could be divided into smaller time periods, such as months and weeks. For later years in the schedule, the time periods could be much longer, so quarters and years would be the most detail required.
The diagram below illustrates an example structure of a hierarchical calendar database. The first year has been divided into four quarters. The first two quarters have each been divided into three months. The levels in the calendar database for this example would be Year, Quarter and Month.