Skip to main content

A Port Graph Rewriting Approach to Relational Database Modelling

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 2019)

Abstract

We present new algorithms to compute the Syntactic Closure and the Minimal Cover of a set of functional dependencies, using strategic port graph rewriting. We specify a Visual Domain Specific Language to model relational database schemata as port graphs, including an extension to port graph rewriting rules. Using these rules we implement strategies to compute a syntactic closure, analyse it and find minimal covers, essential for schema normalisation. The graph program provides a visual description of the computation steps coupled with analysis features not available in other approaches. We show soundness and completeness of the computed closure, and implement it in PORGY.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    github.com/janos-varga/Porgy.

References

  1. Abrial, J.: Data semantics. In: Klimbie, J.W., Koffeman, K.L. (eds.) Proceeding of the IFIP Working Conference Data Base Management, Cargèse, Corsica, France, 1–5 April 1974, pp. 1–60. North-Holland (1974)

    Google Scholar 

  2. Andrei, O.: Rewriting calculus for graphs: applications to biology and autonomous systems. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France, November 2008

    Google Scholar 

  3. Andrei, O., Fernández, M., Kirchner, H., Melançon, G., Namet, O., Pinaud, B.: Porgy: strategy-driven interactive transformation of graphs. In: Echahed, R. (ed.) TERMGRAPH. EPTCS, vol. 48, pp. 54–68 (2011)

    Google Scholar 

  4. Armstrong, W.W.: Dependency structures of data base relationships. In: Proceedings of IFIP Congress, Information processing, vol. 74, pp. 580–583, North-Holland, Amsterdam (1974)

    Google Scholar 

  5. Ausiello, G., D’Atri, A., Saccà, D.: Graph algorithms for functional dependency manipulation. J. ACM 30(4), 752–766 (1983). https://doi.org/10.1145/2157.322404

    Article  MathSciNet  MATH  Google Scholar 

  6. Badia, A., Lemire, D.: A call to arms: revisiting database design. SIGMOD Rec. 40(3), 61–69 (2011). https://doi.org/10.1145/2070736.2070750

    Article  Google Scholar 

  7. Batini, C., D’Atri, A.: Rewriting systems as a tool for relational data base design. In: Claus, V., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 139–154. Springer, Heidelberg (1979). https://doi.org/10.1007/BFb0025717

    Chapter  Google Scholar 

  8. Beeri, C., Bernstein, P.A.: Computational problems related to the design of normal form relational schemas. ACM Trans. Database Syst. 4(1), 30–59 (1979)

    Article  Google Scholar 

  9. Beeri, C., Fagin, R., Howard, J.H.: A complete axiomatization for functional and multivalued dependencies in database relations. In: Smith, D.C.P. (ed.) SIGMOD Conference, pp. 47–61. ACM (1977)

    Google Scholar 

  10. Bernstein, P.A.: Synthesizing third normal form relations from functional dependencies. ACM Trans. Database Syst. 1(4), 277–298 (1976)

    Article  Google Scholar 

  11. Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P., Ringeissen, C.: An overview of ELAN. Electr. Notes Theor. Comput. Sci. 15, 55–70 (1998). https://doi.org/10.1016/S1571-0661(05)82552-6

    Article  MATH  Google Scholar 

  12. Ehrig, H., Engels, G., Kreowski, H., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformation: Applications, Languages and Tools, vol. 2. World Scientific, River Edge (1999)

    MATH  Google Scholar 

  13. Embley, D.W., Mok, W.Y.: Mapping conceptual models to database schemas. In: Embley, D.W., Thalheim, B. (eds.) Handbook of Conceptual Modeling, vol. XIX, pp. 123–164. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-15865-0_5

    Chapter  Google Scholar 

  14. Fernández, M., Kirchner, H., Pinaud, B.: Strategic Port Graph Rewriting: an Interactive Modelling Framework. Math. Struct. Comput. Sci. 1–48 (2018). https://doi.org/10.1017/S0960129518000270. https://hal.inria.fr/hal-01251871

  15. Fernández, M., Kirchner, H., Pinaud, B., Vallet, J.: Labelled graph strategic rewriting for social networks. J. Log. Algebr. Meth. Program. 96, 12–40 (2018). https://doi.org/10.1016/j.jlamp.2017.12.005

    Article  MathSciNet  MATH  Google Scholar 

  16. Garcia-Molina, H., Ullman, J.D., Widom, J.: Database Systems - The Complete Book, 2nd edn. Pearson Education, Harlow (2014)

    Google Scholar 

  17. Jahnke, J.H., Zündorf, A.: Applying graph transformations to database re-engineering. In: Ehrig et al., vol. 12, pp. 267–286 (1999)

    Google Scholar 

  18. Jiresch, E.: Extending the interaction nets calculus by generic rules. In: Alves, S., Mackie, I. (eds.) Proceedings 2nd International Workshop on Linearity, LINEARITY 2012, Tallinn, Estonia, 1 April 2012. EPTCS, vol. 101, pp. 12–24 (2012). https://doi.org/10.4204/EPTCS.101.2

  19. Kalleberg, K.T.: Stratego: a programming language for program manipulation. ACM Crossroads 12(3), 4 (2006). https://doi.org/10.1145/1144366.1144370

    Article  Google Scholar 

  20. Löwe, M.: Algebraic approach to single-pushout graph transformation. Theor. Comput. Sci. 109(1 and 2), 181–224 (1993). https://doi.org/10.1016/0304-3975(93)90068-5

    Article  MathSciNet  MATH  Google Scholar 

  21. Maier, D.: Minimum covers in relational database model. J. ACM 27(4), 664–674 (1980). https://doi.org/10.1145/322217.322223

    Article  MathSciNet  MATH  Google Scholar 

  22. Maier, D.: The Theory of Relational Databases. Computer Science Press, Rockville (1983)

    MATH  Google Scholar 

  23. Plump, D.: The design of GP 2. In: Escobar, S. (ed.) Proceedings 10th International Workshop on Reduction Strategies in Rewriting and Programming, WRS 2011, Novi Sad, Serbia, 29 May 2011. EPTCS, vol. 82, pp. 1–16 (2011). https://doi.org/10.4204/EPTCS.82.1

  24. Saiedian, H., Spencer, T.: An efficient algorithm to compute the candidate keys of a relational database schema. Comput. J. 39(2), 124–132 (1996). https://doi.org/10.1093/comjnl/39.2.124

    Article  MATH  Google Scholar 

  25. Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES approach: language and environment. In: Ehrig et al., vol. 12, pp. 551–603 (1999)

    Google Scholar 

  26. Vallet, J.: Where social networks, graph rewriting and visualisation meet: application to network generation and information diffusion. Ph.D. thesis, University of Bordeaux, France (2017). https://tel.archives-ouvertes.fr/tel-01691037

  27. Varga, J.: Finding the transitive closure of functional dependencies using strategic port graph rewriting. In: Fernández, M., Mackie, I. (eds.) Proceedings Tenth International Workshop on Computing with Terms and Graphs, Oxford, UK, 7th July 2018. Electronic Proceedings in Theoretical Computer Science, vol. 288, pp. 50–62. Open Publishing Association (2019). https://doi.org/10.4204/EPTCS.288.5

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to János Varga .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Fernández, M., Pinaud, B., Varga, J. (2020). A Port Graph Rewriting Approach to Relational Database Modelling. In: Gabbrielli, M. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2019. Lecture Notes in Computer Science(), vol 12042. Springer, Cham. https://doi.org/10.1007/978-3-030-45260-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-45260-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-45259-9

  • Online ISBN: 978-3-030-45260-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics