Interactively Eliciting Database Constraints and Dependencies

  • Ravi Ramdoyal
  • Jean-Luc Hainaut
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6741)


When designing the conceptual schema of a future information system, it is crucial to define a set of constraints that will guarantee the consistency of the subsequent database once it is implemented and operational. Eliciting and expressing such constraints and dependencies is far from trivial, especially when end-users are involved and when there is no directly usable data to play with. In this paper, we present an interactive process aimed to elicit hidden constraints such as value domains, functional dependencies, attribute and role optionality and existence constraints. Inspired by the principles of Armstrong relations, it attempts to acquire minimal data samples in order to validate declared constraints, to elicit hidden constraints and to reject irrelevant constraints in conceptual schemas. This process is part of the RAINBOW approach, destined to develop the data model of an information system based, among others, on the reverse engineering of user-drawn form-based interfaces.


Information Systems Engineering Requirements Engineering Database Engineering Electronic Forms Reverse Engineering Constraint Discovery 


  1. 1.
    Rosson, M.B., Carroll, J.M.: Usability Engineering: Scenario-Based Development of Human-Computer Interaction (Interactive Technologies). Morgan Kaufmann, San Diego (2001)Google Scholar
  2. 2.
    Ramdoyal, R., Cleve, A., Hainaut, J.-L.: Reverse engineering user interfaces for interactive database conceptual analysis. In: Pernici, B. (ed.) CAiSE 2010. LNCS, vol. 6051, pp. 332–347. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Codd, E.F.: A relational model of data for large shared data banks. Communications of the ACM 13(6), 377–387 (1970)CrossRefzbMATHGoogle Scholar
  4. 4.
    Hainaut, J.-L.: The transformational approach to database engineering. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 95–143. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Ram, S.: Deriving functional dependencies from the entity-relationship model. Communications of the ACM 38(9), 95–107 (1995)CrossRefGoogle Scholar
  6. 6.
    Lopes, S., Petit, J.-M., Lakhal, L.: Functional and approximate dependency mining: database and FCA points of view. Journal of Experimental and Theoretical Artificial Intelligence (JETAI) 14(2-3), 93–114 (2002)CrossRefzbMATHGoogle Scholar
  7. 7.
    Yao, H., Hamilton, H.J.: Mining functional dependencies from data. Data Mining and Knowledge Discovery 16(2), 197–219 (2008)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Huhtala, Y., Kärkkäinen, J., Porkka, P., Toivonen, H.: TANE: An efficient algorithm for discovering functional and approximate dependencies. Computer Journal 42(2), 100–111 (1999)CrossRefzbMATHGoogle Scholar
  9. 9.
    Novelli, N., Cicchetti, R.: FUN: An efficient algorithm for mining functional and embedded dependencies. In: Van den Bussche, J., Vianu, V. (eds.) ICDT 2001. LNCS, vol. 1973, pp. 189–203. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Lopes, S., Petit, J.-M., Lakhal, L.: Efficient discovery of functional dependencies and armstrong relations. In: Zaniolo, C., Grust, T., Scholl, M.H., Lockemann, P.C. (eds.) EDBT 2000. LNCS, vol. 1777, pp. 350–364. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Wyss, C.M., Giannella, C., Robertson, E.L.: Fastfds: A heuristic-driven, depth-first algorithm for mining functional dependencies from relation instances. In: Kambayashi, Y., Winiwarter, W., Arikawa, M. (eds.) DaWaK 2001. LNCS, vol. 2114, pp. 101–110. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Priss, U.: Establishing connections between formal concept analysis and relational databases. In: Common Semantics for Sharing Knowledge: Contributions to ICCS 2005, pp. 132–145 (2005)Google Scholar
  13. 13.
    Baixeries, J.: A formal concept analysis framework to mine functional dependencies. In: Proceeding of Mathematical Methods for Learning 2004: Advances in Data Mining and Knowledge Discovery (2004)Google Scholar
  14. 14.
    Correia, J.H.: Relational scaling and databases. In: Proceedings of the 10th International Conference on Conceptual Structures (ICCS 2002), Borovets, Bulgaria, July 15-19, pp. 62–76 (2002)Google Scholar
  15. 15.
    Rancz, K.T.J., Varga, V.: A method for mining functional dependencies in relational database design using FCA. Studia Universitatis Babes-Bolyai Cluj-Napoca, Informatica LIII(1), 17–28 (2008)Google Scholar
  16. 16.
    Rancz, K.T.J., Varga, V., Puskas, J.: A software tool for data analysis based on formal concept analysis. Studia Universitatis Babes-Bolyai Cluj-Napoca, Informatica LIII(2), 67–78 (2008)Google Scholar
  17. 17.
    Flory, A.: Bases de données: conception et réalisation. In: ECONOMICA, Paris (1982)Google Scholar
  18. 18.
    Lopes, S., Petit, J.-M., Lakhal, L.: Efficient discovery of functional dependencies and armstrong relations. In: Zaniolo, C., Grust, T., Scholl, M.H., Lockemann, P.C. (eds.) EDBT 2000. LNCS, vol. 1777, pp. 350–364. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  19. 19.
    Armstrong, W.W.: Dependency structures of data base relationships. In: IFIP Congress, pp. 580–583 (1974)Google Scholar
  20. 20.
    Singer, J., Sim, S.E., Lethbridge, T.C.: Software engineering data collection for field studies. In: Shull, F., Singer, J., Sjøberg, D.I. (eds.) Guide to Advanced Empirical Software Engineering, pp. 9–34. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Ramdoyal, R.: Reverse Engineering User-Drawn Form-Based Interfaces for Interactive Database Conceptual Analysis. PhD thesis, University of Namur, Namur, Belgium, Electronic version available from (December 2010),
  22. 22.
    Pizano, A., Shirota, Y., Iizawa, A.: Automatic generation of graphical user interfaces for interactive database applications. In: CIKM 1993: Proceedings of the Second International Conference on Information and Knowledge Management, pp. 344–355. ACM, New York (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ravi Ramdoyal
    • 1
  • Jean-Luc Hainaut
    • 1
  1. 1.Laboratory of Database Application Engineering - PReCISE Research Centre Faculty of Computer ScienceUniversity of NamurNamurBelgium

Personalised recommendations