# Re: Multiple-Attribute Keys and 1NF

From: JOG <jog_at_cs.nott.ac.uk>
Date: Thu, 30 Aug 2007 15:41:48 -0000

> JOG wrote:
>
> >>JOG wrote:
>
>
> >>>>JOG wrote:
>
> >>>>>>Write a predicate for the relation schema that when extentially quantified
> >>>>>>and extended yields a set of atomic formulae that implies all three of the
> >>>>>>propositions above. I think you'll find that the colour-code concept is in
> >>>>>>that predicate.
>
> >>>>>I agree. I hold little stock with set based values so in RM I would go
> >>>>>for the addition of colour-code foreign key.
>
> >>>>>But what if we weren't tied to a traditional relational schema and
> >>>>>tweaked the system so it could allow propositions with more than one
> >>>>>role of the same name without decomposing them. As Jan pointed out
> >>>>>'tuples' are no longer functions - they would be unrestricted binary
> >>>>>relations (subsets of attribute x values). We could produce a
> >>>>>comparatively simpler and less cluttered schema, predicate in a very
> >>>>>similar manner as before, and with a few simple alterations could have
> >>>>>an equally effective WHERE mechanism. My concern however would be the
> >>>>>consequences to JOIN.
>
> >>>>What would you offer in place of the RM's logical identity.
>
> >>>Nothing. I am utterly convinced by Date et al's arguments in favour of
> >>>logical identity. (Why would I need to replace it?) I just wanna model
> >>>propositions, and they are always identified by their contents.
>
> >>In: {{(Color: green), (Color: yellow), (Type: earth)}}
>
> >>What provides logical identity?
>
> > I may be misunderstanding you, but let me take a stab. The identity of
> > any set of course lies in its elements (i.e. in this of a single
> > propositions, the ordered pairs). Given we know Colors are the
> > antecedents in the proposition we are modelling, this has to be been
> > defined in the collectivizing predicate for the whole collection of
> > rows. We also know therefore there may not exist another set of pairs
> > containing the same Colors, so we can identify the whole proposition
> > through examination of just those roles. All works just as per normal
> > in RM. Is this what you meant?
>
> I haven't got a clue what you said.

I just regurgitated leibniz identity.

> In the RM, every value is uniquely
> identifiable by the combination of relation name, attribute name and any
> candidate key value. That's logical identity as it was originally
> spelled out.
>
> Two values above have the same attribute name.

Now you've lost me. A "value" is not identifiable by its relation name and attribute name. This makes no sense to me. Where in predicate logic does that come from? A value is just a value. It is identifiable in its own right as being an individual from a domain.

An individual piece of /data/ however (which is perhaps what you mean by a value) has an identity made up of a combination of an attribute name and a corresponding value. One needs both to identify the data item. A proposition in turn is identifiable by its contents, which is a set of those data items. Regards, J. Received on Thu Aug 30 2007 - 17:41:48 CEST

Original text of this message