Flat relational tables - Is the Earth flat?There are many people who advocate that flat relational tables should be replaced by new data models as a foundation for new and better database products.
A while ago, I came across a white paper with the title:
Very interesting stuff, so I would like to comment a few words on it;
Now, to take one quote from this white paper,
"As soon as there were programs, there was data."
Did you know: For more than 30 years, I have been walking around upon this Earth, believing that the whole computer industry, programs and computers, was a result of a demand for better tools to handle a steadily increasing volume of data. Actually, if you look into any library, church, old (and still alive) business, or whatever, you will find large amounts of data recorded by handwriting, long before computers and programs were invented.
In all fairness, I think we can safely say, that data (information) has always existed, but the last 50 years, we have been able to manage it better and better with the aid of ever faster computers and programs.
The above quote just states an opinion of what's most important, programs or data.
Here is my opinion and take on it: Without data, there would be no need for programs. What could you possibly use a computer program for, if you didn't have any information to feed it and consequently wouldn't get back a computed result/answer?
However, the above quote is unfortunately representative for professionals who see our industry only from the programmer's angle: The program is in focus, not the information. So, may I ask a simple question: What lasts the longest; programs or data? When your program terminates, even the last time it is used, the data (information) still resides on the harddisk. New programs are being written to handle the same information.
Information should not be organized according to how a specific language best can handle it. Languages come and go, information is lasting.
What is more important, is the image some are trying to build up, that the relational approach to database design is dying, or in need of being replaced with something new. I believe that those who claim this, cannot possibly understand the relational data model. If this is the case, then of course they are bound to make the same mistakes others have made before them.
Now to the ever returning argument of flat relational tables, that is: tables that are organized into rows with one or more columns, and therefore must be considered two-dimensional, that is:Flat.
Nothing could be further from the truth. The relational model has stood up well to any challenge for the last 35 years, and I have news for you: It will still be in use when all of us are retired and gone.
But before we go into more on flat relational tables, let me give you an analogy which relates directly to flat relational tables:
When I was a little kid, USA sent its first few spaceships to the moon. They sent back great pictures of the Earth, and here is a famous one:
Now, from what we can see here, the Earth is obviously flat, isn't it? It is a circle. Take a look at that Nine Planets site; great images, but: All the planets are flat! However, we do know better: Everyone who sails across the oceans, in a fixed direction (avoiding land, of course), will sooner or later come back to where they started from. Fernando Magellan did it (or rather, the part of his fleet that survived), and millions have experienced the same effect after him. Which should prove fairly well that the Earth is a sphere, not a circle.
However, pictured on a piece of paper, or as in this case, on your computer screen, the Earth appears to be dead flat.
We are experiencing an illusion, and I quote Chris Date:
"A picture of a thing is not the thing."
So, what has this got to do with flat relational tables? Quite a lot, actually. Another quote from the white paper:
"Relational databases represented data as being held in simple two-dimensional tables - an effective way to represent a lot of data in a way that programmers could easily understand."
This is perhaps where the confusion on flat relational tables comes from. (BTW: Do you notice the company's attitude towards us programmers? ;-)
The relational data model tells us to organize data into tables that have rows and columns. This makes it very easy to draw a picture of it:
How many dimensions do you see?. I would say two.
How many dimensions do you see? I would say three. The point is, an n-ary relation (let us for simplicity's sake say a table with n columns) has n dimensions.
Are these flat relational tables? Of course they are flat, in the sense that you are only viewing a picture of it on your screen. But you can arrange, slice and dice it in as many dimensions as you have columns...
If you look at something in a picture, you must remember that it is just a flat representation of the object(!) in the picture.
Remember: "A picture of a thing is NOT the thing!".
The term flat relational tables can be declared as the result of an illusion, due to the simplicity of the relational data model (in this sense): Mixing up the table itself with what you are really looking at, which is: A picture of the table!
This article will not go into a discussion of more complex dimensional aspects of the relational data model. A starter/hint can be found in the article on Atomic Database Values, and more will be added.
Finally, another quote from the "white paper":
"Vendors must shove aside their religious predisposition and embrace a hybrid approach or be left to molder with COBOL and punched cards."
Some kind of threat... Do you know what a punched card is? The
last time I used COBOL was in 1988.
BTW: Who is religious here? :-)
Actually, the relational data model is, as far as I know, the only model with a real foundation in mathemathics and logic behind it. Furthermore, the object community wants each object instance to contain both information and navigation. It's been tried before; We called it the network or hierarchic data model. It had such disadvantages that the need for something new was obvious. Hence the relational data model. Thank you, Codd. One of the points of the relational data model is to tell the system what you want, not how you want it.
600 years ago, people got literally flamed or burned if they claimed that the Earth was not flat. Today, people with little or no historical knowledge are flaming the only data model based on mathematics and a theorethical foundation. If you don't know the history, you are bound to repeat it. Seems like history is repeating itself once more. Speaking about history -
A last quote from the white paper: "Object Databases – The Missing Link"
As far as I know, the term "missing link" refers to the never-found chain in the evolution of man from monkeys to human beings. The missing link is therefore a thing from the past, necessary in our evolution, but obsolete today - We are new and improved.
The Earth is not flat.
Neither are so-called flat relational tables.
Let us terminate the term flat relational tables.
To be honest with you, dear reader, that is an idiotic "whitepaper", not worth the electrons it contains. THINK.
Free eBookSubscribe to my newsletter and get my ebook on Entity Relationship Modeling Principles as a free gift:
What visitors say...
"I just stumbled accross your site looking for some normalization theory and I have to say it is fantastic.Read more Testimonials
I have been in the database field for 10+ years and I have never before come across such a useful site. Thank you for taking the time to put this site together."
Theory & Practice
SQL Server DBA
Install SQL Server
Database Normalization eBook:
Copyright © www.databasedesign-resource.com / Alf A. Pedersen
All rights reserved.
All information contained on this website is for informational purposes only.
Disclaimer: www.databasedesign-resource.com does not warrant any company, product, service or any content contained herein.
Return to top
The name Oracle is a trademark of Oracle Corporation.