Pregunta

For my exam I am revising for in January I will need to know all about Boyce-Codd Normal Form and possibly have to write a short summary about what it is. In a paragraph or so, what exactly is BCNF as I have looked on many sites and the descriptions are quite complex so it's not easy to get my head around. Thank you for any help.

¿Fue útil?

Solución

Boyce–Codd Normal Form (BCNF) A relation R(X) is in Boyce–Codd Normal Form if for every non-trivial functional dependency Y → Z defined on it, Y contains a key K of R(X).

That is, Y is a superkey for R(X).

Example: Person1(SI#, Name, Address)

     The only FD is SI# → Name, Address

Since SI# is a key, Person1 is in BCNF

Anomalies and redundancies, as discussed earlier, do not occur in databases with relations in BCNF.

Non-BCNF examples:

Person(SI#,Name,Address,Hobby)

The FD SI# → Name,Address does not satisfy conditions for BCNF since the key is {SSN,Hobby}

HasAccount(AcctNum,ClientId,OfficeId)

The FD AcctNum → OfficeId does not satisfy
BCNF conditions if we assume that keys for
HasAccount are {ClientId,OfficeId} and
{AcctNum,ClientId}, rather than AcctNum.

You can refer to below link for detailed explanation. http://www.cdf.toronto.edu/~csc343h/fall/08/lectures/wk12/wk12_BCNF2-up.pdf

Hope it helps..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top