Path: text.usenetserver.com!out03b.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!postnews.google.com!r15g2000prh.googlegroups.com!not-for-mail
From: aarklon@gmail.com
Newsgroups: comp.databases.theory
Subject: Re: BCNF
Date: Fri, 8 Aug 2008 02:38:09 -0700 (PDT)
Organization: http://groups.google.com
Lines: 94
Message-ID: <57725ea6-edc0-4dd4-a0bd-6c3ec629a1bc@r15g2000prh.googlegroups.com>
References: <3a1e04e9-e65f-469f-8357-f36486009e72@b38g2000prf.googlegroups.com> 
 <jEUkk.17965$89.15424@nlpi069.nbdc.sbc.com>
NNTP-Posting-Host: 220.227.190.43
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1218188289 28485 127.0.0.1 (8 Aug 2008 09:38:09 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 8 Aug 2008 09:38:09 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: r15g2000prh.googlegroups.com; posting-host=220.227.190.43; 
 posting-account=fl4D2woAAAC4QBFmZeykoadHa2UXfAKY
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2pre) 
 Gecko/2008072701 Firefox/3.0.2pre (Swiftfox),gzip(gfe),gzip(gfe)
X-HTTP-Via: 1.1 dns.infovistain.com:3128 (squid/2.5.STABLE6)
Xref: usenetserver.com comp.databases.theory:172227
X-Received-Date: Fri, 08 Aug 2008 05:38:10 EDT (text.usenetserver.com)

On Aug 2, 1:10=A0pm, "Brian Selzer" <br...@selzer-software.com> wrote:
> <aark...@gmail.com> wrote in message
>
> news:3a1e04e9-e65f-469f-8357-f36486009e72@b38g2000prf.googlegroups.com...
>
>
>
> > Hi all,
>
> > BCNF
>
> > =A0the following is the definition is the definition of BCNF , which i
> > saw in a schaum series book
>
> > =A01) The relation is 1 N.F
>
> > =A02) for every functional dependency of the form X -> A , we have
> > either A C X or X is a super key of r. in other words,
> > =A0 =A0 every functional dependency is either a trivial dependency or i=
n
> > the case that the functional dependency is not =A0 trivial then X must
> > be a super key.
>
> > now =A0my questions are as follows
>
> > 1)
>
> > we know that 2-ND normal form is all about separating partial
> > dependencies and full dependencies.third normal form is all about
> > removing transitive dependencies, in these lines can any one give
> > simple/ easy to understand method/explanation for converting a
> > relation in 3rd normal form to BCNF
>
> A relation schema is in 3NF iff for every functional dependency the
> determinant is a superkey or the dependent is prime; a relation schema is=
 in
> BCNF iff every determinant is a superkey. =A0A schema that is in 3NF but =
not
> in BCNF will have one or more determinants that are not superkeys. =A0Fin=
d
> them and eliminate them.
>
>
>
> > 2) =A0 =A0how correct is the following definition of transitive
> > dependencies
>
> > =A0transitive dependencies
>
> > assume that A,B, and C =A0are the set of attributes of a relation(R).
> > further assume that the following
> > functional dependencies are satisfied simultaneously : A -> B , B -/-
> >> A, B -> C , and C -/-> A and A -> C
> > observe that C -> B is neither prohibited nor required. if all these
> > conditions are true, we will say that =A0attribute C is transitively
> > dependent on attribute on A
>
> It is not correct: what if B =3D C or C is a subset of B?

this is what the the reply i got from the authors of the book

The condition for having a transitive dependency is as follows:

A -> B   B-> C from this you will infer that A ->C provided that B
does not determine A and C does not determine A. The reason for
requiring that B does not determine A is because we are assuming that
A is the only key. If B were to determine A then B will also be a key.
Same thing applies to C. Remember that you are going from 1NF to 2NF.
This latter form requires that you do not have any partial
dependencies on any primary or candidate key. That is no subset of A
can determine B if A is a key or candidate key.  If B=3DC then they are
the same attribute and every attribute determines itself. That is what
the reflexivity axiom is all about. Remember that 2NF requires that
there cannot be partial dependencies on the key. It does not talk
about partial dependencies among the other attributes if these
attribute are not primary key or candidate key. Just make sure that
before you guarantee that a set of relationships are in 2NF you find
ALL keys. From this set you will choose a primary key. There got to be
only one primary key. The other possible keys are candidate. Tell your
friends that they are not correct the definition in the book is the
original and only definition that there is about transitivity. Just
remember that in the book we are assuming that A is the PK. If as your
friends say B -> A and A is a key then B is a key. As I mentioned
before this applies also to C. If A, B, and C were all keys then the
definition of 2NF and 3NF are moot because there cannot be partial or
transitive dependencies because these definitions require that there
exist other attributes that are not primary or candidate keys. You
need to be careful when you go to 3NF if you have PK that overlap.
Then you have to move to BC normal form.

Thanks for reading the book and reading it carefully. If you find any
mistakes please let me know, Pauline and I are in the process of
getting ready for the  2nd. Ed.
Ramon A. Mata-Toledo
