Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)
Date: Wed, 31 May 2006 14:17:58 -0500
Message-ID: <2006053114175897157-unclebob_at_objectmentorcom>
On 2006-05-31 10:53:23 -0500, Bob Badour <bbadour_at_pei.sympatico.ca> said:
> Robert Martin wrote:
> The decision to use SQL or Relational technology is NOT at the
>> core of the system. But the structure of the data IS. That structure >> can, and should, be decided in a technolgy agnostic way for as long as >> possible.
>
> And this is why I say that what you write is such ignorant tripe.
> A logical data model provides the structure, manipulation and integrity
> for a formal system. A good logical data model imposes no particular
> structure on the data as a whole while it does provide a structure in
> which to represent data. In fact, the structure of the data itself
> depends largely on one's point of view. One drastically alters the
> appearance of any graph by starting at a different location and
> traversing the edges in different directions.
>
> As a logical data model, the relational model works very well
Surely.
> while the available alternatives work very, very poorly by comparison.
Certainly there are application domains where I would not hesitate to use RDBs. There are also application domains where I would not think of using them at all. So for some application domains RDSBs work very poorly, and other mechanisms work much better.
> Even if one is forced to use a non-relational product, one would have
> to be a complete ignorant fool not to analyse the design relationally.
> It is, after all, the only formalism we have for data that is, itself,
> predicate logic and that treats all data symmetrically.
I disagree. There are many data representations that can be useful and
fruitful. The oft touted formalism of RDBs is fine; but does not
preclude other mechanisms. For example, simple data structure
representations are sometimes much more convenient and efficient than
an RDB. As another example, consider your laptop. A lot of data is
organized on that laptop using a directory and file structure rather
than an RDB. This seems to work quite well as a general purpose
organizing principle. There is no hue and cry for our filesystems to
suddenly be RDBs.
>
> As the only available symmetric data model, it is the only logical data
> model that even begins to allow one to consider data in a technology
> agnostic way.
Again I disagree. I agree that RDBs DO allow a technology
independence. However, they are not the only means to achieve this.
Again, consider filesystems. I am currently typing this on a macintosh
that has a window open with MS windows running inside. The Windows
filesystem can see into the mac file system with no trouble. Indeed,
the virtual windows OS can see accross the network to another windows
machine and see the files there. Filesystems seem to be quite
technology agnostic.
>
> Given that, what you wrote above was self-contradictory while
> suggesting you live in some fantasy world where data may only ever
> appear in a single graph.
You might be surprised at the world I live in.
-- Robert C. Martin (Uncle Bob) | email: unclebob_at_objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 |Received on Wed May 31 2006 - 21:17:58 CEST