Normalizing Relational Database Schemas Using Mathematica

  • Ali Yazici
  • Ziya Karakaya
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3992)


In this paper, basic relational database (DB) normalization algorithms are implemented efficiently as Mathematica modules. It was observed that, Mathematica provided a straightforward platform as opposed to previous ones, mainly Prolog based tools which required complex data structures such as linked list representations with pointers. A Java user interface called JMath-Norm was designed to execute the Mathematica modules in a systematic way. For this purpose, Mathematica’s Java link facility (JLink) is utilized to drive the Mathematica kernel. JMath-Norm provides an effective interactive tool in an educational setting for teaching DB normalization theory.


Relation Schema Minimal Cover Normalization Algorithm Computer Engineer Department Normalization Tool 


  1. 1.
    Elmasri, R., Navathe, S.B.: Fundamentals of Database Systems, 4th edn. Addison Wesley, Reading (2003)Google Scholar
  2. 2.
    Beeri, C., Bernstein, P.A.: Computational Problems Related to the Design of Normal Form Relational Schemas. ACM Transactions on Database Systems 4(1), 30–45 (1979)CrossRefGoogle Scholar
  3. 3.
    Ceri, S., Gottlob, G.: Normalization of Relations and Prolog. Communications of the ACM 29(6) (1986)Google Scholar
  4. 4.
    Welzer, W., Rozman, I., Györkös, J.G.: Automated Normalization Tool. Microprocessing and Microprogramming 25, 375–380 (1989)CrossRefGoogle Scholar
  5. 5.
    Diederich, J., Milton, J.: New Methods and Fast Algorithms for Database Normalization. ACM Transactions on Database Systems 13(3), 339–365 (1988)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Diederich, J.: Minimal Covers Revisited: Correct and Efficient Algorithms. SIGMOD Record 20(1) (1991)Google Scholar
  7. 7.
    Hallasy, B.: Normal Forms and Normalization: Practical Designer’s View. Information and Software Technology 25(6), 451–461 (1991)CrossRefGoogle Scholar
  8. 8.
    Lucchesi, C.L., Osborn, S.L.: Candidate Keys for Relations. Journal of Computer and System Sciences 17(2), 270–279 (1978)MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Westlend, J.C.: Economic Incentives for Database Normalization. Information Processing and Management 28(5), 647–662 (1992)CrossRefGoogle Scholar
  10. 10.
    Lee, H.: Justifying Database Normalization: A Cost/Benefit Model. Information Processing and Management 31(1), 56–67 (1995)CrossRefGoogle Scholar
  11. 11.
    Millet, I.: Normalization on the Fly. Journal of Systems Software 40, 85–88 (1998)CrossRefGoogle Scholar
  12. 12.
    Vincent, M.W., Srivinasan, B.: A Note on Relation Schemas Which Are in 3NF But Not in BCNF. Information Processing Letters 48, 281–283 (1993)MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Du, H., Wery, L.: Micro: A Normalization Tool for Relational Database Designers. Journal of Network and Computer Applications 22, 215–232 (1999)CrossRefGoogle Scholar
  14. 14.
    Wolfram, S.: The Mathematica Book, 4th edn. Wolfram Media/Cambridge University Press (1999)Google Scholar
  15. 15.
    Bernstein, P.A.: Synthesizing Third Norm Relations from Functional Dependencies. ACM Trans. Database Systems 1(4), 277–298 (1976)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Ali Yazici
    • 1
  • Ziya Karakaya
    • 2
  1. 1.Computer Engineering DepartmentTOBB University of Economics & TechnologyAnkaraTurkey
  2. 2.Computer Engineering DepartmentAtilim UniversityAnkaraTurkey

Personalised recommendations