Patent US5488722A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5488722A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for automating implementation and execution of constraint most likely to be violated in a database

Assignee: International Business Machines Corp
•
Filing: 1993-05-28
•
Granted: 1996-01-30
•
Expires: 2013-05-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a system and method of operating a computer to update a database. An entry made by a user for creating, deleting or modifying an entity type instance is checked to determine applicable constraints, which are then activated and placed in a pool. A firing order is then determined for the activated constraints. The first ranked constraint is then coded, using database calls if necessary to provide data for the logical statements, after which the coded constraint is fired. If the constraint was violated an error is signalled and processing is returned to the step of activating constraints for treatment of revised user data. Otherwise, it is determined if any constraints remain to be fired before returning to the step of activating or exiting.

Inventors

  • 👤 Thomas E. Potok

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 13:14
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/284; G06F16/288; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/962; Y10S707/99931; Y10S707/99932

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 107 words
A method for operating a computer to update an entity-relationship model database, the method comprising the steps performed by the computer of: accepting data for a new or modified instance or to delete an instance of an entity; activating constraints applicable to the accepted data; determining a firing order including at least a first constraint for firing from among the activated constraints, the first constraint being determined based on criteria which attempts to identify a constraint most likely to be violated; firing the first constraint; determining if the first constraint was violated; and returning to the step of activating constraints if any constraints remain to be fired.
Claim 2
Independent Claim 107 words
A method for operating a computer to update an entity-relationship model database, the method comprising the steps performed by the computer of: accepting data for a new or modified instance or to delete an instance of an entity; activating constraints applicable to the accepted data; determining a firing order including at least a first constraint for firing from among the activated constraints, the first constraint being determined based on criteria which attempts to identify a constraint most likely to be violated; firing the first constraint; determining if the first constraint was violated; and returning to the step of activating constraints if any constraints remain to be fired.
Claim 3
Dependent Claim 133 words
A method as set forth in claim 1, wherein the step of determining a firing order for the activated constraints includes: finding a set of least recently fired constraints and if only one constraint is least recently fired making the constraint first in the firing order; if a plurality of activated constraints are found for the set of least recently fired constraints, finding which constraints within the set of least recently fired constraints reference the greatest number of entity instances and if only one constraint references the greatest number of entity instances making the constraint first in the firing order; and if a plurality of activated constraints reference the greatest number of entity and relationship instances, scoring the activated constraints for complexity and make a highest scoring constraint first in the firing order.
Claim 4
Dependent Claim 46 words
A method as set forth in claim 1, wherein the step of firing a first constraint in the firing order includes: generating code for the first constraint; generating code for inquiries into the database to complete inputs to the first constraint; and executing the generated code.
Claim 5
Dependent Claim 46 words
A method as set forth in claim 2, wherein the step of firing a first constraint in the firing order includes: generating code for the first constraint; generating code for inquiries into the database to complete inputs to the first constraint; and executing the generated code.
Claim 6
Dependent Claim 18 words
A method as set forth in claim 1, and further comprising: logging violations of a constraint as error.
Claim 7
Dependent Claim 39 words
A method as set forth in claim 1, wherein the step of determining a firing order includes: predicting a constraint from the activated constraint as most likely to be violated; and selecting the predicted constraint for the firing step.
Claim 8
Dependent Claim 106 words
A constraint enforcement apparatus for an entity-reference model database on a data processing system, comprising: user input means for requesting modification, creation or deletion of entity type instances in the database; a plurality of constraints resident in a system storage; means for activating constraints applicable to user input requests; means for selecting a constraint for firing from among the activated constraints, said selecting means comprising means for predicting a constraint from the activated constraints as most likely to be violated and means for selecting the predicted constraint as first to be fired; means for firing the constraint; and means for determining if the constraint was violated.
Claim 9
Dependent Claim 106 words
A constraint enforcement apparatus for an entity-reference model database on a data processing system, comprising: user input means for requesting modification, creation or deletion of entity type instances in the database; a plurality of constraints resident in a system storage; means for activating constraints applicable to user input requests; means for selecting a constraint for firing from among the activated constraints, said selecting means comprising means for predicting a constraint from the activated constraints as most likely to be violated and means for selecting the predicted constraint as first to be fired; means for firing the constraint; and means for determining if the constraint was violated.
Claim 10
Dependent Claim 148 words
Apparatus as set forth in claim 7, wherein the means for selecting a constraint for firing includes: means for finding a set of least recently fired constraints and, if only one constraint is least recently fired, for making the least recently fired constraint first in a firing order; means responsive to location of a plurality of least recently fired constraints for finding constraints within the set of least recently fired constraints which reference a greatest number of entity instances; means responsive to finding of one constraint with the greatest number of entity instances for making the one constraint first in the firing order; and means responsive to finding a plurality of activated constraints which reference the greatest number of entity instances for scoring each of the constraints referencing the greatest number of entity instances for complexity and for making a highest scoring constraint first in the firing order.
Claim 11
Dependent Claim 41 words
Apparatus as set forth in claim 7, wherein the means for firing the constraint include: means for coding the constraint; means for coding inquiries into the database to provide values for variables in the constraint; and means for executing the code.
Claim 12
Dependent Claim 44 words
Apparatus as set forth in claim 8, wherein the means for firing the constraint includes: generating code for the highest scoring constraint; generating code for inquiries into the database to provide values for variables in the highest scoring constraint; and executing the generated code.
Claim 13
Dependent Claim 142 words
Apparatus as set forth in claim 9, wherein the step of selecting a constraint for firing includes: means for finding a set of least recently fired constraints and if only one constraint is least recently fired for making the least recently fired constraint first in a firing order; means responsive to location of a plurality of least recently fired constraints for finding constraints within the set of least recently fired constraints which reference a greatest number of entity instances; means responsive to finding of one constraint with the greatest number of entity instances for making the one constraint first in the firing order; and means responsive to finding a plurality of activated constraints which reference the greatest number of entity and relationship instances for scoring the activated constraints for complexity and for making a highest scoring constraint first in the firing order.
Claim 14
Dependent Claim 19 words
Apparatus as set forth in claim 7, and further comprising: means for logging violations of a constraint as error.

References Cited (Backward Citations)

US4933848A Cited
US4947320A Cited
US5133068A Cited
US5386557A Cited
US5179698A Cited
US5193182A Cited
US5249300A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-01-29 1999-07-31 2000-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-01-29 2003-07-31 2004-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-01-29 2007-07-31 2008-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag