Need good example database schema

Discussion in 'Python' started by Patrick K. O'Brien, Aug 29, 2003.

  1. I'm looking for a good schema to use as an example for an object
    database system. Something like a books/authors/publishers or
    teachers/students/courses kind of thing. There are plenty of examples
    of such to be found, especially in the academic literature involving
    object databases, but most of them are pathetic. It's hard to take a
    schema seriously when it shows MarriedTeacher inheriting from Teacher,
    etc. I want something that makes proper use of inheritance, has
    classes with reasonable attributes, and does a decent job reflecting
    reality (ie, books can have more than one author, a teacher of one
    course could be a student of another, etc.). Any suggestions?

    --
    Patrick K. O'Brien
    Orbtech http://www.orbtech.com/web/pobrien
    -----------------------------------------------
    "Your source for Python programming expertise."
    -----------------------------------------------
    Patrick K. O'Brien, Aug 29, 2003
    #1
    1. Advertising

  2. Patrick K. O'Brien

    Mark Carter Guest

    (Patrick K. O'Brien) wrote in message news:<>...

    > I'm looking for a good schema to use as an example for an object
    > database system. Something like a books/authors/publishers or
    > teachers/students/courses kind of thing. There are plenty of examples
    > of such to be found, especially in the academic literature involving
    > object databases, but most of them are pathetic. It's hard to take a
    > schema seriously when it shows MarriedTeacher inheriting from Teacher,
    > etc. I want something that makes proper use of inheritance, has
    > classes with reasonable attributes, and does a decent job reflecting
    > reality (ie, books can have more than one author, a teacher of one
    > course could be a student of another, etc.). Any suggestions?


    I found a link:
    http://www.geocities.com/tablizer/oopbad.htm
    (and there are others) who suggest that object-oriented databases
    aren't a good idea. Tabular databases (and in fact a tabular design
    rather than an object-oriented design in general) are more often than
    not likely to be a better bet.

    But I am of course generalising.
    Mark Carter, Aug 29, 2003
    #2
    1. Advertising

  3. (Mark Carter) writes:

    > (Patrick K. O'Brien) wrote in message news:<>...
    >
    > > I'm looking for a good schema to use as an example for an object
    > > database system. Something like a books/authors/publishers or
    > > teachers/students/courses kind of thing. There are plenty of
    > > examples of such to be found, especially in the academic
    > > literature involving object databases, but most of them are
    > > pathetic. It's hard to take a schema seriously when it shows
    > > MarriedTeacher inheriting from Teacher, etc. I want something
    > > that makes proper use of inheritance, has classes with reasonable
    > > attributes, and does a decent job reflecting reality (ie, books
    > > can have more than one author, a teacher of one course could be a
    > > student of another, etc.). Any suggestions?

    >
    > I found a link:
    > http://www.geocities.com/tablizer/oopbad.htm
    > (and there are others) who suggest that object-oriented databases
    > aren't a good idea. Tabular databases (and in fact a tabular design
    > rather than an object-oriented design in general) are more often
    > than not likely to be a better bet.
    >
    > But I am of course generalising.


    In that case, maybe I should stop developing my Python ODBMS. ;-)

    --
    Patrick K. O'Brien
    Orbtech http://www.orbtech.com/web/pobrien
    -----------------------------------------------
    "Your source for Python programming expertise."
    -----------------------------------------------
    Patrick K. O'Brien, Aug 29, 2003
    #3
  4. Mark Carter wrote:

    > I found a link:
    > http://www.geocities.com/tablizer/oopbad.htm
    > (and there are others) who suggest that object-oriented databases
    > aren't a good idea. Tabular databases (and in fact a tabular design


    Actually what the link above suggests is that OOP is evil
    in general. The brief discourse on OOP not being appropriate
    for data modeling is just a tiny part of it. To sum it up
    for those that do not want to read it:

    OOP = Communism

    Istvan.
    Istvan Albert, Aug 29, 2003
    #4
  5. Istvan Albert <> writes:

    > Mark Carter wrote:
    >
    > > I found a link:
    > > http://www.geocities.com/tablizer/oopbad.htm
    > > (and there are others) who suggest that object-oriented databases
    > > aren't a good idea. Tabular databases (and in fact a tabular
    > > design

    >
    > Actually what the link above suggests is that OOP is evil in
    > general. The brief discourse on OOP not being appropriate for data
    > modeling is just a tiny part of it. To sum it up for those that do
    > not want to read it:
    >
    > OOP = Communism


    And his comparison of OO vs. Relational shows equally deep insights.
    Here is his summary of that situation:

    "The base philosophical differences I seem to have with the OO
    paradigm seem to boil down to the appropriateness of trees, the
    appropriateness of global taxonomies compared to local or ad-hoc
    taxonomies, and the network-database-like structure of OO versus
    relational."

    He can't seem to see the forest for the trees, or so it seems. ;-)

    --
    Patrick K. O'Brien
    Orbtech http://www.orbtech.com/web/pobrien
    -----------------------------------------------
    "Your source for Python programming expertise."
    -----------------------------------------------
    Patrick K. O'Brien, Aug 30, 2003
    #5
  6. Patrick K. O'Brien wrote:
    > I'm looking for a good schema to use as an example for an object
    > database system. Something like a books/authors/publishers or
    > teachers/students/courses kind of thing. There are plenty of examples
    > of such to be found, especially in the academic literature involving
    > object databases, but most of them are pathetic. It's hard to take a
    > schema seriously when it shows MarriedTeacher inheriting from Teacher,
    > etc. I want something that makes proper use of inheritance, has
    > classes with reasonable attributes, and does a decent job reflecting
    > reality (ie, books can have more than one author, a teacher of one
    > course could be a student of another, etc.). Any suggestions?
    >


    There are objects and then there are relationships between objects.

    Expand your concept of schemas to include relationships as independent
    objects (I call them Relators in my work) and you'll have more luck with
    reflecting reality.

    - Author is a relationship between book and person

    - Book contract is a relationship between author and publisher

    - Royalty is an attribute of book contract

    The hierarchy of object inheritance misses out on the web of relationships.

    Now add the time dimension to your objects and relationships and
    metadata, and you'll *really* start to reflect reality. Google bitemporal.
    Steve Williams, Aug 30, 2003
    #6
  7. Steve Williams <> writes:

    > Patrick K. O'Brien wrote:
    > > I'm looking for a good schema to use as an example for an object
    > > database system. Something like a books/authors/publishers or
    > > teachers/students/courses kind of thing. There are plenty of examples
    > > of such to be found, especially in the academic literature involving
    > > object databases, but most of them are pathetic. It's hard to take a
    > > schema seriously when it shows MarriedTeacher inheriting from Teacher,
    > > etc. I want something that makes proper use of inheritance, has
    > > classes with reasonable attributes, and does a decent job reflecting
    > > reality (ie, books can have more than one author, a teacher of one
    > > course could be a student of another, etc.). Any suggestions?
    > >

    >
    > There are objects and then there are relationships between objects.


    Agreed.

    > Expand your concept of schemas to include relationships as
    > independent objects (I call them Relators in my work) and you'll
    > have more luck with reflecting reality.


    While I agree that many relationships deserve to be independent
    objects, I've never been comfortable with the notion that they
    deserve a category of their own (Relators, for example). Especially
    when they aquire attributes of their own (Royalty as attribute of book
    contract, for example). To me there are just entities: book, person,
    authorship, contract, publisher (actually should be a role played by
    an organization with respect to a book), etc.

    Can you provide more details about your Relators? Do they have
    functionality that other entities do not? Where do you draw the line
    between an entity and a relator?

    > - Author is a relationship between book and person
    >
    > - Book contract is a relationship between author and publisher
    >
    > - Royalty is an attribute of book contract
    >
    > The hierarchy of object inheritance misses out on the web of
    > relationships.


    Again, I agree. Do you have any examples that don't miss out on this?

    > Now add the time dimension to your objects and relationships and
    > metadata, and you'll *really* start to reflect reality. Google
    > bitemporal.


    Interesting stuff there. Thanks for the Google tip.

    I'm curious about your work. Can you tell me more?

    --
    Patrick K. O'Brien
    Orbtech http://www.orbtech.com/web/pobrien
    -----------------------------------------------
    "Your source for Python programming expertise."
    -----------------------------------------------
    Patrick K. O'Brien, Aug 30, 2003
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Markus
    Replies:
    1
    Views:
    1,497
    Markus
    Nov 23, 2005
  2. Stanimir Stamenkov
    Replies:
    3
    Views:
    1,173
    Stanimir Stamenkov
    Apr 25, 2005
  3. triad717
    Replies:
    2
    Views:
    561
  4. pwong
    Replies:
    1
    Views:
    341
    Michael Nemtsev
    Sep 30, 2007
  5. Thin Myrna
    Replies:
    0
    Views:
    434
    Thin Myrna
    Jan 3, 2008
Loading...

Share This Page