Useful Notes on FDs

Useful Notes on FDs - Z". For example, we may...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
Some Points to Note on Functional Dependencies, Minimal Covers, and 3NF/BCNF decompositions •T rivial functional dependencyvs. non-trivial functional dependency Afunctional dependenc yX Yistrivial if Y ,the right hand side of the fd, is a subset of X. Forexample, the functional dependency"(S#, P#) S#" is trivial because the set {S#} (for the R.H.S. of the fd) is a subset of (S#, P#} (for the L.H.S. of the fd). On the other hand, the functional dependency"(S#, P#) S#, Qty" is NON-trivial because the set {S#, Qty} is NOTasubset of the attribute set {S#, P#}. •C an we remove attributes common to the L.H.S. and R.H.S. of a functional depen- dency? NO, in general, we can NOTdothat - namely ,ifwehav e "(X, Y) X, Z", we can NOTsimply remove the attribute "X" common to both the L.H.S. and R.H.S. of the
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Z". For example, we may have "(S#, P#) Qty" and thus "(S#, P#) S#, Qty" (by augmentation rule). However, from "(S#, P#) S#, Qty", we can NOT derive "P# Qty". W hich functional dependency to remove? Suppose we have a relation R(ABC) with functional dependencies F = {A B, B C, A C}. We can see that "A C" can be derived from "A B" and "B C". Here we should remove "A C" when we construct minimal cover for F, since "A C" can be derived from the remaining functional dependencies. If we removed "A B" or "B C" instead of removing "A C", we would not be able to re-derive the removed one from the remaining fds. So the idea is to remove the fds which are derivable from the others, and keep those fds used in the process of derivation....
View Full Document

This note was uploaded on 01/25/2010 for the course CSC 4402 taught by Professor Staff during the Spring '08 term at LSU.

Ask a homework question - tutors are online