Conventional database management systems (DBMS's), in representing the state of an enterprise at a single point in time, do not provide support for storing or accessing time-varying data. In this project, the issues involved in the implementation of temporal DBMS's that provide such support are investigated. The adopted approach is the architectural refinement of a three-level store: one containing current data, one containing data concerning the past (and future), and one containing data that has been corrected. The impact of these refinements on all components of a temporal DBMS are to be studied, paying especially close attention to storage structures, concurrency control, and interaction between the main memory cache manager and the asynchronous archive manager. Simulation is used where possible, with a model built on an extensible DBMS when implementation experience and empirical data are desired. The goal is to develop techniques that will add to conventional DBMS's the ability to efficiently perform operations involving time while not impacting the performance of conventional queries. This research will provide theoretical basis and understanding of temporal database system, as well as practical applications in areas beyond database community, e.g. software engineering as concepts developed may form the basis for programming environment, helping to manage versions or concurrency control.