CODD's 12 rules
Because most of the work in this project gravitates around relational data modeling, we start with the very beginning in this short history of the model, together with emphasizing its main aspects. Databases have existed from centuries as record keepings methods like ledgers or card catalogs and many others.
The foundations of the mathematical, scientific perspective on databases go as back to 1874, with the work of Cantor , a German mathematician that was the inventor of set theory. D.L. Childs uses elements of the set theory in his paper  and makes another step forward by introducing for the first time data queries based on mathematical set operations : union, intersection, cardinality, and Cartesian product. Even if he didn't realized at that time, he was making the first step towards independence from physical structures and the birth of the logical level .
The concept of relational databases in the modern perspective was first described by Edgar Frank Codd (almost exclusively referenced as E. F. Codd in technical literature) in the IBM research report RJ599, dated August 19th, 1969. However, the article that is usually considered the cornerstone of this technology is \"A Relational Model of Data for Large Shared Data Banks\" published in 1970.
Additional articles by the same author, the parent of relational databases Dr. E. F. Codd ( published in between the 1970s and 80s ), are still considered gospel for relational database implementations. His famous \"Twelve Rules for Relational Databases\" were published in two Computerworld articles \"Is Your DBMS Really Relational?\" and \"Does Your DBMS Run By the Rules?\" on October 14 and 21 1985. He has since expanded on the 12 rules, and they last time numbered an astonishing 333, as published in his book  \"The Relational Model for Database Management, Version 2\" , in 1990.
The motivation for Dr. Codd's work is that his vision of the relational database was on the verge of dilution in the 1980's as the database vendors of the time were scrambling to repackage existing products with a relational flavor, and he was trying to avoid this for happening. Out of the 12 famous rules of Dr. Codd, which in fact are 13 , we quote from  the first one, Rule 0: "For a system to qualify as a relational, that system must use its relational facilities (exclusively) to manage the database". Without getting at all into the details like practical aspects of the model, we say that there is a general perspective nowadays regarding the model and RDBMS ( Relational Database Management Systems ) in general. When presenting the theoretical elements of relational modeling we will refer among others to Jan Speelpenning's  book and present its views and analysis on some of the disputed issues of the domain.
In the last three subchapters we overview more specific aspects with which we will deal throughout the project, namely the SQL language ( and standard ), some design patterns and the debate in the programming community regarding to how and where an application should place its business rule layer, and finally the last subchapter will present the current directions of the software industry for the type of application like Epocrates.