Abstract: Computer programs embodied in computer-readable media that can use canonical schemas to persist data from non-temporal tables, effective-time tables, assertion-time tables, and bitemporal tables, and that can enforce temporal integrity constraints on those tables, are provided. In one embodiment, the canonical schemas are used by database tables. In another embodiment, they are used by the physical files which persist data from those tables. Temporal metadata is used to express temporal requirements. Thus, uni-temporal, bitemporal, and temporally-enabled non-temporal tables can be generated without altering existing data models or designing temporal features into new data models. Support is also provided for managing temporal data that exists in future assertion time, and for using episodes to enforce temporal referential integrity.
Abstract: Computer programs embodied in computer-readable media that can use canonical schemas to persist data from non-temporal tables, effective-time tables, assertion-time tables, and bitemporal tables, and that can enforce temporal integrity constraints on those tables, are provided. In one embodiment, the canonical schemas are used by database tables. In another embodiment, they are used by the physical files which persist data from those tables. Temporal metadata is used to express temporal requirements. Thus, uni-temporal, bitemporal, and temporally-enabled non-temporal tables can be generated without altering existing data models or designing temporal features into new data models. Support is also provided for managing temporal data that exists in future assertion time, and for using episodes to enforce temporal referential integrity.
Abstract: Computer programs embodied in computer-readable media for managing temporal data in relational databases are provided. According to one embodiment, a computer program comprises logic for storing temporal data in tables stored in a database and using a single schema. The schema includes a first column designating an identifier of an object represented in a row of a table and columns designating an effective-time period. For a past effective-time period, the state of the object as it existed is described by atemporal data in the row. For a present effective-time period, the present state of the object is described. For a future effective-time period, the state of the object as it will exist is described by the atemporal data. Additional logic stores additional data in the tables, such as business data describing the state of the object.