Non-modal database system with methods for incremental maintenance
First Claim
1. In a database system, said system having a database providing a storage mechanism for storing user-supplied information on a storage device as at least one database table, each database table comprising a plurality of data records, said user-supplied information being modified over time, a method for providing a "live" view of said database, the method comprising:
- (a) receiving a request for displaying a view of said database on an output device, said view comprising portions of said user-supplied information rendered on said output device, which portions are selected from said at least one database table based on a set of user-supplied criteria, wherein the set of user-supplied criteria is such that at least some of said data records do not satisfy the set of user-supplied criteria;
(b) registering said view with said database and thereafter displaying said view;
(c) receiving at least one modification to said user-supplied information stored on said storage device, by storing a modification to at least one data record of said at least one database table; and
(d) updating said view by;
(i) notifying the view of which particular at least one data record of said at least one database table was modified,(ii) if said modification stored to at least one data record affects portions of said user-supplied information rendered on said output device for the view, ceasing display of the affected portions from the view if the affected portions no longer meet the set of user-supplied criteria for the view, and(iii) if said modification stored to at least one data record creates portions of said user-supplied information not currently displayed in the view, adding the created portions to the view if the created portions now meet the set of user-supplied criteria;
substeps d(ii) and d(iii) being performed with reference to said modification stored to at least one data record without testing whether other data records in said database meet the view'"'"'s set of user-supplied criteria.
2 Assignments
0 Petitions
Accused Products
Abstract
A database system with methodology providing "live" views of a database is described. In response to a user request (e.g., query) to display information from the database according to user-specified criteria, the system registers and displays a view (e.g., user-designed form and/or report); multiple views may be opened in this manner. In response to receiving one or more modifications to information stored in the database, the system employs incremental queries to maintain the "liveness" of the views. In particular, each registered view is notified of the modification (i.e., specific modified data records) and undertakes to apply the user-specified criteria for the particular view only against the modification. Here, the system determines for each view whether the modified data records should be added to the view (if such records now meet the user-supplied criteria for that particular view) or removed from the view (if such records no longer meet the user-supplied criteria for that particular view), without testing whether other records meet the user-specified criteria (i.e., without having to re-execute the query). In this fashion, the system maintains "live" views of the data so that all views reflects at all times the state of the underlying information or data, but without having to re-execute entire queries that initially gave rise to the views.
-
Citations
19 Claims
-
1. In a database system, said system having a database providing a storage mechanism for storing user-supplied information on a storage device as at least one database table, each database table comprising a plurality of data records, said user-supplied information being modified over time, a method for providing a "live" view of said database, the method comprising:
-
(a) receiving a request for displaying a view of said database on an output device, said view comprising portions of said user-supplied information rendered on said output device, which portions are selected from said at least one database table based on a set of user-supplied criteria, wherein the set of user-supplied criteria is such that at least some of said data records do not satisfy the set of user-supplied criteria; (b) registering said view with said database and thereafter displaying said view; (c) receiving at least one modification to said user-supplied information stored on said storage device, by storing a modification to at least one data record of said at least one database table; and (d) updating said view by; (i) notifying the view of which particular at least one data record of said at least one database table was modified, (ii) if said modification stored to at least one data record affects portions of said user-supplied information rendered on said output device for the view, ceasing display of the affected portions from the view if the affected portions no longer meet the set of user-supplied criteria for the view, and (iii) if said modification stored to at least one data record creates portions of said user-supplied information not currently displayed in the view, adding the created portions to the view if the created portions now meet the set of user-supplied criteria; substeps d(ii) and d(iii) being performed with reference to said modification stored to at least one data record without testing whether other data records in said database meet the view'"'"'s set of user-supplied criteria. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An improved database system comprising:
-
a computer having a storage device for storing user-supplied information in a database, said database comprising a plurality of data records; an output device; means for requesting a view of said database, said view being a representation of information in said data records, said view including a view constraint for selecting certain portions of said user-supplied information to be rendered on said output device while rejecting other portions of said user-supplied information; means for rendering on said output device said portions of said user-supplied information according to said view constraint; input means for modifying said user-supplied information stored on said storage device, by storing a modification to at least one of the data records stored on said storage device; and incremental maintenance means, responsive to said modification, for updating said view based on whether said modification changes that portion of said user-supplied information that satisfies said view constraint after said modification, said updating including adding portions of said user-supplied information to said view or portions of said user-supplied information data records from said view, based on whether such data records satisfy said view constraint for said view, said updating being performed without testing records other than said at least one of said data records that was modified to determine whether the other records satisfy said view constraint. - View Dependent Claims (9, 10, 11, 12)
-
-
13. In a computer system, a method for maintaining "live" views of a database, said database having a storage mechanism for storing on a storage device a plurality of data records having user-supplied information, the method comprising:
-
(a) opening a plurality of views on the database, each view being a representation, separate from said mechanism for storing, of a respective portion of said user-supplied information, which portion is selected from the database based on a respective view constraint for the view, wherein each view constraint is such that at least some of said data records do not satisfy that view constraint; (b) registering with the database each view so opened in step (a), so that all views dependent on the database are known to the system at all times; (c) receiving user input which specifies modification to said user-supplied information stored on said storage device; (d) in response to said user input, storing a modification to at least one of the data records of the database; (e) notifying each view that a particular record of the database has changed; and (f) for each view, updating the view based on whether said modification to said particular record changed the portion of said user-supplied information that meets the view constraint for that view after said modification, said updating including adding information from said particular record to that view or removing information from said particular record from that view, based on whether said particular record satisfies the view constraint for that view, said updating being performed without testing records other than said particular record to determine whether the other records meet the view constraint for that view. - View Dependent Claims (14, 15, 16, 17)
-
-
18. In a database system, said system having a database with a mechanism for storing user-supplied information in a plurality of data records on a storage device, said information being modified over time, a method for providing a "live" view of said database, the method comprising:
-
(a) receiving a request for first and second views of said database, each of said views being a representation, separate from said mechanism for storing, of information from a respective set of data records selected from said database based on a respective set of user-supplied criteria, said respective sets of user-supplied criteria for said first and second views being different, resulting in said respective sets of data records being different for said first and second data views; (b) registering said first and second views with said database and thereafter displaying at least one of said first and second views; (c) receiving a modification to a particular data record of said database stored on said storage device, wherein (i) prior to said receiving said modification, information from said particular data record meets said first view'"'"'s set of user-supplied criteria but does not meet said second view'"'"'s set of user-supplied criteria, and (ii) after said receiving said modification, said information from said particular data record does not meet said first view'"'"'s set of user-supplied criteria but does meet said second view'"'"'s set of user-supplied criteria; (d) updating said first view by; (i) notifying said first view of which particular data record of said database was modified, and (ii) since said information from said particular data record was present in said first view prior to the modification, but no longer meets said first view'"'"'s set of user-supplied criteria, removing said information from said particular data record from said first view; and (e) updating said second view by; (i) notifying said second view of which particular data record of said database was modified, and (ii) since said information from said particular data record was not present in said second view prior to the modification, but after the modification meets said second view'"'"'s set of user-supplied criteria, adding said information from said particular data record to the said second view; substeps d(ii) and e(ii) being performed with reference to the information from said particular data record without testing whether information from other records in said database, which other records have not been modified, meet said first view'"'"'s set of user-supplied criteria or said second view'"'"'s set of user-supplied criteria. - View Dependent Claims (19)
-
Specification