Re: A question for Mr. Celko
From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Mon, 19 Jul 2004 23:09:27 GMT
Message-Id: <pan.2004.07.19.23.10.07.494815_at_REMOVETHIS.pandora.be>
>
> I'm sorry, I don't know what you mean by "break it open". If the value
> is contained within an attribute, how is it any different to have a
> relation value versus a date/time value?
Date: Mon, 19 Jul 2004 23:09:27 GMT
Message-Id: <pan.2004.07.19.23.10.07.494815_at_REMOVETHIS.pandora.be>
On Mon, 19 Jul 2004 10:56:19 -0700, John Jacob wrote:
>> Not all interpretations of 1NF say that they are disallowed. The one >> that makes the most sense to me says that the value should be atomic >> from the database's perspective. In that case you can have any value in >> an attrbute but you are not allowed to "break it open" which means you >> cannot have the nest and unnest operations from the nested relational >> algebra.
>
> I'm sorry, I don't know what you mean by "break it open". If the value
> is contained within an attribute, how is it any different to have a
> relation value versus a date/time value?
It isn't. Like I said above, you can have any value in an attribute under this interpretation of "atomic".
> Clearly there are operators
> that allow me to access the components of the value in each case, so why
> does it matter whether the value is a relation, list, struct, etc.,.?
It doesn't. But that is *all* there should be: you have the operators from the flat relational algebra and functions over your domains, including *any* accessors you need, but no more, because otherwise you go beyond FOL.
- Jan Hidders