| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: RA with MV attributes
dawn wrote:
> David wrote:
> > 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
> >
> > I agree these tuples are more that a little suspicious - perhaps enough
> > to reject the MV approach. Nevertheless it is mathematically
> > consistent to simply regard these tuples as vacuous because there are
> > no cars in the tuple to which yellow applies. In that sense I imagine
> > an implementation of the RA would be free to remove redundant
> > information as required.
> >
> > The non-uniqeness of representation is troublesome but not necessarily
> > fatal.
>
>
>
>> >
> > > 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?
>
>
> > 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)
> > bill yellow
> > john, fred yellow
> >
> > Then project on Names
> >
> > r3''(Names)
> > bill
> > john, fred
> >
>
>> >
> > If our intention is to find people that really own yellow cars then we
> > must remove the tuples with no cars.
>
I purposely wanted to investigate the set theoretic nature of MV attributes without getting bogged down in rules for modeling data (or even the presence of primary keys). Received on Wed Jan 17 2007 - 19:49:33 CST
![]() |
![]() |