Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Tuple-versioning
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Mechanism in a some relational databases to store past states of a relation}} {{Multiple issues| {{no footnotes|date=October 2013}} {{refimprove|date=October 2013}} }} {{Use dmy dates|date=July 2024}} '''Tuple-versioning''' (also called '''point-in-time''') is a mechanism used in a [[relational database management system]] to store past states of a [[Relation (database)|relation]]. Normally, only the current state is captured. Using tuple-versioning techniques, typically two values for time are stored along with each [[tuple]]: a start time and an end time. These two values indicate the validity of the rest of the values in the tuple. Typically when tuple-versioning techniques are used, the current tuple has a valid start time, but a [[Null character|null]] value for end time. Therefore, it is easy and efficient to obtain the current values for all tuples by [[database query|query]]ing for the null end time. A single query that searches for tuples with start time less than, and end time greater than, a given time (where null end time is treated as a value greater than the given time) will give as a result the valid tuples at the given time. For example, if a person's job changes from Engineer to Manager, there would be two tuples in an Employee [[Table (information)|table]], one with the value Engineer for job and the other with the value Manager for job. The end time for the Engineer tuple would be equal to the start time for the Manager tuple. The pattern known as [[log trigger]] uses this technique to automatically store historical information of a [[Table (database)|table]] in a [[Relational database|database]]. ==See also== * [[Temporal database]] * [[Bitemporal data]] * [[Log trigger]] ==References== * {{cite journal |url=http://portal.acm.org/citation.cfm?doid=319806.319816 | doi=10.1145/319806.319816 | title=Comparison of access methods for time-evolving data | date=1999 | last1=Salzberg | first1=Betty | last2=Tsotras | first2=Vassilis J. | journal=ACM Computing Surveys | volume=31 | issue=2 | pages=158β221 }} [[Category:Data modeling]] {{comp-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Asbox
(
edit
)
Template:Cite journal
(
edit
)
Template:Comp-stub
(
edit
)
Template:Compu-stub
(
edit
)
Template:Multiple issues
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)