Re: Is a RDBMS needed?

  • From: Laimutis.Nedzinskas@xxxxxx
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Mon, 18 Jul 2011 10:27:13 +0300

>Stephane Faroul
>When Codd designed the relational model, it was partly to get rid of the
pointer-based navigation that was plaguing the so called
"Codasyl" (network)
model. There was a legendary debate back in 1974 between Codd and Bachman
(the
Codasyl champion)  - you may be interested by this (long) interview of
Bachman,
he refers to the OO "model" page 105/106:
http://portal.acm.org/citation.cfm?id=1141882 - which he still seems to
favor


First, many thanks Stephan for providing a link to Bachman's interview. A
very enlightening reading really. When he talks 1974 - 1974 I was just
born :)

Secondly, he does provide (in a few short paragraphs actually !) in which
areas network database wins.

Funny enough, the best database modellers I met favoured what I see now as
a network database model but implemented in RDBMS. Every entity had a
surrogate key. Every foreign key pointed to surrogate primary key. Why?
Because of:

a) performance  - compound indexes are quite slow  ( but not fat or
covering indexes - only that space was too expensive for us at that time )

b) clarity - joins are simple. If foreign keys are in place (and in those
Oracle CASE Designer days they were in place) - the database model is
readable any time. Even with data model documentation lost or ill
maintained.

c) You said "Pointers are fine as long as you don't need to change things
and maintain the
application." I agree as far as physical storage is concerned. If a pointer
points to disk track A, sector B, offset C then yes, that's an issue. But
when nowdays we have several virtualizations until we get into disk ... I
am not that sure.
But pointers (i.e. surrogate keys) are just fine and save the day when
primary key changes.


What I want to say is that it is possible to achieve in RDBMS most of good
things a network model has. But (there is a but) - given a proper data
model.  How many good database modellers do you have theese days, see
Bachman - "Essentially the average skill of people doing programming system
design in 1964 I would characterize as being higher than the average skills
in 1974, simply because there’s a much bigger population going into the
field."

Finally, after I discussed this thing with my wife she said (and she used
to program with Oracle Reports) - "yes, that's a good thing to have
pointers in DDL just like network model has. It would save so many hours
trying to figure out how to write the SQL joins for a particular report
given only a vague database documentation" In such things I listen to my
wife :) She objectively has more experience than I in trying to fetch data
from rdbms.



Brgds, Laimis N













---------------------------------------------------------------------------------

Please consider the environment before printing this e-mail

--
//www.freelists.org/webpage/oracle-l


Other related posts: