Re: Databases as objects



Ed Kirwan wrote:
<snip>

Your (very interesting) proposal, however, seems similar(ish) to the ideas that pop up from time to time whenever DBers and OOers meeting for a ho'down and some line-dancing. The general result of these fun evenings is that DBers point to OO's diluting of the power of the DB in some way (I've never been sure how). The point is: if you really want some good DB-centric advice on your proposal, you should consider posting to comp.databases.theory - those folks know everything there is to know about DBs and could help you plug any leaks in your endeavours (and perhaps save you some time in your studies).
Thank you for the recommendation. I'll post it separately to avoid the devolving arguments. ;-)

<snip>

PS On an OO note, regarding your, "My schema is a class/my DB is an object," concept (again, very interesting). I presume here you mean the DB as the data it contains, rather than a particular vendor's DB such as Oracle, etc. If so, then there should be a concept of changing the data wholesale for some other data, without affecting the users of that data (i.e., the application).
In theory (isn't it always) if the interface was consistent between tailors and auto manufacturers then the answer would be yes. That would be a kind of polymorphism. Of course, it depends on the interface staying intact. If the interface is broken it matters little what's on either side of it--the system is broken.

The metanoia I'm advocating cares little for the DB's vendor. Once you've created a specific database model to support your application domain you've created a hypostasis. You started with an empty database with infinite potential and tailored its purpose for your specific needs and given it an identity of its own. You started with the general and hypostatized to the specific. Your database is no longer general purpose. Its design is intellectual property and its contents proprietary.

This is what happens when we subclass Object to create something specific, like a Date. Object has the potential to be anything, but Date has been modified for a specific purpose. It, too, has been hypostatized. Date has become a species independent of its superclass with unique data and behavior.

--
Visit <http://blogs.instreamfinancial.com/anything.php> to read my rants on technology and the finance industry.
.