What makes relational databases relational?

Do you know why relational databases are called relational? I commonly see explanations such as this:

an RDBMS is called a relational database system because the data is stored in tables.

There, now that’s all cleared up! Or not.

The most common explanation or reason I hear cited for the name is that it’s because of relationships between data. But this isn’t really accurate.

The real reason is because of something called relational algebra, which takes its name from a mathematical construct called a relation. It really doesn’t have any obvious or intuitive association with “relationships.” It’s one of those words that a mathematician redefined for a very specific purpose, and that was the end of it. Just like in computer science, where we use words such as “inheritance,” “class,” and “instantiate” in very specific ways that don’t make sense to non-programmers, “relation” has a meaning that makes most people’s eyes glaze over.

Now, we can get into further arguments about whether relational databases are really relational – and lots of people do that – but I’ll stay away from that for the time being.

And in my best Paul Harvey voice, it’s time to say “and now you know… the rest of the story!”

I'm Baron Schwartz, the founder and CEO of VividCortex. I am the author of High Performance MySQL and lots of open-source software for performance analysis, monitoring, and system administration. I contribute to various database communities such as Oracle, PostgreSQL, Redis and MongoDB. More about me.