A nice article which talk about relation DB and OO. But I have an difference opinions, I think that advantage of relational database is the problem that OO like to prevent. The main advantage of relational database is the relatioal model make it easy to perform reporting. However, relation model is more difficult than hierarchical model (OO model) to enable encapsulation and polymorphism. Turn out, if we stand on OO programmer point of view, we will complaint that most RDBMS is in fact just a giant global variable; If we stand as DBA point of view, we will complaint other thing. Can we create something that optimize for both world? I don’t think so… http://jooto.com/blog/index.php/2005/11/17/databases-and-objects/ Update: a message also discuss about this: http://groups.yahoo.com/group/pragprog/message/5682 Update #2: A further analysis of ORM: http://www.codinghorror.com/blog/archives/000621.html