Re: RA with MV attributes
Date: 17 Jan 2007 15:42:11 -0800
Message-ID: <1169077331.188616.184980_at_a75g2000cwd.googlegroups.com>
Bob Badour wrote:
> Jon Heggland wrote:
>
> > David wrote:
> >
> >>Example
> >>
> >>r1(Names,Cars)
> >>    bill,     	      car1,car2,car4
> >>    john,fred        car3
> >>
> >>r2(Cars,Colours)
> >>   car1,car3,car4    red
> >>   car2              green
> >>
> >>r1 |X| r2 (Names,Cars,Colours)
> >>   bill              car1,car4     red
> >>   bill              car2          green
> >>   john,fred         car3          red
> >>   john,fred                       green
> >>
> >>[...]
> >>For example the
> >>last tuple of r1 |X| r2 above doesn't imply that John and Fred
> >>don't own any cars.
> >
> >
> > So what exactly does that last tuple mean?
>
> And what would happen if we replaced (car1,car3,car4)<->(red) with
> (car1,car3,car4)<->(red,blue) in r2 ?
Not that an integrity constraint should prevent that, unless we want to model multi-coloured cars.
> Suppose as well that r2(Cars,Colours) has the following tuple:
>                   yellow
>
> Would r1 |X| r2 (Names, Cars, Colours) have these tuples?
>
> bill                               yellow
> john, fred                         yellow
>
> Or would it have this tuples?
>
> bill,john,fred                     yellow
The non-uniqeness of representation is troublesome but not necessarily fatal. I have this idea of a mapping from the set of tuples to an underlying set of respectable 6NF propositions.
> What meaning would we ascribe to restricting r2 to the colour yellow and
> projecting on colour? Similarly, what meaning would we ascribe to
> restricting the join to the colour yellow and then projecting on Names?
Very perceptive questions. The second case is most interesting
Start with
r3 = r1 |X| r2 (Names,Cars,Colours)
        bill              car1,car4     red
        bill              car2          green
        bill                            yellow
        john,fred         car3          red
        john,fred                       green
        john, fred                      yellow
Now select yellow
 
    r3'(Names,Cars,Colours)
 
Then project on Names
 
This is clearly not useful. The problem lies with the selection step.
If our intention is to find people that really own yellow cars then we
        bill                            yellow
        john, fred                      yellow
The MV approach is on shaky ground! Received on Thu Jan 18 2007 - 00:42:11 CET
