CIS 611 Midterm Review Highlights

advertisement
CIS 611 Final Exam Review Highlights - Spring, 2004
-Know all definitions; know proof techniques; study class notes; study homework assignment
problems
- Study the CIS Midterm Review Highlights (15% -35% of exam will cover material before the
midterm)
Chapter 4 Highlights ( beginning of this is copied from the Midterm Review Highlights)
-the 2 equivalent definitions of a relation r satisfying an FD X Y (see pg. 43); know how to
prove correctness of F-axioms using these definitions
-Algorithm 4.1 SATISFIES : know this algorithm
-How many possible FDs over a scheme R with n attributes are there?
-Special case FD's : X, and Y (see pg. 44)
-Inference axioms -- know how to prove correctness of all of these
-definition of what is meant by "a set F of FDs implies the FD XY" (see pg. 45)
- Reflexivity, Augmentation and Psuedotransitivity (F1, F2, F3) can be used to derive the other 3
inference axioms; F1, F2, F6 are referred to as Armstrong's axioms; see example 4.6, and example
4.7
-definition of closure of a set of functional dependencies F, denoted F+(note the closure depends
on the scheme R); definition of the closure of a set of attributes X, X+; definition of F-, the exterior
of F; see examples 4.8 and 4.9
- Proof of the completeness of the F-axioms -- study this carefully -- refer to class notes -- understand
what is being proved; this is good to study, but I won't ask you the proof of Theoem 4.1 again
- Derivation sequences; B-axioms; RAP derivation sequence; the use set in a derivation sequence -remember, the use set is simply the set of all FDs in F that appear in the sequence (see page 52)
-Note that an RAP derivation sequence is a particular type of derivation sequence that uses the Baxiioms; thus, while it follows directly from the completeness of the B-axioms, that if there is a
derivation sequence on F (see def. pg. 51) for XY (equivalently F implies XY), then there is a
derivation sequence for XY that uses the B-axioms, it takes some work to show that if there is a
derivation sequence for XY then there is an RAP derivation sequence for XY (see the long proof
of Theorem 4.2 -- I won't ask it on the exam, but you might have some fun reading it, if you wish)
-F-based DDAG -- rules R1, R2, R3 page 56; note that the only nodes in an F-based DDAG that do
not have incoming edges are the initial nodes (nodes constructed using R1 -- i.e. nodes constructed in
the very first step of the construction of the DDAG); note that if initial nodes have label from
attribute set X, then the F-based DDAG is a DDAG for XY where Y contains any of the labels
found on nodes in the F-based DDAG;
-The use set of an F-based DDAG H, denoted U(H), is the set of all FDs used in application of R2
during construction of the DDAG (note that when applying R2, only a single node is added to the
DDAG, and that one edge is added for each attribute on the left side of the FD that is being used in
application of R2; for example if I use the FD ABC  EFG, using R2 a single node is added to the
DDAG with the label being either 'E', 'F', or 'G' (note that if there are nodes already with those labels,
and you use this FD then you will have duplicately labeled nodes); if you apply this DDAG, you will
add 3 directed edges to the graph -- one edge from each of nodes that are labeled 'A', 'B', 'C';
-Important: the statement of Theorem 4.3 -- the various equivalences of "F implies XY" -- check
my website for these equivalences; you need not know how to prove Theorem 4.3, but you might
have some fun reading it, if you wish; however, the proof shows how to construct an F-based DDAG
for XY given an RAP-derivation sequence for XY and vice versa; you should know how to do
this (it's actually easy to do -- there is a natural correspondence between rule R2 in construction of an
F-based DDAG and the B2 axiom used in construction of an RAP-derivation sequence)
-Note the Corollary to Theorem 4.3 on page 59, and that the converse of that Corrolary is not true
(remember why? -- in an RAP-derivation sequence, there can be "extra" FDs from F thrown in the
sequence that are not necessary in the derivation of the FD; but in order to use an FD in construction
of a DDAG rule R2 states that nodes with labels from the left side of the FD being used must already
be in the DDAG).
-Lemma 4.1-- proof will not be asked -- but you should know the idea behind the proof -- see Fig. 4.3
(in that figure it is assumed that v2 was added after v1; which means that edges originating from v2
could have been constructed as having originated from v1; after making those changes, we could
then eliminate v2 and its incoming edges (not done in Figure 4.3 b) do eliminate the duplicately
labeled node;
-Lemma 4.2 -- idea of "splicing" -- see Fig. 4.4
-Lemma 4.3 -- Know the statement and proof of this Lemma; also know the Corollary (and proof to
this lemma (the proof of the Corollary can use the same first sentence as the proof of Lemma 4.3;
then follow it with the sentence -- "Complete the construction of the DDAG immediately before the
step where VW is used.")
-The CLOSURE algorithm -- you must know how to find the closure of X (X is a set of attributes)
with respect to a set of FDs; this will definitely be tested on the exam;
-MEMBER algorithm -- simply uses CLOSURE algorithm
-LINCLOSURE algorithm -- know this algorithm, and its time complexity
-review exercises at end of chapter 4 -- refer to homework problems -- especially look over the proof
of 4.19 on my website -- and look over the solution to the related 10 point assignment;
Chapter 5 Highlights
-Definition of 2 sets of FDs begin equivalent. Note that the following statements are equivalent,
regarding 2 sets of FDs, F and G:
1.
2.
3.
4.
5.
6.
F and G are equivalent sets
F+ = G+
F is a cover for G.
G is a cover for F.
F implies every FD in G, and G implies every FD in F.
F implies G and G implies F.
-Algorithms DERIVES and EQUIV; given two sets of FDs you should be able to determine if one
impies the other and if the two are equivalent (note it all comes down to being able to use the
CLOSURE algorithm -- e.g. if you want to show F implies G : for each FD XY in G, show that F
implies XY; to do this compute the closure of X with respect to F and see if Y is contained in that
closure (note that, you need not necessarily compute the entire closure of X -- once Y is found to be
contained in the closure, you can stop and deduce that F implies XY).
-Know definition 5.2 : A set of FDs is nonredundant if …
-note the equivalent characterization of nonredundance (page 73), and definition of an FD being
redundant in F
-RDUNDANT, and NONREDUN algorithms
-know how to apply the NONREDUN algorithm to obtain a nonredundant cover, and note that the
order of presentation of the FDs may result in different nonredundant covers (refer to example 5.3)
-extraneous attributes; left-reduced, right-reduced, reduced; know definition 5.3, page 74
-read on my website the notes regarding extraneous attributes: know how to determine if an attribute
is extraneous in an FD with respect to a set of FDs
-note also that in trying to obtain a reduced cover that the LEFTRED algorithm should be applied
before the RIGHTRED algorithm (see first full paragraph on page 75)
-note: if XY is redundant in F then every attribute in Y is extraneous in XY with respect to F;
-ALGORITHM 5.7 : REDUCE
-Definition of a canonical set of FDs ; note that a canonical set of FDs is a reduced set of FDs;
-Definition 5.7: 2 sets of attributes are equivalent (double arrow notation -- see pg. 78) if …
-Know the statement and proof of Lemma 5.4 -- important to know this
_
-EF(X) definition; eF(X) definition; and defintion of EF :this is always a partition of F -- see
example 5.9; note that if:
_
_
F and G are nonredundant and equivalent, then EF and EG will be the same size (but that EF(X) and
EG(X) may not have the same number of FDs in them for a given set of attributes X: although in
example 5.9, that was the case; IMPORTANT TO NOTE: If F is minimum then EF(X) and
EG(X) will have the same number of FDs in them Theorem 5.1)
-Know Definition 5.8 : F is a minimum if …
-Know definition 5.9 : X directly determines Y under G if …
-Know the statement of Lemma 5.5 (you don't need to know the proof of this, but you can read it over
for fun if you wish
-Lemma 5.6 -- know the proof of this lemma
-Lemma 5.7 -- know the statement of this lemma
-Lemma 5.8 -- know the statement of this lemma -- read over the proof (I won't ask the proof, but you
should definitely know that if FDs YU and ZV are in some EF(X) and Y directly determines Z,
then we can replace YU and ZV with ZUV in F and obtain an equivalent set of FDs (this is
the heart of the proof, and the basis of the MINIMIZZE algorithm)
-Important to know the statement of Theorem 5.1 (I won't ask the proof of it) and the statements that
follow the proof (found on page 83 above Example 5.13)
-Important to know the statement of Theorem 5.2 -- it is why Algorithm 5.8 MINIMIZE, correctly
returns a minimum cover for G
-Know the definition of optimal cover
-Compound functional dependency -- definition 5.12; annular cover, getting annular cover -example 5.16
Chapter 6 Highlights
-Definition of a relation scheme
-Definition of a database scheme
-Definitions of 1NF
-Definition of Y being fully dependent on X (definition 6.7)
-Defintion of prime attribute, nonprime attribute
-Definitions of 2NF
-Definition of transitively dependent (defintion 6.10)
-Definitions of 3NF
-Know the proof of lemma 6.1 (pg. 101)
-Know the technique of normalization through decomposition
-know some "shortcomings" with this technique mentioned in class and in section 6.4
-Complete database scheme -- definition on page 107
-SYNTHESIZE algorithm -- page 109
Download