Relational database reverse engineering: Algorithms to extract cardinality constraints

https://doi.org/10.1016/S0169-023X(98)00017-2Get rights and content

Abstract

This paper presents algorithms which build SQL queries to improve the reverse engineering of relational databases. Our process extracts the current cardinality constraints of n-ary relationships through a combination of data dictionary, data schema and data instance analysis. Our results can be applied to semantic data models with cardinalities constraints based either on the ER model or to semantic data models with cardinality constraints on participation constraints (MERISE, ECR, ERC +, OMT, ODMG). The process we propose can also refine conceptual diagrams of commercial tools with reverse-engineering options (AMCDesigner, ORACLETM Designer 2000, etc.). From our algorithms a PRO*C program using dynamic SQL has been implemented.

References (47)

  • R.G.G. Catell

    Object Databases: The ODMG-93 Standard

    (1993)
  • P.P. Chen

    The Entity-Relationship model: Towards a unified view of data

    ACM Trans. Database Systems

    (Mar. 1976)
  • R. Chiang et al.

    Performance evaluation of reverse engineering relational databases into extended entity-relationship models

  • E.F. Codd

    A relational model for large shared data banks

    Comms. of the ACM

    (1970)
  • I. Comyn-Wattiau et al.

    Reverse engineering of relational database physical schemas.

  • K.H. Davis et al.

    Converting a relational database model into an Entity Relationship model

  • V. Englebert et al.

    DB-MAIN; A database-oriented CASE tool

    Engineering of Information Systems

    (1996)
  • G.C. Everest

    Database Management: Objectives, Systems Functions and Administration

    (1986)
  • C. Fahrner et al.

    Transforming relational database schemas into object-oriented schemas according to ODMG-93

  • G. Gardarin

    Translating relational to object databases

    Engineering of Information Systems

    (1994)
  • J.L. Hainaut et al.

    Transformation-based database reverse engineering

  • P. Johanneson

    A method for translating relational schemas into conceptual schemas

  • T.H. Jones et al.

    Binary representation of ternary relationships in ER conceptual modeling

  • Cited by (19)

    • Extracting generalization hierarchies from relational databases: A reverse engineering approach

      2007, Data and Knowledge Engineering
      Citation Excerpt :

      Past comprehensive approaches on relational database reverse engineering can be found in [2,5,8–13,15,16,21–23,25,28,31].

    • Generating three-tier applications from relational databases: A formal and practical approach

      2002, Information and Software Technology
      Citation Excerpt :

      Other improvements that are being currently studied include the processing of n-ary relationships and the detection of other possible patterns that were used during the database construction. For both issues, the analysis of actual data instances will be a help, as has been evidenced by Soutou [28] (for example, the detection of a set of records with a certain column set to null could mean that the one inheritance tree, one table pattern has been used). Moreover, several additional modules are being programmed to generate the tiers for other environments and programming languages.

    • Modeling relationships in object-relational databases

      2001, Data and Knowledge Engineering
    • Logical Schema Design that Quantifies Update Inefficiency and Join Efficiency

      2021, Proceedings of the ACM SIGMOD International Conference on Management of Data
    View all citing articles on Scopus
    View full text