Download presentation
Presentation is loading. Please wait.
Published byArmani Haslam Modified over 10 years ago
1
Review for Final Exam Lecture Week 14
2
Problems on Functional Dependencies and Normal Forms
3
Problem 1 R = {Broker (B), Office (O), Investor (I), Stock (S), Quantity (Q)} F = { I -> B, IS -> Q, B -> O} a. What are the keys of the relation? b. Is the relation in BCNF? IS -> ISBQO IS is the only key No, because of I->B and B->O
4
F = { I -> B, IS -> Q, B -> O} Produce a lossless-join, BCNF decomposition of the original relation Is your decomposition dependency-preserving? R1=(I,B), R2 = (I,S,Q,O) R2 is not BCNF (I->O) R21= (I,S,Q), R22= (I,O) No, because of B->O is not preserved. You need a join to enforce it! Problem 1 (contd.)
5
Problem 2 Consider the relation R=(A,B,C,D,E) and F ={ A->BC, CD->E, B-> D, E-> A} a. Is this schema in 3NF? Note: no attributes appear only on left sides or only on right sides. We start with computing the closure of single attributes: A+ = ABCDE; B+ = BD; C+ = C; D+ = D; E+ = EABCD. It follows that A and E are candidate keys. Now we consider combinations of two attributes: BC+ = BCDEA, BD+ = BD, CD+ = CDEAB. It follows that BC and CD are candidate keys. There are no more combinations to be considered. The candidate keys are: A, E, BC, and CD.
6
Problem 2 (contd.) Consider the relation R=(A,B,C,D,E) and F ={ A->BC, CD->E, B-> D, E-> A} a. Is this schema in 3NF? The candidate keys are: A, E, BC, and CD. We reduce F in canonical form: F={A->B, A->C, CD->E, B->D, E->A} A->B is in 3NF since A is a key; A->C is in 3NF since A is a key; CD->E is in 3NF since CD is a key; B->D is in 3NF since D is part of a key; E->A is in 3NF since E is a key. It follows that the given schema is in 3NF.
7
F ={ A->BC, CD->E, B-> D, E-> A} Give a lossless-join, decomposition into BCNF (The relation is not in BCNF, since B is not a key and B->D) ABCDE BD ABCE Also BCNF The decomposition is lossless-join: R1 R2 = {B} key of R1=BD. But it is not d.p. CD->E requires a join! Problem 2 (contd.)
8
F ={ A->BC, CD->E, B-> D, E-> A} Show that the decomposition R1= (A,B,C), R2 = (A,D,E) is lossless-join, but not dependency- preserving R1 R2 = A, which is a key of both! So, the decomposition is lossless-join But the dependency B->D is not preserved. Problem 2 (contd.)
9
F ={ A->BC, CD->E, B-> D, E-> A} Show that the decomposition R1= (A,B,C), R2 = (C,D,E) is not lossless-join. R1 R2 = {C} which is not a key of R1 or R2, so the decomposition is not lossless-join. Problem 2 (contd.)
10
Problem 3 R(A,B,C,D), F={AB->C, C->D, D->A} Is R in BCNF? We need to check if any of the given functional dependencies violates the BCNF: AB+ = ABCD Thus AB->C is in BCNF. C+ = CDA Thus C->D violates the BCNF. D+ = DA Thus D->A violates the BCNF. It follows that R in not in BCNF.
11
Problem 3 (contd.) R(A,B,C,D), F={AB->C, C->D, D->A} Decompose R into relations that are in BCNF using a lossless join decomposition. From previous analysis: C->D and D->A violate the BCNF. Using C->D, we decompose R into CD and ABC. We need to check whether ABC is in BCNF. We observe that C->A is in F+, and in the projection of F onto ABC. C is not a (super)key for ABC, thus ABC is not in BCNF. We decompose it further into CA and BC. The resulting decomposition CD, CA, and BC is a lossless join decomposition of ABCD into BCNF relations. The decomposition is not dependency preserving. E.g., AB->C is not preserved.
12
Problem 4 R(A,B,C,D) F = {B->C, B->D} Is R in BCNF? If not, compute a lossless join decomposition of R into BCNF relations. Both dependencies in F violate the BCNF condition since B is not a (super)key. One possible decomposition is R1=BC and R2=ABD (using B->C). B->D holds on R2, and B is not a superkey for R2, so we decompose it further in: R23=BD and R24=AB. The resulting decomposition is: BC, BD, and AB. This decomposition preserves dependencies: (F1 F23)+ = F+
13
Problem 5 Answer: B and C are consistent with Country -> Capitol
14
Final Exam Comprehensive, closed books; Topics: –ER Diagrams; –Relational Database schemas; –Key constraints, participation constraints, weak entities, etc; –Relational algebra; –SQL (including GROUP BY and HAVING clauses, aggregate operators, set comparison operators, nested queries, etc.); –Functional dependencies; –Normal forms (BCNF, 3NF) and related decomposition techniques.
15
Discussion of Problems in Sample Final
16
SELECT C.Instructor-SSn, sum(decode(S.Status,’Grad’,1,0))/count(*) as Percent FROM Class C, Enrollment E, Student S WHERE (C.Class-no=E.Class-no) AND (E.Student-Ssn=S.Ssn) GROUP BY C.Instructor-SSn Problem 2 (4)
17
SELECT C.D-code, C.num-st FROM (SELECT D.D-code, count(*) as num-st FROM Department D, Student S WHERE D.D-code=S.Major GROUP BY D.D-code) C WHERE C.num-st <= ALL (SELECT C.num-st FROM C) Problem 2 (5)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.