473,383 Members | 1,861 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

Need good example database schema

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."
-----------------------------------------------
Jul 18 '05 #1
6 5788
po*****@orbtech.com (Patrick K. O'Brien) wrote in message news:<m2***************@orbtech.com>...
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.
Jul 18 '05 #2
ca**********@ukmail.com (Mark Carter) writes:
po*****@orbtech.com (Patrick K. O'Brien) wrote in message news:<m2***************@orbtech.com>...
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."
-----------------------------------------------
Jul 18 '05 #3
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.

Jul 18 '05 #4
Istvan Albert <ia*****@mailblocks.com> 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."
-----------------------------------------------
Jul 18 '05 #5
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.

Jul 18 '05 #6
Steve Williams <st***********@wwc.com> 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."
-----------------------------------------------
Jul 18 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

18
by: Tad Marko | last post by:
Howdy! I'm trying to get my head around Python and I've come to realize that there are a lot of idioms in Python that are a bit different than in other languages. I have a class similar to what...
36
by: toedipper | last post by:
Hello, I am designing a table of vehicle types, nothing special, just a list of unique vehicle types such as truck, lorry, bike, motor bike, plane, tractor etc etc For the table design I am...
9
by: sk | last post by:
I have an applicaton in which I collect data for different parameters for a set of devices. The data are entered into a single table, each set of name, value pairs time-stamped and associated with...
1
by: Rohit Raghuwanshi | last post by:
Hello all, we are running a delphi application with DB2 V8.01 which is causing deadlocks when rows are being inserted into a table. Attaching the Event Monitor Log (DEADLOCKS WITH DETAILS) here....
11
by: David Pradier | last post by:
Hi ! I've just inherited the responsibility of a postgresql database of roughly 480 tables and 6460 columns, mainly without constraints, not even foreign keys. I'd like to make it a little...
9
by: Angelos | last post by:
First of all I need to thank you in advance... Now I 'll try to show you what I want do and if you can, tell me how My class should be composed. I have a CMS. I add content and that Content can...
3
by: mateo | last post by:
Hello i would like to have advices on an ASP.NET 2 application that i must develop. I'm new to ASP.NET, i am more of WinApp developper, so if there is some experienced folks out there all advices...
8
by: pamelafluente | last post by:
I am beginning aspNet, I know well win apps. Need a simple and schematic code example to start work. This is what I need to accomplish: ---------------------- Given button and a TextBox on a...
3
by: stefan.rickfjord | last post by:
Hi, I am a newbie to programming using XML and I'm currently working on a side-project which will house some database information in a XML-file. I am writing a DTD to specify the XML-format,...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.