Re: object algebra

From: Eric Kaun <ekaun_at_yahoo.com>
Date: Tue, 24 Feb 2004 13:17:51 GMT
Message-ID: <3aI_b.17443$rs3.14951_at_newssvr31.news.prodigy.com>


"Neo" <neo55592_at_hotmail.com> wrote in message news:4b45d3ad.0402231619.42cf4277_at_posting.google.com...
> > > If we model various data examples, we should find less NULLs with TDM
> > > than with RDM. For example, modelling 10 persons, each with different
> > > properties.
> >
> > You're simply talking about an attribute of type PERSON,
> > and the existence of multiple subtypes of PERSON.
>
> Thus in RDM, the solution might appear as:
>
> T_Person
> ID
> Name
>
> T_PersonType1
> Person_ID
> Property1
>
> T_PersonType2
> Person_ID
> Property2
>
> T_PersonType3
> Person_ID
> Property3
>
> ... and so on, and additional new properties might result in new
> tables and algorithms would need to take that into account tables that
> didn't exist at time of coding.
>
> The 10 persons are not really different sub types, the db is just
> being asked to store different properties for each.
>
> > What does TDM allow you to do with those differing properties?
>
> It does not require those extra tables (or any in fact).
> See www.xdb1.com/Example/Ex102.asp

I would suggest reading Foundations of Future Database Systems (The Third Manifesto), as well as the 8th edition of Intro to DB Systems. Both discuss typing in much detail. The relations you describe above are WRONG - they are not appropriate representations of data about the problem you're trying to solve. You're confusing domains and types - a relation (or table) does not, and should not be "made to", correspond to an object class or a type. That's confused.

As I've said before ("hear me know and believe me later"), the issue is not that databases aren't object-oriented enough. The issue is that languages are not relational enough. At least most of them. Check out Alloy, a specification language, for a good example of how it should be done.

  • erk
Received on Tue Feb 24 2004 - 14:17:51 CET

Original text of this message