THE INFORMATIONAL DELUGE shows no signs of abating. We are inundated with data from the TV, from the Internet, and from advertisements stuffed in our mail boxes, virtual and otherwise. Unfortunately, as the quantity of information increased, its quality declined dramatically: Books were replaced by journals; then magazines; then newspapers; then web pages, blogs, and finally, tweets. The information becomes ever-more voluminous and ever-less trustworthy. Even worse, in the age of the Internet data never really disappears; it keeps accumulating, tucked away in files, logs, and databases. According to Google's former CEO Eric Schmidt, we create as much data in two days as we did from the first written record until 2003 (a date as good as any); this is about five exabytes (that is five billion gigabytes!) of data in just two days, and the pace keeps accelerating.
When electronic data storage became a reality, it brought about its own set of rules: To make sense out of the data, one had to learn the language. Relational database theory was so far the most successful attempt to bring electronic data under control, and it brought Structured Query Language (SQL) to go along with it.
The relational databases and SQL have evolved quite a bit since the 1970s when they made their first appearance, and the concepts embedded into the database SQL might appear counterintuitive to the uninitiated. By unraveling the SQL story, the reader will understand the rationale behind it and ...