Subject Re: [ib-support] Firebird mention
Author Paul Schmidt
On 30 Jul 2002 at 8:57, Martijn Tonies wrote:

> Hi,
> > You are right that inheritance can be simulated by additional tables
> > and views, but there is other overhead to make the views updateable
> > and so on. There are several object oriented database systems which
> > save developer a lot of time by means of inheritance of tables. This
> > idea is not as mad as one can say. I am sure this is the future of
> > database programming.
> Inheritance and object orientation the future of database programming?
> Not at all - object orientation is a very nice way of programming -
> but it simply doesn't apply to databases. What does inheritance
> actually mean? Extending base classes with more functionality ... and
> then some. What does it mean with databases? Extending a table?
> Rubbish. The only way to design a database is relational - it is based
> on a solid mathematical foundation. Not ANY so-called "new" database
> mechanism is based on anything, let alone solid and proven.
> This does not mean that I reject object orientation - not at all, I
> use it in my programs extensively (Delphi, Java). But if you store
> objects, better create a object-relational mapping...

I have in my library a book from 1976 that makes the same argument, however the
new idea at that time was RDBMS being compared to the solid and proven
Hierarchical database systems in common usage at that time. So 26 years from
now, we may be looking back fondly at SQL in the same way.

As for extending tables, your taking OO and applying RDBMS thinking to it, and that
typically means things don't compute:-) However if you think about the application
side, fields are objects, tables and result-sets are objects, connections are objects,
so the question becomes could a connection object in an application be easier to
implement if it represented a connection object inside the database itself. How
about this, if you want a result-set object, you simply define the object and let the
database figure out how to put that object together, without the need for an SQL

Paul Schmidt, President
Tricat Technologies