Slashdot Mirror


Evolutionary Database Design

Andre Mermegas writes "Check out this article by everybody's favorite object mentor Martin Fowler on database design. Be sure to take a peek at his wonderful books as well."

4 of 171 comments (clear)

  1. Re:relational databases, woo hoo by esme · · Score: 3, Informative

    I agree that relational databases are the best solution for most problems -- that's why they're the backbones of most apps these days.

    That said, there are some cases where they fall down. One example that I'm working on right now is organizing a million or so smallish documents. The relational design to store the documents with the same degree of specificity as the XML format they are in is ridiculously complicated. But storing them in an XML database (we're using Xindice, but have looked at Tamino, and a few others) is a lot simpler.

    Another downside of relational dbs is that it's generally pretty difficult to change your schema. A lot of XML databases, on the other hand, can be configured to not enforce a schema at all. So if you're working on a problem that requires experimentation on the basic schema, it can be a lot easier to use an XML database (or even just files on disk) instead.

    -Esme

  2. Re:relational databases, woo hoo by VP · · Score: 5, Informative

    I think many people are confusing Relational databases with SQL database - they are not one and the same. In fact, this site, one of the most vocal proponents of relational databases, states that none of the existing SQL databases is a true relational database. A quote from one of their articles ( "Little Relationship to Relational"):

    "Not only do most practitioners think that SQL DBMSs are relational, but they actually blame the problems due to SQL's violations of, or lack of adherence to relational principles on the relational model itself!"

    In my opinion, there is no reason that an object-oriented environment cannot implement the relational model, and thus be a true relational database.

  3. Re:relational databases, woo hoo by sql*kitten · · Score: 3, Informative

    Q. What do you lose by putting a document in as a BLOB?

    A. Granularity. The ability to have the database sort and extract parts of files at the tag level.


    That's not true. If you've the Oracle documentation to hand, read about interMedia (formerly known as ConText). It gives you extensions to SQL to use XPath-like statements to select from within an XML document in a CLOB.

  4. Re:relational databases, woo hoo by An+Elephant · · Score: 2, Informative
    In my opinion, there is no reason that an object-oriented environment cannot implement the relational model, and thus be a true relational database.

    You seem to have read the site, but missed some important points... Especially, their vehement opposition to objects as they are understood in most OO settings, and inheritance as it is understood in C++ and Java.

    In particular, object Id's (=pointers, references) violate the Information Principle, one of the basic tenets of the relational model.