Although temporal data is part of many business applications, most RDBMS’, including SQL Server, do not support it out of the box. However, SQL Server provides full infrastructure to build your own temporal data support. After introduction of temporal problems, we are going to develop interval CLR data type that supports validity time. Then we are going to discuss what kind of constraints pertain to temporal data, and how we can implement those constraints. We are going to use T-SQL to develop two very useful temporal operators: PACK and UNPACK. In addition, we are going to introduce the proposed sixth normal form that deals with temporal data, and show how you can implement it correctly.