Re: Normalisation

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Tue, 5 Jul 2005 09:25:42 +0200
Message-ID: <MPG.1d34544c1616f9ef9896d8_at_news.ntnu.no>


In article <42c923f5$0$41924$ed2619ec_at_ptn-nntp-reader03.plus.net>, paul_at_test.com says...
> OK I see. I've never understood the appeal of "nesting" or "unnesting"
> relations. It doesn't seem to add anything to the relational model and
> only serves to complicate things. Does anyone have a concrete example of
> the usefulness of this? Any I've seen in the past seem to be trival to
> implement in a standard relational model.

You can do outer joins without nulls. Also, nested relations are used heavily in the definitions of the operators for handling interval types in temporal relational DBMSs (Date, Darwen and Lorentzos, "Temporal data and the relational model").

> I agree that there is nothing to stop someone having a "relation" domain
> but I think this should all be encapsulated in the domain and not
> pollute the relational model.

I must admit I am unsure of the significance of encapsulation here. Would anyone care to explain?

Also, I'm not sure what the "pollution" consists of. Is it the introduction of GROUP/UNGROUP (nest/unnest)operators? GROUP can be defined as a shorthand for a certain kind of EXTEND, iirc---I'm not sure about UNGROUP.

> Also, I question the practical sense in
> doing this as well. It seems a bit like having a database-valued domain
> and "simplifying" your database to be a single value in a one-rowed,
> database-valued table.

Yes, you shouldn't use relation-valued attributes just because you can. In most cases, they are a bad design, which Date is quick to point out.

-- 
Jon
Received on Tue Jul 05 2005 - 09:25:42 CEST

Original text of this message