WO1998041935A2 - Method and device for management of time-related information in a database - Google Patents
Method and device for management of time-related information in a database Download PDFInfo
- Publication number
- WO1998041935A2 WO1998041935A2 PCT/SE1998/000482 SE9800482W WO9841935A2 WO 1998041935 A2 WO1998041935 A2 WO 1998041935A2 SE 9800482 W SE9800482 W SE 9800482W WO 9841935 A2 WO9841935 A2 WO 9841935A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- data element
- data record
- data
- information relating
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Definitions
- the present invention relates to a method and a device for managing a data record, preferably in a database, comprising one or several data element values which are digitally stored in a memory area, as well as a computer-readable data medium for storing software which implements said method and device. More specifically, the present invention relates to a method and a device for managing time-related information in data- bases.
- information packets which in various ways are related to one another in data- bases.
- information about e.g. a product is stored in a so-called data record comprising one or several data element types, or attributes, as well as a number of data element values, or attribute values, associated with the data element types.
- Price for a product
- article number for the same product
- 100 the price of the product in currency units
- 125 the article number
- US 5 600 832 describes another example of prior art, in which a variant of an entity called "processor" which is to be updated/changed is stored in a newly created version. The old version remains, containing the out-of- date variant. In addition, for each variant, time data is stored indicating the time intervals during which the respective version was relevant.
- processor an entity which is to be updated/changed
- One object of the invention is to create a data storage system which provides a safe and efficient method for answering various types of time-related questions.
- Another object of the invention is to provide the possibility for easy retrieval and study of the contents of a data storage system that that system had at a certain moment in time.
- a further object of the invention is to provide a system which has a dynamic relationship to old information in the system and not a static one, as is the case in connection with traditional back-up methods.
- Yet another object is to provide a data storage sys- tern which makes it possible for the user easily to derive data about changes which have been made to the contents stored.
- a method for managing a data record preferably in a database, comprising one or several data element values which are digitally stored in a memory area, which method comprises the steps of: digitally storing, in said data record, information relating to the valid time of the data element values and to the points in time when the data element values have been changed; storing, in a transaction table related to the data record, information relating to the valid time of the data element values and to the points in time when the data element values have been changed; creating a new instance of the data record when an existing data element value of an existing instance of the data record is to be changed to a new data element value, said existing data element value becoming an older data element value and said existing instance of the data record becoming an older instance of the data record; storing the new data element value in the new instance of the data record and saving at least the older data element value in the older instance of the data record; and creating a new instance in the transaction table each time a data element value is changed in the data record, wherein both
- a transaction table related to the data record whose con- tents provide information about the changes which have taken place in the data record itself.
- the data record itself and its instances can be said to provide a picture of the contents of the information over time, i.e. a picture of the current information seen over time, while the transaction table provides a picture of the changes to the data record over time.
- the invention affords a freedom of choice in connection with answering time-related questions, i.e. depending on the nature of the question, the question is directed either to the data record or to the transaction table (or both) .
- the question is suitably directed to the data record itself, while for other types of questions, e.g. relating to whether a change was retroactive or proactive, the question is suitably directed to the transaction table.
- the choice of whereto direct a certain question is, of course, also based on criteria such as what is quickest, what is least time-consuming, what requires the least amount of resources, or the like.
- time-related questions which could be answered with the aid of the data record as well as the transaction table, but which for reasons of expediency are preferably directed to one of the two.
- the question "which was the first value assigned to the data element" could be answered with the aid of both the data record and the transaction table, but the answer is generally easier to obtain from the transaction table.
- information relating to the valid time of one or several instances is stored in both the data record and the transaction table.
- One reason for this is to make it possible for the system to determine which instance of the data record is current at the moment, for example to enable the system to answer questions such as "what is the price of product A at time B?".
- information is stored which relates to when the data element value itself has been changed (when a new instance of the data record has been created) .
- One reason for this is to enable the system to answer questions such as "during what time period did the database 'believe' that price A was to be valid until further notice?"
- the information related to the valid time of a data element value is stored in the form of a time interval with a start time and an end time, the end time optionally being capable of assuming an indefinite value to enable the database to handle valid times of the type "valid until further notice".
- the end time of the valid time is indefinite, it can be given a definite value once the data element value has been changed, if the data element value which was valid until further notice has now been given a definite end time.
- the information relating to when a data element value was changed is stored in the form of a time interval with a start time and an end time, the end time optionally being capable of assuming an indefinite value. If, for example, at a time 1, a new data record is created which is to comprise the data element types "article number” and “price” as well as a definite article number (e.g. 100) and a definite price (e.g. 1500) as data element values, and these data element values (100, 1500) are to be valid until further notice, the start time for the interval relating to when data element values have been changed is given the value 1 and the end time assumes an indefinite value.
- more than one instance of a data record is created when data element values in the data record are changed, for example a new instance for storing information about the new valid time of the old data element value and a new instance for storing information about the new valid time for the new data element value.
- the information relating to when data element values have been changed is stored in the form of points in time and not in the form of intervals in the above-mentioned transaction table.
- information about the types of changes which said changes relate to is stored in the transaction table, preferably in the form of the commands or instructions used for ordering said changes.
- an identification code is saved in the transaction table, which code identifies who ordered a certain transaction in the database. This may be very important in terms of system security.
- an event time is stored in the transaction table, i.e. the time when a certain event reflected in the database happened in reality, for example when the actual decision was taken about a certain change which was later implemented in the data record.
- This feature makes it possible, for example, to check the length of the delay between when something happens in reality and when the event is reflected in the database.
- Figs la-Id are tables illustrating the contents of a data record and of a transaction table related to the data record, which implement the present invention.
- Figs 2a-2d are tables illustrating the contents of a data record in a conventional database at times corresponding to those for the record in Figs la-Id.
- Fig. 3 shows a device according to the present invention.
- Fig. 4 is a flow chart illustrating a method of operation according to the present invention.
- Fig. la shows a data record comprising five data element types: the article number for a product
- ART.NO. the article name (ART .NAME) ; the price of the product (PRICE) ; the valid time (VT) and the transaction time (TT) , as well as a transaction table related to the data record comprising seven data element types: the article number of the product (ART.NO'); the article name (ART.NAME'); the price of the product (PRICE'); the valid time (VT' ) ; operation performed (OP' ) ; event time (ET' ) and transaction time (TT' ) .
- valid time refers to the time when the information about the product in the respective instance of the data record, is, was, or will be valid or "true".
- the valid time is indicated in the form of a time interval.
- this example illustrates an implementation of the inven- tion in a context where the data element value of only one data element type changes, viz. the price, but the invention is equally applicable in a context where several data element values change.
- transaction time refers to the time when the information in the respective instance of the record was or is the most current.
- the transaction time is indicated as time intervals in the data record and as points in time in the transaction table .
- Event time refers to the time when an event reflected in the database happened in reality, preferably the time when the actual decision was taken about the change which is reflected in the respective instance of the data record/transaction table.
- operation refers to the operation carried out on the data record to change the same, for example whether the change related to the creation of a new data record, the up-dating of an existing data record, or the like.
- the data record shows, from left to right, the article number (100) of the product, the article name ("nail"), the price of the product (1000), the valid time for the price (1, ⁇ ), which is to be understood to signify that the price is valid from the time 1 until further notice, and the transaction time for the price (2, ⁇ ), which signifies that the price is to be considered to be the most current from the time 2 until further notice.
- the transaction table in Fig. la shows, from left to right, the article number (100) of the product, the article name ("nail"), the price (1000), the valid time for the price (1, ⁇ ) , the operation carried out on the data record ("INSERT"), the time (1) when the decision was taken to carry out the operation and the actual transaction time (2) , which signifies that the decision was implemented in the database at the time 2.
- Fig. lb shows the contents of the data record and the transaction table if subsequently, at the time 10, we were to take the decision to raise the price to 1500 and that this is to be valid retroactively from the time 8 onwards, and if the corresponding transaction is implemented in the database at the time 12.
- the old contents of the data record are saved unchanged in the old instance of the data record, with the exception that the transaction time TT for the old instance has been changed to [2, 12) , which signifies that, until the time 12, the database itself "believed” that the price 1000 was to be valid from the time 1 until further notice.
- a first new instance of the data record is created and stored, which with respect to article number, article name, and price is identical to the old instance but which in the data element value for valid time VT instead contains [1,8), which signifies that the database now (from the time 12 onwards), after the fact, "knows” that the price 1000 is valid for the time interval from the time 1 to the time 8, and which in the data element value for transaction time TT has stored [12, ⁇ ) , which signifies that the database "knows about” this price situation (the price 1000 between the times 1 and 8) from the time 12 onwards.
- a second new instance of the data record is stored with the article number 100, the article name "nail”, the price 1500, the valid time [8, ⁇ ) , which signifies that the price 1500 is valid from the time 8 onwards, and the transaction time [12, ⁇ ) , which signifies that the data- base “knows about” this price situation from the time 12 and will continue to "believe” this unless “informed” otherwise.
- the above-mentioned first and second new instances of the data record are automatically created by the system as a direct result of the user initiating a change. In other words, the user is not required to take any specific action to create the new instances of the data record. Accordingly, the fact that new instances of the data record are created according to the invention does not mean any additional work for the user.
- Fig. lc shows the respective contents of the data record and the transaction table after a decision was taken at the time 20 about a temporary price reduction to the price 1200, which is to be valid from the time 25 to the time 31, after which the price will again be 1500, and after the change has been implemented in the database at the time 21.
- a first new instance with the price 1500, the valid time [8, 25) which signifies that the price 1500 is valid from the time 8 until the time 25, and the trans- action time [21, ⁇ ) which signifies that from the time 21 onwards, the database "knows” that the price 1500 is valid between the times 8 and 25
- a second new instance with the price 1200, the valid time [25, 31) which signifies that the price 1200 is to be valid from the time 25 until the time 31, and the transaction time [21, ⁇ ) which signifies that the data- base “knows” that the price 1200 is to be valid during the above valid time from the time 21 onwards
- a third instance with the price 1500, the valid time [31, ⁇ ) which signifies that the price 1500 is to be valid from the time 31 onwards, and the transaction time [21, ⁇ ) , which signifies that the database "knows” that the price 1500 is to be valid during the above valid time from the
- Fig. Id shows the respective contents of the data record and the transaction table if, after the action mentioned above, one decides, at the time 35, to eliminate the article 100 from the product range, and if one carries out the corresponding transaction in the database at the time 36.
- Figs 2a-d show the contents of a conventional data record in a database when the same price and product range modifications are carried out which were carried out with the database according to the present invention.
- the conventional database does not comprise a transaction table and, in addition, no new memory area is allocated to the data record when a change takes place in it, instead one simply overwrites the old contents.
- the data records contain three data element types: article number, article name, and the price of the article.
- Fig. lb shows the contents of the data record after the time 12, the first two data element values remain unchanged but the price is changed to 1500.
- FIG. 2c shows the contents of the data record after the time 21, here, too, the price is the only value that has changed, but this time to 1200.
- Fig. 2d shows the contents after the time 35 when the price is again 1500. It should be noted that, in this case, one must order the operation externally at the time 35, i.e. bring the price back to 1500, which, as described above, is not the case in connection with the database according to the present invention where the database itself "remembers" to change the price. After the time 36 (the deletion of the article) we no longer have any information about the article with the number 100, in other words, we have lost the entire history of the deleted article.
- Fig. 3 shows a computer system 10 which can be used for implementing the present invention.
- the computer system 10 comprises a central processing unit 16 with which a user can work by the intermediary of a user interface in the form of a monitor 12 and a keyboard 14.
- the central processing unit 16 communicates with a database 20 which stores data records with instances thereof according to the invention, and with a storage means 18 which stores transaction tables related to the respective data record, of which a data record with an associated transaction table could, for example, be the ones described with reference to Figs la-Id.
- the central processing unit effects changes to the database and the transaction table in the desired manner according to the above description.
- the central processing unit 16 directs the question to the suitable unit, i.e. to the data record or to the related transaction table, and delivers the answer to the user by the intermediary of the monitor 12.
- Fig. 4 shows a flow chart in connection with the answering of a database-related question according to an embodiment of the invention.
- the flow chart in Fig. 4 is carried out by the central processing unit 16 in Fig. 3.
- the central processing unit receives a question from a user. If the question is time-related and relates to a data record, the central processing unit determines in step S12 whether the question relates to the actual contents of the data record at a given time or to a change in the contents of the data record. If the question relates to a change, the question is directed, in step S16, to the transaction table related to the data record in the stor- age means 18, after which the answer is returned in step S18 to the user by the intermediary of the monitor 12.
- the question relates to the state of the data record at a given time
- the question is directed, in step S14, to the data record itself in the database 20, after which the answer is returned, in step S18, to the user by the intermediary of the monitor 12.
- the central processing unit 16 returns to the step S10 to receive the next question.
- valid time and the transaction time which in the embodiment described are stored in the form of data element values in the data record, it is also envisaged that these could be stored in some other location and have pointers to the record instance or instances to which they apply.
- valid time and transaction time may refer to data records as well as separate data element values.
- the system in which the present invention is implemented is preferably provided with means adapted to auto- matically create one or several new instances of existing data records when a user takes action to change one or several data element values in such an existing data record, and/or to change information relating to the valid time or the change time of the data element values.
- interfaces can be employed to facilitate the communi- cation between the system and the user, but these are not per se part of the present invention and, consequently, will not be described in more detail in this application.
- the interface could, of course, also be designed in many other ways.
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU64317/98A AU6431798A (en) | 1997-03-18 | 1998-03-17 | Method for updating data records in a database |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9700991A SE9700991L (en) | 1997-03-18 | 1997-03-18 | Procedure, device and medium for database management |
SE9700991-4 | 1997-03-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1998041935A2 true WO1998041935A2 (en) | 1998-09-24 |
WO1998041935A3 WO1998041935A3 (en) | 1998-12-10 |
Family
ID=20406215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SE1998/000482 WO1998041935A2 (en) | 1997-03-18 | 1998-03-17 | Method and device for management of time-related information in a database |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU6431798A (en) |
SE (1) | SE9700991L (en) |
WO (1) | WO1998041935A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2359154A (en) * | 2000-02-11 | 2001-08-15 | Int Computers Ltd | Database management |
US7395502B2 (en) | 2004-01-29 | 2008-07-01 | International Business Machines Corporation | System and method for processing dynamic data sets in web applications |
CN106844514A (en) * | 2016-12-28 | 2017-06-13 | 平安科技(深圳)有限公司 | A kind of page makeup method and terminal |
US20210020283A1 (en) * | 2019-07-19 | 2021-01-21 | Abinash Achrekar | Cloud-based method and system for extraction and display of clinically-relevant actionable patient data from multiple electronic medical records |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347653A (en) * | 1991-06-28 | 1994-09-13 | Digital Equipment Corporation | System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes |
US5581755A (en) * | 1995-01-31 | 1996-12-03 | Unisys Corporation | Method for maintaining a history of system data and processes for an enterprise |
US5600832A (en) * | 1992-07-16 | 1997-02-04 | International Business Machines Corporation | Variant domains and variant maps in a versioned database management system |
-
1997
- 1997-03-18 SE SE9700991A patent/SE9700991L/en not_active Application Discontinuation
-
1998
- 1998-03-17 WO PCT/SE1998/000482 patent/WO1998041935A2/en active Application Filing
- 1998-03-17 AU AU64317/98A patent/AU6431798A/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347653A (en) * | 1991-06-28 | 1994-09-13 | Digital Equipment Corporation | System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes |
US5600832A (en) * | 1992-07-16 | 1997-02-04 | International Business Machines Corporation | Variant domains and variant maps in a versioned database management system |
US5581755A (en) * | 1995-01-31 | 1996-12-03 | Unisys Corporation | Method for maintaining a history of system data and processes for an enterprise |
Non-Patent Citations (1)
Title |
---|
PATENT ABSTRACTS OF JAPAN; & JP,A,07 152 633 Ä(FUIT) FUJITSU LTD] 16 June 1995. * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2359154A (en) * | 2000-02-11 | 2001-08-15 | Int Computers Ltd | Database management |
GB2359154B (en) * | 2000-02-11 | 2003-10-22 | Int Computers Ltd | Data processing |
US6725242B2 (en) | 2000-02-11 | 2004-04-20 | Fujitsu Services Limited | Multiple-computer data processing system and method with time-versioned data storage |
US7395502B2 (en) | 2004-01-29 | 2008-07-01 | International Business Machines Corporation | System and method for processing dynamic data sets in web applications |
US8136036B2 (en) | 2004-01-29 | 2012-03-13 | International Business Machines Corporation | System and method for processing dynamic data sets in web applications |
CN106844514A (en) * | 2016-12-28 | 2017-06-13 | 平安科技(深圳)有限公司 | A kind of page makeup method and terminal |
WO2018120430A1 (en) * | 2016-12-28 | 2018-07-05 | 平安科技(深圳)有限公司 | Page construction method, terminal, computer-readable storage medium and page construction device |
CN106844514B (en) * | 2016-12-28 | 2020-02-21 | 平安科技(深圳)有限公司 | Page construction method and terminal |
US20210020283A1 (en) * | 2019-07-19 | 2021-01-21 | Abinash Achrekar | Cloud-based method and system for extraction and display of clinically-relevant actionable patient data from multiple electronic medical records |
Also Published As
Publication number | Publication date |
---|---|
AU6431798A (en) | 1998-10-12 |
SE9700991D0 (en) | 1997-03-18 |
WO1998041935A3 (en) | 1998-12-10 |
SE9700991L (en) | 1998-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5546580A (en) | Method and apparatus for coordinating concurrent updates to a medical information database | |
US6226652B1 (en) | Method and system for automatically detecting collision and selecting updated versions of a set of files | |
US5924103A (en) | Works-in-progress in an information management system | |
US6353835B1 (en) | Technique for effectively maintaining materialized views in a data warehouse | |
EP1116139B1 (en) | Method and apparatus for reorganizing an active dbms table | |
US5664129A (en) | Visual programming method | |
US5613106A (en) | Method for processing and storing a transaction in a distributed database system | |
US6268850B1 (en) | User interface for the specification of lock groups | |
US7290214B2 (en) | Independent deferred incremental refresh of materialized views | |
WO1999005622A1 (en) | Method and apparatus for producing sequenced queries | |
JP2002528788A (en) | Model impact analysis | |
EP0740258B1 (en) | Data management system | |
US4979109A (en) | Method of controlling a data dictionary directory system in a data base system | |
US20030195893A1 (en) | Parallel database record distribution method and parallel database management system | |
JP3991760B2 (en) | Database management method and apparatus and processing program therefor | |
WO1998041935A2 (en) | Method and device for management of time-related information in a database | |
US6768985B1 (en) | Method and apparatus for administration of database partitions | |
JPH0640333B2 (en) | Checking method of medical contents | |
Hasman et al. | ADAMO A data storage and retrieval system for clinical research | |
US6889358B1 (en) | Concurrency control in materialized views of a database | |
JP2870308B2 (en) | Database management system | |
JPH04102952A (en) | Loading system for device driver | |
JP3579876B2 (en) | Drawing history management device | |
JPH11175325A (en) | Device and method for managing cooperation of attribute data between system development supporting tools | |
JPS63310042A (en) | Matching guarantee system for data base |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: CA |
|
NENP | Non-entry into the national phase in: |
Ref country code: JP Ref document number: 1998540441 Format of ref document f/p: F |