Frank, nice to see you back. I've also been gone a couple of weeks (not voluntarily - on the road/busy).
Thank you Frank and to all of you for making interesting forum article reading.
I hope I don't ramble to much here, but I do have some thoughts...
I'm by no means a theoretical database expert, or for that matter cared very much about
the theoretical reasons for databases and how the data model is designed. In my opinion,
the database and DBMS exist for the purpose of recalling information in a form and
accuracy required by the querier. Personnally I've tended to gravitate toward DBMSes that
provide me with a rich programming environment "close" to the data, while providing
the performance required by the application(s). We all know that given enough time, we
could write interfaces to make most all the DB models "look" the same to the end user,
and also the programmer. At this time the relational model, the DBMSes that support
it, seem to provide the best (in most) of the database & programming aspects we all
consider important.
I think we mostly like the relational model because it's the closest thing to the type
of data we deal with most of the time: "Business Data". Since this is the kind of data
where the "money" is, it's had the most effort put towards it. This is why we have ever
evolving and better DBMSes as the computer age matures. I think the way todays computers
are built, and the way business conducts itself, has created the databases & DBMS we see
today.
Here comes the Sci-Fi part...
I agree with Frank on the notion that the future holds exciting new database models to
discover. I've always wondered about the merger of motion pictures (and now with DVD,
random access motion pictures), virtual reality (VR) and databases. Remember the "goal" of
the database: "To recall information". I can imagine a VR interface to database data, such
as Lawnmower Man movie kind of portrayed, where the user navigates to the targeted information
using the basic "human with world" interface(s). Whether it's voice recognition or just plain
old thought that formulates the "query", the end result is that the user recieves the
information requested.
Another slant I have, is the human brain itself. What a wonderful database! All kinds of input
sources, recall methods, fuzzy logic, and even "imagination". Imagination = make new data from
sometimes nothing, WOW! I know your saying, or at least I'm thinking... what about data integrity
and accuracy? The brain fails so often in this respect. Well my answer to that is: some data does
NOT have to be completely accurate. Let me give some examples. Any of us that have tables that
contain street addresses, most of the time do not care if the user typed in "123 Main Street" or
"123 Main Str.". Also, in some high volume DBMS COUNT() may produce inaccurate results. So do we
care about accuracy? Sometimes. The brain seems to figure this out for us pretty good. i.e. It
recalls accurately my wife's birthday (most of the time). Also seems to keep my heart beating
while I sleep, and has done this unfailingly, or at least to my satisfaction for many years.
It can also recall some thing with great accuracy such as anything times zero equals zero. We also
"know" things like a red traffic light means stop etc. These are "learned". Other things our brain
just knows on it's own. So I think data integrity and accuracy are not absolutes, more degrees of
suitability to the task at hand. There are many comparisons to be made between how our brain works
and how users want to use computer databases. I also think that accuracy and reliability can be
build into man-made databases that can overcome "flaws" that natural databases may have in them.
There is another "database" that is extreamly facinating... The DNA molecule and it's chromosomes.
Two "databses", combining to make a new, unique structure, and likely containing more data than
any of us ever deal with.
I know this is biological stuff, but the biological world is the only real place to look, outside
of our own human inventions, for things that are "self changing" or "alive".
I think the relational model will be used for business databases for quite sometime. Other
applications such as medical/scientific and entertainment will most likely use proprietary
database models. Only if they achieve "critical mass" (enough $$$$) would any of them become
mainstream. Relational databases will be used (and stretched) for tasks having little to do
with business data, because it is mainstream, and more resources are available to accomodate
the needs quickly. This my be close-minded on my part, but I think until computers operate
in a very different manner than they do today, the database models available to us will be
pretty much a form of what we using today, just much more advanced perhaps as time goes by.
One thing the relational data model does not do well, or not at all, is "analog" pattern matching.
Example Query: Name the people who are in the same photograph with me within the last year,
who are not relatives....etc. You get the picture (pun intended). Future database models might
handle stuff like this, and might even handle business data better than the relational model
does. Who knows? I think this type of database ability goes beyond "Type" support referenced
by Chris, and requires other/different database models.
Just my $.02
Once you understand the BITs, all the pieces come together