From: Austin Ziegler Date: 2007-03-29T09:54:31+09:00 Subject: Re: Object/Relational Mapping is the Vietnam of Computer Sci On 3/28/07, Daniel DeLorme wrote: > Austin Ziegler wrote: > > Well, it isn't. And most SQL databases are still better structured > > than object databases will ever be. > disclaimer: I have plenty of experience with SQL but none at all with > object databases. > > That being said, it seems to me that OODBs are simply an object-based > implementation of a relational database, as opposed to the current crop > of SQL databases which are record-based. Otherwise the concepts between > OODB and SQLDB seem to map 1-to-1. Instead of rows in tables you have > objects in a graph. Instead of a foreign key you have a direct pointer > to an object. Instead of an index on a foreign key (Foo#bar) you keep a > list of references (Bar#foo[]) in the foreign object. There's no theory behind OODBs, much less relational theory. OODBs are ways to serialize your object graph. The concepts between OODB and SQLDB barely map at all, except that they both store data; the concepts between OODB and relational theory are so far apart as to not even be on the same planet. You don't normalize data in object databases; there's no reason to do so. You structure things according to your application's object model -- and pray to Codd that you never need to access the data in a different way than your object model. > These are physical implementation details, not major conceptual > differences. And I fail to see how that makes an OODB inherently > hierarchical. Of course it's possible to make a hierarchical object > model but that only reveals the incompetence of the designer, not of > OODBs as a whole. Object graphs are inherently hierarchical, not relational. I suspect you'll be enlightened even by what's on Wikipedia, flawed as it is. I strongly recommend you read that and what's on Ward Cunningham's c2 wiki; you'll learn a lot more than I have patience to explain right now, because OODBs are conceptually no different than hierarchical databases from the 1970s married to conceptually "hot" object orientation. Same thing with XML databases. Hierarchical databases can have value, but rarely as much as their proponents suppose, and never as much as relational databases. -austin -- Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/ * austin@halostatue.ca * http://www.halostatue.ca/feed/ * austin@zieglers.ca