Advanced data models containing declarative and programmatic constraints
First Claim
Patent Images
1. A computer-implemented method comprising:
- defining, by a computer, a constraint on an object of a data model, the data model being configured to define the object as a logical grouping of elements from an underlying database and the constraint being configured to execute a routine to validate an element of the object when a triggering event associated with the object is detected;
compiling, by the computer, the constraint into a runtime artifact associated with the object;
querying, by the computer, the underlying database to form a projection of the object that includes a subset of the logical grouping of elements; and
executing, by the computer, the runtime artifact when the triggering event is detected on the projection.
2 Assignments
0 Petitions
Accused Products
Abstract
A database language is extended to define constraints on a data model (e.g., entity-relationship model) rather than the concrete database. The constraints can be declarative (e.g., constraints that are defined using expressions of the database language) or programmatic (e.g., constraints that are defined as a stored procedure implemented in a domain specific language). By storing the constraints at a higher level than the database level, the constraints can be performed without changing the persistency of the database. Also disclosed are techniques for handling of constraints on partially loaded entities.
164 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
defining, by a computer, a constraint on an object of a data model, the data model being configured to define the object as a logical grouping of elements from an underlying database and the constraint being configured to execute a routine to validate an element of the object when a triggering event associated with the object is detected; compiling, by the computer, the constraint into a runtime artifact associated with the object; querying, by the computer, the underlying database to form a projection of the object that includes a subset of the logical grouping of elements; and executing, by the computer, the runtime artifact when the triggering event is detected on the projection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions for:
-
defining a constraint on an object of a data model specified in a domain specific language, the data model being configured to define the object as a logical grouping of elements from an underlying database and the constraint being configured to execute a routine to validate an element of the object without changing the persistency of the underlying database when a triggering event associated with the object is detected, the routine being expressed using expressions from the domain specific language; compiling the constraint into a runtime artifact associated with the object; querying the underlying database to form a projection of the object that includes a subset of the logical grouping of elements; and executing the runtime artifact when the triggering event is detected on the projection. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
a processor; and a non-transitory computer readable medium having stored thereon one or more programs, which when executed by the processor, causes the processor to; define, by a computer, a constraint on an object of a data model, the data model being configured to define the object as a logical grouping of elements from an underlying database and the constraint being configured to execute a routine to validate an element of the object when a triggering event associated with the object is detected; compile, by the computer, the constraint into a runtime artifact associated with the object; query, by the computer, the underlying database to form a projection of the object that includes a subset of the logical grouping of elements; and execute, by the computer, the runtime artifact when the triggering event is detected on the projection. - View Dependent Claims (20)
-
Specification