Constraint Maintenance using Generated Methods in the P/FDM Object-Oriented Database

  • Suzanne M. Embury
  • Peter M. D. Gray
  • Nick D. Bassiliades
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


We discuss the use of code-generated methods in Prolog as a flexible and efficient way to implement complex semantic constraints in an OODB. We introduce a high-level constraint language CoLan, based on functions and sets and including range quantifiers, from which fragments of code are generated to check the constraints. These fragments are attached to slots in class descriptors, and are also inherited (constraints cannot be overridden). Thus many fragments can come from one constraint and one slot may have attached fragments from many constraints. Constraints can be selectively disabled or removed which causes inhibition or disabling of corresponding fragments. This overcomes many objections to implementing constraints through methods. We have prototyped it by using the metaclass facilities of ADAM to initiate code generation. We are now re-implementing it in P/FDM, using changes to metadata (P/FDM does not have full metaclasses). This will incorporate a transaction mechanism and also provide queries on constraints. This approach opens a number of interesting future directions.


Integrity Constraint Class Descriptor Active Rule Code Fragment Deductive Database 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    N.D. Bassiliades “Constraint Description in ADAM”, MSc. Thesis, University of Aberdeen.Google Scholar
  2. [2]
    N.D. Bassiliades and P.M.D. Gray “CoLan: a Functional Constraint Language and its Implementation”, in preparation.Google Scholar
  3. [3]
    F. Bry, H. Decker and R. Manthey “A Uniform Approach to Constraint Satisfaction and Constraint Satisfiability in Deductive Databases”, in Advances in Database Technology — EDBT ′88, J.W. Schmidt, S. Ceri and M. Missikoff (eds.), Springer-Verlag, pp. 488–505.Google Scholar
  4. [4]
    O. Diaz and N.W. Paton “Sharing Behaviour in an Object-Oriented Database using a Rule-Based Mechanism”, in Aspects of Databases — Proc. 9th BNCOD, Butterworth, 1991, pp.17–37.Google Scholar
  5. [5]
    O. Diaz, N.W. Paton and P.M.D. Gray “Rule Management in Object-Oriented Databases: a Uniform Approach”, in F. Saltor (ed.), Proc. 17th VLDB, Barcelona, 1991, pp. 317–326.Google Scholar
  6. [6]
    S.M. Embury, Z. Jiao and P.M.D. Gray “Using Prolog to Provide Access to Metadata in an Object-Oriented Database”, in Proc. 1st Practical Application of Prolog Conf., Applied Workstations Ltd.Google Scholar
  7. [7]
    S.M. Embury and P.M.D. Gray “Compiling Daplex into Backtrackable Updates”, in preparation.Google Scholar
  8. [8]
    P.M.D. Gray, D.S. Moffat and N.W. Paton “A Prolog Interface to a Functional Data Model Database”, in Advances in Database Technology — EDBT’ 88, J.W. Schmidt, S. Ceri and M. Missikoff (eds.), Springer-Verlag, pp. 34–48.Google Scholar
  9. [9]
    P.M.D. Gray, K.G. Kulkarni and N.W. Paton Object-Oriented Databases, A Semantic Data Model Approach, Prentice Hall, 1992.Google Scholar
  10. [10]
    J.J. King Query Optimisation by Semantic Reasoning, UMI Research Press.Google Scholar
  11. [11]
    K.G. Kulkarni and M.P. Atkinson “EFDM:extended functional data model”, The Computer Journal (29), 1986, pp 38–46.Google Scholar
  12. [12]
    M. Morgenstern “Constraint Equations: Declarative Expression of Constraints with Automatic Enforcement”, Proc. 10th VLDB, pp. 291–300.Google Scholar
  13. [13]
    J.M. Nicolas “Logic for Improving Integrity Checking in Relational Databases”, in Acta Informatica, no. 18, Springer-Verlag, 1982, pp. 227–253.Google Scholar
  14. [14]
    G.M. Nijssen, “Modelling in Data Base Management Systems” in Proc. Euro IFIP 79, London, ed. P.A. Samet, North-Holland, 1979, pp 39-52.Google Scholar
  15. [15]
    N.W. Paton “ADAM: An object-oriented database system implemented in Prolog”, in Proc. 7th BNCOD, ed. Williams, CUP, 1989, pp. 147–161.Google Scholar
  16. [16]
    N.W. Paton, O. Diaz and M.L. Barja “Combining Active Rules and Metaclasses for enhanced extensibility in Object-Oriented Systems”, Data and Knowledge Eng., 10, pp. 45–63.Google Scholar
  17. [17]
    D.W. Shipman “The functional data model and the data language DAPLEX”, ACM TODS 6, 1981, pp 140–173.Google Scholar
  18. [18]
    M.L. Stonebraker et al. “Third-Generation Database System Manifesto” in “Object-Oriented Databases: Analysis, Design and Construction (DS-4)”, eds. R.A. Meersman, W. Kent and S. Khosla, North-Holland, 1992, pp 495–511.Google Scholar
  19. [19]
    S.D. Urban “Constraint Analysis for the Design of Semantic Database Update Operations”, PhD Dissertation, University of Southwestern La., September 1987.Google Scholar
  20. [20]
    S.D. Urban “ALICE: An Assertion Language for Integrity Constraint Expression”, in Proc. of Computer Software Applications Conf., Orlando, September 1989.Google Scholar
  21. [21]
    S.D. Urban, A.P. Karadimce and R.B. Nannapaneni, “The Implementation and Evaluation of Integrity Maintenance Rules in an Object-Oriented Database”, in Data Engineering, 1992.Google Scholar
  22. [22]
    J. Widom, R.J. Cochrane and B.G. Lindsay, “Implementing Set-Oriented Production Rules as an Extension to Starburst”, in F. Saltor (ed.), Proc. 17th VLDB, Barcelona, 1991, pp. 275–285.Google Scholar

Copyright information

© British Computer Society 1994

Authors and Affiliations

  • Suzanne M. Embury
    • 2
  • Peter M. D. Gray
    • 2
  • Nick D. Bassiliades
    • 1
    • 2
  1. 1.Digital Systems and Computers Lab., Dept. of PhysicsAristotle University of ThessalonikiThessalonikiGreece
  2. 2.Department of Computing ScienceUniversity of AberdeenAberdeenScotland

Personalised recommendations