The Smallest Seeds of Knowledge

The Polluted Namespace of Database Applications

Wikipedia will tell you about relational databases with terminology that will confuse any person used to the English language. Drilling down to the source of the term “relational”, we find in the article Relational model that

Relation” is a mathematical term for “table”, and thus “relational” roughly means “based on tables”.

You can keep drilling down through the articles until you get into set theory and start approaching the human usage of the word “relation”, which I understand to be: A logical or natural association between two or more things; relevance of one to another. (From relation.)

I don’t want to knock the work of Dr. E.F. Codd; his invention of the relational database has helped support my livelihood for half my lifetime. All I take issue with is the terminology, and understandably when the terms were coined, there wasn’t the familiarity with how this invention would be used that would lend it to better wordage.

More Questions than Answers

Anyone who has used a table of data knows that there’s a lot of knowledge being presented in a small space. The very simple table below seems at first glance to show the most basic of relationship representation:

   id    name     team
   1     Amy      Blues
   2     Bob      Reds
   3     Chuck    Blues
   4     Dick     Blues
   5     Ethel    Reds

But the apparent simplicity actually assumes a greater knowledge. Boiling it down to pieces, we find that:

  • id is probably a unique integer the database uses to keep track of the link between name and team
  • name is the first name of a person
  • team is the name of a group of people

And so when we use the table, we have lots of questions.

  • Can a person be on more than one team?
  • Can a team exist if there are no people assigned to it?
  • What do we do if there is more than one person with the same first name? Do we put the last name in the name field, or do we make a separate field for a last name? And if there are two people with the same first and last name, what do we do then? If a team changes its name, how does that change the assignments?
  • Who is recorded this information? Did they spell everyone’s name right? Did they make any mistakes as to which team the people were assigned?
  • Who actually assigned these people to a team? What was their basis for assigning these people to one team over another?
  • Are there constraints to how many people are to be on a team? Do you have a minimum number in order to play? Do you have a maximum to play at a time? What do you do with additional people?

The Start of a Good Relationship

One thing that’s obvious to start with is that there are two teams. Those teams could, and might very well want to, change their names to something more sporty — lets say the Lobsters and Clams. So there is a relationship here between the name of the team and the team itself.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: