Need good example database schema

P

Patrick K. O'Brien

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?
 
M

Mark Carter

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.
 
P

Patrick K. O'Brien

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. ;-)
 
I

Istvan Albert

Mark said:
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.
 
P

Patrick K. O'Brien

Istvan Albert said:
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. ;-)
 
S

Steve Williams

Patrick said:
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.
 
P

Patrick K. O'Brien

Steve Williams said:
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?
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top