Subject Re: Data Models [was: Well, here we go again]
Author scott_michael_meyer
--- In Firebird-Architect@yahoogroups.com, Jim Starkey <jstarkey@...>
wrote:
>
> scott_michael_meyer wrote:
> > So why not scrap inheritance altogether and work with
> > identities and properties of identities (values or
> > relationships to other identities)? As it happens,
> > I have a working example of such a system, freebase.com.
> >
> > If you consider an interesting identity:
> >
> > http://www.freebase.com/view/en/arnold_schwarzenegger
> >
> >
>
> Scott, I'm not ignoring your interesting post, I'm thinking about both
> it and Philip's recent post on multiple inheritance.
>
> The argument, as I see it, is that types don't necessarily fall in a
> simple hierarchy. The example is Schwareznegger, who has a base
> identity of a person but who is also an actor (well, sort of), a
> politician, and a retired model, and while actors and politicians are
> not strictly unrelated, neither can be said to inherit from the other.

Actually, there is no typed "base identity." Arnold as
Person is no different from Arnold as politician. We
could remove the Person type from Arnold without causing
any sort of representational fire drill.

That is one argument for MI. Another is that, in a
collaborative environment, identity is the only thing
that we can be reasonably certain about agreeing on.
Schema will be subject to endless debate and revision.

> I'm convinced that the object model doesn't work for databases; the
> death of a dozen OO database companies pretty much catalog the manifest
> problems. But the idea of extending the relational model to increase
> the flexibility of data is well worth exploring.

So the OODB industry broke down into OO-centric group
which emphasized the object model at the expense of
queryability and the relational group which tried to
layer objects on top of tables. Either approach has
horrible shortcomings, but those are not the only
approaches.

I think that Hammer and McLeod were on to something (table
as abstraction instead of table as implementation) but the
hardware of the day made that extra layer of indirection
prohibitively expensive. The column store guys are moving
in that direction but they haven't cracked the table/schema
problem. It is still very difficult to ask a column store
"tell me everything you know about Arnold" unless I specify
Arnold's types in the query.

-Scott