# Re: boolean datatype ... wtf?

Date: Fri, 1 Oct 2010 19:58:26 -0700 (PDT)

Message-ID: <e8c1e2f1-30f5-403c-989f-74e8a3c5a5e4_at_n3g2000yqb.googlegroups.com>

On Oct 1, 7:16 pm, Erwin <e.sm..._at_myonline.be> wrote:

> On 2 okt, 00:39, Brian <br..._at_selzer-software.com> wrote:

*>
**>
**>
**>
**>
**> > On Oct 1, 2:26 pm, Erwin <e.sm..._at_myonline.be> wrote:
**>
**> > > On 1 okt, 19:54, Brian <br..._at_selzer-software.com> wrote:
**>
**> > > > > Erwin wrote:
**>
**> > > > > > Explain "cyclical referential constraint".
**>
**> > > > > > And explain "additional attribute".
**>
**> > > > The functional dependency AB -> CD is lost. If that dependency were
**> > > > invalid in the 5NF schema, {A,B,C,D} KEY {A,B}, then it would not be
**> > > > in 5NF because that dependency is implied by the key, so the correct
**> > > > 5NF schema would be,
**>
**> > > > {A,B,C} KEY {A,B}, {A,B,D} KEY {A,B},
**>
**> > > > which just happens to also be in 6NF.
**>
**> > > > In order for the functional dependency AB -> CD to be preserved, a
**> > > > cyclical inclusion dependency
**>
**> > > > {A,B,C}[A,B] = {A,B,D}[A,B]
**>
**> > > If you care to explain, my question amounted to "why do you qualify
**> > > this as 'cyclical' ?".
**>
**> > > And you also spoke of "additional attribute". Please point out to me
**> > > where this "additional attribute" is in your very own answer ...- Hide quoted text -
**>
**> > > - Show quoted text -
**>
**> > Suppose you have a 5NF schema R {A,B,C,D,E} KEY {A,B}
**>
**> > The inclusion dependency equivalent 6NF schema,
**> > Rc {A,B,C} KEY {A,B},
**> > Rd {A,B,D} KEY {A,B},
**> > Re {A,B,E} KEY {A,B},
**> > Rc[AB] = Rd[AB] AND Rc[AB] = Re[AB]
**>
**> > can also be written
**>
**> > Rc[AB] IN Rd[AB] AND Rd[AB] IN Re[AB] AND Re[AB] IN Rc[AB]
**>
**> > Notice the cyclical nature of the constraint:
**>
**> So set equality is, by definition, "cyclic" ?
**>
*

Huh? I though we were talking about inclusion dependencies. It is not necessary that the lists of attributes X and Y in the arbitrary inclusion dependency,

P[X] IN Q[Y]

be identical. All that is required is that they be the same length.

Since the lists need not be identical, the projections over those lists need not be identical for the constraint to be satisfied.

The expession

P[X] = Q[Y]

is not an application of the set equality predicate: it is just a shortcut for the pair of inclusion dependencies,

**P[X] IN Q[Y] AND Q[Y] IN P[X].
**
Received on Sat Oct 02 2010 - 04:58:26 CEST