From: Austin Ziegler Date: 2007-03-29T21:39:54+09:00 Subject: Re: Object/Relational Mapping is the Vietnam of Computer Sci On 3/29/07, Daniel DeLorme wrote: > Austin Ziegler wrote: > >> an OODB can therefore be relational. > > Wrong. This is completely backwards. The relational model can > > *certainly* model an object graph; an object graph is not thereby > > automatically relational. You're assuming that "a therefore b" also > > means "b therefore a" and that just ain't the case at all. > I think *you* have it backwards. All relational models can be expressed > with an object graph but not all objects graphs can be expressed with a > relational model. Which is why I said than an OODB *can* be relational, > not that all OODBs are inherently relational. Um, no. All object graphs can be modelled in a relational schema (that is, an instance of the relational model). Some of them aren't convenient to do, but they can be modelled. Object databases, on the other hand, reject that theory. There's nothing that says that an object database couldn't be based on the relational model. Sadly, object database vendors *pride* themselves on their relational model ignorance. It's that simple. > > Object database proponents tend to believe that the relational theory > > is ... bunk. > It's not because some OODB proponents are ignorant that it makes OODBs > an inherently worthless concept. I'd rather base my opinion on my own > analysis of the potential rather than the claims of the > proponents/marketers. The potential of an object layer on top of the relational model is definitely possible and would be very useful, although you *really* want to use the proper relational model (e.g., not even what SQL database vendors are selling these days -- since we're talking *potential* here). The reason I mentioned "The Third Manifesto" is that it's an attempt by colleagues of Fabian Pascal (Chris Date and Hugh Darwen) to deal with this: http://en.wikipedia.org/wiki/The_Third_Manifesto Really worthwhile, from everything I hear. I just have too many things to do to risk being inspired by this thing right now ;) > > points I mentioned earlier, though (Wikipedia and the c2 wiki) are > > really good and get you ready for understanding much of what Fabian > > Pascal and Chris Date say. > After reading the "Interpretation" part of the wikipedia article I think > I'm starting to understand your position. You like the elegance of set > operations, the higher-level abstraction of manipulating relations > rather than individual rows. Am I right? Well anyway it didn't change my > opinion. I still believe that: > > tuples of relation == rows of table == instances of class Sadly, that's not how current object databases work. Additionally, you generally won't model your classes exactly the same as your relations as I was mentioning to my off-list correspondent. You should model your objects on your queries more often than not. If what you're saying is that there isn't a meaningful object-relational impedance, I'd agree with you completely. However, the perception of an object-relational impedance has caused a lot of people to hare off in directions that don't make any sense whatsoever. -austin -- Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/ * austin@halostatue.ca * http://www.halostatue.ca/feed/ * austin@zieglers.ca