A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Basic polymorphic typechecking
Science of Computer Programming
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Automatic verification of database transaction safety
ACM Transactions on Database Systems (TODS)
Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the second international workshop on Database programming languages
Proceedings of the second international workshop on Database programming languages
Covariance and contravariance: conflict without a cause
ACM Transactions on Programming Languages and Systems (TOPLAS)
A calculus for overloaded functions with subtyping
Information and Computation
Integrity checking for multiple updates
SIGMOD '85 Proceedings of the 1985 ACM SIGMOD international conference on Management of data
Implementation of integrity constraints and views by query modification
SIGMOD '75 Proceedings of the 1975 ACM SIGMOD international conference on Management of data
A Uniform Approach to Constraint Satisfaction and Constraint Satisfiability in Deductive Databases
EDBT '88 Proceedings of the International Conference on Extending Database Technology: Advances in Database Technology
Checking Consistency of Database Constraints: a Logical Basis
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Integrity Checking in Deductive Databases
VLDB '87 Proceedings of the 13th International Conference on Very Large Data Bases
Thémis: a database programming language with integrity constraints
DBLP-4 Proceedings of the Fourth International Workshop on Database Programming Languages - Object Models and Languages
A Family of the ODMG Object Models
ADBIS '99 Proceedings of the Third East European Conference on Advances in Databases and Information Systems
Nested Transactions with Integrity Constraints
Selected papers from the Eight International Workshop on Foundations of Models and Languages for Data and Objects, Transactions and Database Dynamics
Towards a Consistent Viewpoint on Consistency for Persistent Applications
Proceedings of the International Symposium on Objects and Databases
Checking Integrity Constraints in Multidatabase Systems with Nested Transactions
CooplS '01 Proceedings of the 9th International Conference on Cooperative Information Systems
Proceedings of the 2003 ACM symposium on Document engineering
On Simplification of Database Integrity Constraints
Fundamenta Informaticae
Verification technology for object-oriented/XML transactions
ICOODB'09 Proceedings of the Second international conference on Object databases
Maintaining database integrity with refinement types
Proceedings of the 25th European conference on Object-oriented programming
On Simplification of Database Integrity Constraints
Fundamenta Informaticae
Hi-index | 0.00 |
This article presents a database programming language, Thémis, which supports subtyping and class hierarchies, and allows for the definition of integrity constraints in a global and declarative way. We first describe the salient features of the language: types, names, classes, integrity constraints (including methods), and transactions. The inclusion of methods into integrity constraints allows an increase of the declarative power of these constraints. Indeed, the information needed to define a constraint is not always stored in the database through attributes, but is sometimes computed or derived data. Then, we address the problem of efficiently checking constraints. More specifically, we consider two different problems: (1) statically reducing the number of constraints to be checked, and (2) generating an efficient run-time checker. Using simple strategies, one can significantly improve the efficiency of the verification. We show how to reduce the number of constraints to be checked by characterizing the portions of the database that are involved in both the constraints and in a transaction. We also show how to generate efficient algorithms for checking a large class of constraints. We show how all the techniques presented exploit the underlying type system, which provides significant help in solving (1) and (2). Last, the current status of the Thémis prototype is presented.