"The key, the whole key, and nothing but the key, so help me Codd." That's the mnemonic I still use to help me remember the difference between the second and third normal forms of a normalized database (in second normal form, a nonkey column depends on the whole primary key; in third normal form, it depends on nothing outside the primary key).
Edgar F. Codd, the father of the relational database model, died April 18, 2003, at the age of 79. Codd's groundbreaking work in the field of relational database management systems (RDBMSs) paved the way for what many of us do professionally. Database administrators' and developers' lives would be radically different today without Codd's work and the subsequent commercialization of the relational model by major database vendors.
Working as an IBM researcher in 1970, Codd developed 12 rules of database design that have become the guiding light for the design of all modern relational databases. As SQL Server Magazine senior technical editor Michael Otey notes, "Although most databases don't conform to all 12 of Codd's rules, the rules of database design that he conceived are as vital today as they were when they were introduced, and their core concepts have since formed the basis of all of today's commercial relational database systems."
What was the database world like before the relational model? Most databases used network or hierarchical data models, which required you to define relationships before executing queries. As we all know, SQL now lets us query data in a more flexible manner and doesn't require us to define all of our query paths in advance.
In his original paper, "A Relational Model of Data forLarge Shared Data Banks", Codd explained the significance of his new model: "The relational view (or model) of data...appears to be superior in several respects to the graph or network model presently in vogue for non-inferential systems. It provides a means of describing data with its natural structure only—that is, without superimposing any additional structure for machine representation poses. Accordingly, it provides a basis for a high level data language which will yield maximal independence between programs on the one hand and machine representation and organization of data on the other."
Of course, the relational model seems simple and obvious today, but Codd's model was anything but obvious at the time, and it paved the way for a $7 billion industry that's at the center of all business-based computing today. This week, take a moment to honor the contributions of a giant in the world of database. If you haven't already done so, read Codd's original paper. You might be amazed at the innovation of a person who knew how to think outside the box—before most of us even knew there was a box.
Learn more: When Not to Normalize Your Database