Re: Multiple-Attribute Keys and 1NF

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Wed, 29 Aug 2007 08:49:20 -0300
Message-ID: <46d55cf4$0$4019$9a566e8b_at_news.aliant.net>


JOG wrote:

> On Aug 29, 6:10 am, "David Cressey" <cresse..._at_verizon.net> wrote:
> 

>>"JOG" <j..._at_cs.nott.ac.uk> wrote in message
>>
>>news:1188327226.729673.127810_at_r34g2000hsd.googlegroups.com...
>>
>>
>>>Okay, sure. But then to be able to query for green and yellow
>>>individually one must employ a further relation encoding two more
>>>propositions that state "'Green and yellow' contains 'Green'" and that
>>>"'Green and yellow' contains 'Yellow'" respectively. One then has a
>>>schema with two domains - one for the composites and one for
>>>individual colours (which is what I was inferring when I initially
>>>said a new one was being added).
>>
>>It took me a while to realize that what you meant from your original
>>description was that
>>"a green and yellow wire means earth". I had thought you meant "a green
>>wire means earth" and "a yellow wire means earth". Pardon me for being
>>dense.
>>
>>Clearly what we have here is not a domain of colors, but a domain of color
>>codes, where a color code contains one or more colors, and maybe a "thick
>>or thin" qualifier on each color.
>>
>>It's not clear to me why you need to able to query on simple colors, unless
>>you need to decompose the color coding scheme into its constituent parts for
>>some reason.
>>
>>There are lot of code domains where each code is made up of a set of more
>>primitive elements.
>>Perhaps a very relevant one might be "character code". If I have the
>>following primitive elements:
>>
>>B1, B2, B4, B8, B16, B32, B64, B128
>>(which might be an odd way of labelling bits 0 through 7 of a byte), I can
>>think of the character code for 'A' as being B64+B1. Now I could query on
>>all the character codes without necessarily having an operator that would
>>yield "all the codes that include B1".
>>
>>I think that the colors, as constituents of color codes, play the same role
>>as bits, as constituents of character codes. Do you agree?
> 
> 
> 
> Yes. I mean no. No, yes. Gnngh ;)
> 
> Ok, of course I understand your point - a wire can be viewed as having
> a colour code, which itself has constituent parts. But its just one
> interpretation right. I am still seeing a difference between the
> propositions:
> * There is a colour-code "yellow and green" that denotes "earth".
> * The casing of an earth wire features the colour yellow and the
> colour green.
> 
> Its just like the difference between the propositions:
> * My office is B42
> * My office is on floor B, room 42.
> 
> There are instances where I may well want to encode as the second
> proposition forms. And /if/ that were the case (iff), well 1NF is
> precluding me from doing this in terms of the wire example.

I disagree. You have already noted that 1NF allows this with exactly 2 relations (or with 1 relation and one or more operations on the color code domain.) Received on Wed Aug 29 2007 - 13:49:20 CEST

Original text of this message