US5386557A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Enforcement of referential constraints in a database system
Assignee: International Business Machines Corp
•
Filing: 1992-11-12
•
Granted: 1995-01-31
•
Expires: 2012-11-12
Abstract
Abstract A system and method for enforcing referential integrity within a database system provides for determination of relevant referential constraints at compile time for an access plan. All referential constraints which are relevant to data changes to the database are identified when the access plan is created. Code necessary for performing referential constraint checks is inserted directly into the access plan at compile time, eliminating the necessity for determining the relevant constraints at run time. Constraint checking can be performed using substantially the same low-level procedural statements already used in the access plan for performing database accesses.
Inventors
- 👤 James R. Boykin
- 👤 Lisa A. Geer
- 👤 Gary R. Horn
- 👤 Timothy R. Malkemus
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 14:57
CPC Classifications
G; G06; G06F; G06F17/00; G06F16/00; G06F16/20; G06F16/23; G06F16/2365; Y; Y10; Y10S; Y10S707/00; Y10S707/99931
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
146 words
A method for generating an access plan for a relational database, having a plurality of database objects, from a plurality of database access commands used to access the database objects, said method comprising the steps performed by a computer system of: compiling the plurality of database access commands into a first executable code set for inclusion in the access plan; during said compiling step, determining constraint relationships among selected database objects utilized during execution of the plurality of database access commands; also during said compiling step, generating a plurality of second executable code sets to enforce the determined constraint relationships; and also during said compiling step, merging the first executable code set and the plurality of second executable code sets to form an access plan having both code for executing the database access commands and code for enforcing the determined constraint relationships within the access plan.
Claim 2
Independent Claim
146 words
A method for generating an access plan for a relational database, having a plurality of database objects, from a plurality of database access commands used to access the database objects, said method comprising the steps performed by a computer system of: compiling the plurality of database access commands into a first executable code set for inclusion in the access plan; during said compiling step, determining constraint relationships among selected database objects utilized during execution of the plurality of database access commands; also during said compiling step, generating a plurality of second executable code sets to enforce the determined constraint relationships; and also during said compiling step, merging the first executable code set and the plurality of second executable code sets to form an access plan having both code for executing the database access commands and code for enforcing the determined constraint relationships within the access plan.
Claim 3
Dependent Claim
30 words
The method of claim 1, wherein the access plan contains a plurality of access sections, each of said plurality of access sections corresponding to one of the database access commands.
Claim 4
Dependent Claim
155 words
A computer system for generating an access plan for a relational database having a plurality of database objects from a plurality of database access commands used to access the database objects, said computer system comprising: means for compiling the plurality of database access commands into a first executable code set for inclusion in the access plan; means for, during compilation of the database access commands, determining constraint relationships among selected database objects utilized during execution of the plurality of database access commands; means for, during compilation of the database access commands, generating a plurality of second executable code sets for enforcing the determined constraint relationships; and, means for, during compilation of the database access commands, merging the first executable code set and the plurality of second executable code sets to form an access plan having both code for executing the database access commands and code for enforcing the determined constraint relationships within the access plan.
Claim 5
Dependent Claim
155 words
A computer system for generating an access plan for a relational database having a plurality of database objects from a plurality of database access commands used to access the database objects, said computer system comprising: means for compiling the plurality of database access commands into a first executable code set for inclusion in the access plan; means for, during compilation of the database access commands, determining constraint relationships among selected database objects utilized during execution of the plurality of database access commands; means for, during compilation of the database access commands, generating a plurality of second executable code sets for enforcing the determined constraint relationships; and, means for, during compilation of the database access commands, merging the first executable code set and the plurality of second executable code sets to form an access plan having both code for executing the database access commands and code for enforcing the determined constraint relationships within the access plan.
Claim 6
Dependent Claim
25 words
The computer system of claim 3, wherein the access plan contains a plurality of access sections, each corresponding to one of the database access commands.
Claim 7
Dependent Claim
24 words
The computer system of claim 4, wherein each of said plurality of access sections corresponds to one of said plurality of database access commands.
Claim 8
Dependent Claim
27 words
The computer system of claim 5, wherein each of said plurality of second executable code sets is associated with one of said plurality of database access commands.
Claim 9
Independent Claim
120 words
A method for performing database operations on data tables in a database system, comprising the steps performed by a computer system of: providing a plurality of access plans, each corresponding to a selected group of database operations and containing compiled code for accessing tables in the database, each access plan further containing code for performing constraint checking during table access and preventing execution of database operations which would not be consistent with referential integrity of the database; performing a database access by executing the compiled accessing code in a corresponding access plan; and during said step of performing a database access, maintaining the referential integrity of the database by executing the constraint checking code contained in such corresponding access plan.
Claim 10
Independent Claim
120 words
A method for performing database operations on data tables in a database system, comprising the steps performed by a computer system of: providing a plurality of access plans, each corresponding to a selected group of database operations and containing compiled code for accessing tables in the database, each access plan further containing code for performing constraint checking during table access and preventing execution of database operations which would not be consistent with referential integrity of the database; performing a database access by executing the compiled accessing code in a corresponding access plan; and during said step of performing a database access, maintaining the referential integrity of the database by executing the constraint checking code contained in such corresponding access plan.
Claim 11
Dependent Claim
116 words
The method of claim 7, wherein said step of providing access plans comprises the steps of, for each provided access plan: compiling a set of source instructions into a first set of compiled code; during said compiling step, determining which constraints must be checked during execution of the first set of compiled code in order to ensure referential integrity of the database; providing a second set of compiled constraint checking code containing instructions required for maintaining the referential integrity of the database; and merging the first and second sets of compiled code into a single access plan containing compiled code for both accessing tables in the database and code for performing constraint checking during table access.
Claim 12
Dependent Claim
27 words
The method of claim 8, wherein the first set of compiled code comprises a plurality of subsets of compiled code, each subset corresponding to one source instruction.
Claim 13
Dependent Claim
35 words
The method of claim 9, wherein said second set of compiled code comprises a plurality of subsets, and wherein each of the second set subsets is associated with one of the first plurality of subsets.
References Cited (Backward Citations)
US4330822A
Cited
US4104718A
Cited
US4506326A
Cited
US4829427A
Cited
US4769772A
Cited
US4819160A
Cited
US4979109A
Cited
US4918593A
Cited
US5018067A
Cited
US4933848A
Cited
US4947320A
Cited
US5133068A
Cited
US5197005A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-01-30 | 1998-08-01 | 1999-01-31 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-01-30 | 2002-08-01 | 2003-01-31 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-01-30 | 2006-08-01 | 2007-01-31 | $7700.00 | Window Closed / Lapsed |