2019-09-24

Sep 25 In-Class Exercise Thread.

Hey Everyone,
Post your solutions here for the Sep 25 In-Class Exercise.
Best,
Chris
Hey Everyone, Post your solutions here for the Sep 25 In-Class Exercise. Best, Chris
2019-09-25

-- Sep 25 In-Class Exercise Thread
  R{ABCDEF}  
  FD: A->BE: R1(ABE) R2{ACDF) 
  R1 is good.
  FD: C->D: 
  R2 splits to: R3(C, D, B), R4(C, F)
(Edited: 2019-09-25)
R{ABCDEF} FD: A->BE: R1(ABE) R2{ACDF) R1 is good. FD: C->D: R2 splits to: R3(C, D, B), R4(C, F)

-- Sep 25 In-Class Exercise Thread
R0(A, B, E) having FD(s): A → B; A → E. R1(C, D) having FD(s): C → D. R2(B, D) having FD(s): D → B. R4(A, C, F) having FD(s): (none).
R0(A, B, E) having FD(s): A → B; A → E. R1(C, D) having FD(s): C → D. R2(B, D) having FD(s): D → B. R4(A, C, F) having FD(s): (none).

-- Sep 25 In-Class Exercise Thread
R(A, B, C, D, E, F) can be split into R1(A, B, E) and R2(A, C, D, F) Now R1 is in BCNF. For R2, We can split it into R3(C, D, B) and R4(C ,F)
R(A, B, C, D, E, F) can be split into R1(A, B, E) and R2(A, C, D, F) Now R1 is in BCNF. For R2, We can split it into R3(C, D, B) and R4(C ,F)

-- Sep 25 In-Class Exercise Thread
 1. looking at A->BE, A+ = {A, B, E} != {A, B, C, D, E}, so R is not in BCNF.
 2. A+ = {A, B, E}
 so R1 = (A, B, E) and R1 = (C, D, F)
 3. Not sure how to apply Monday's algorithm from there...
 I will guess that FD1 = (A->B, A->E) and FD2 = {C->D}
 4. Recursively check R1 and R1 and split if needed.
(Edited: 2019-09-25)
1. looking at A->BE, A+ = {A, B, E} != {A, B, C, D, E}, so R is not in BCNF. 2. A+ = {A, B, E} so R1 = (A, B, E) and R1 = (C, D, F) 3. Not sure how to apply Monday's algorithm from there... I will guess that FD1 = (A->B, A->E) and FD2 = {C->D} 4. Recursively check R1 and R1 and split if needed.

-- Sep 25 In-Class Exercise Thread
R(A,B,C,D,E, F) is decomposed into a set of relations: R1(A,B,E), R2(A,C,D,F). Here, R1 satisfies BCNF. Here, R2 can be split into R3(C,D,B) and R4(C,F)
R(A,B,C,D,E, F) is decomposed into a set of relations: R1(A,B,E), R2(A,C,D,F). Here, R1 satisfies BCNF. Here, R2 can be split into R3(C,D,B) and R4(C,F)

-- Sep 25 In-Class Exercise Thread
Consider the relation R(A,B,C,D,E,F) with FD A→BE, C→D, D→B. R1(A,B,E) R2(A,C,D,F)-> R3(A,C,D)+R4(A,F)
Consider the relation R(A,B,C,D,E,F) with FD A→BE, C→D, D→B. R1(A,B,E) R2(A,C,D,F)-> R3(A,C,D)+R4(A,F)

-- Sep 25 In-Class Exercise Thread
R(A, B, C, D, E, F) is not in BCNF due to A->BE
R1 = A+ = {A, B, E}
R2= {A,C,D,F}
R1 now is in BCNF
for R2, it is split into R3 = {C,D,B} ABD R4={C,F}
both of them are in BCNF
so R1, R2, R3 sastify BCNF
(Edited: 2019-09-25)
R(A, B, C, D, E, F) is not in BCNF due to A->BE R1 = A+ = {A, B, E} R2= {A,C,D,F} R1 now is in BCNF for R2, it is split into R3 = {C,D,B} ABD R4={C,F} both of them are in BCNF so R1, R2, R3 sastify BCNF

-- Sep 25 In-Class Exercise Thread
R(A,B,C,D,E,F) with FD A→BE, C→D, D→B
1.
   A is not a super key
2.
   R1 = X+ = {A}+ 
   R2 = X U R-X+
   
   FDs: A->B, A->E, C->D, D->B
   
   Let X:= {A}, Xold := empty
   Loop 1: Xold := {A}
		  X = {A, B, E}
   Loop 2: Xold = {A, B, E}
		  X = {A, B, E}
   {A}+ = {A, B, E}
   
3.
   R1={A,B,E} 
   S1 = {A-> B, A-> E} this is in BCNF
   R2={A,C,D,F}
   S2 = {C -> D, D -> B} Not in BCNF 
   
4.
   Decompose C -> D (to replace R2 = {A,C,D,F}, S2 = {C -> D, D->B})
   R3 = {C}+
   
   Let X:= {C}, Xold := empty
   Loop 1: Xold := {C} 
		X = {C, D}
   Loop 2: Xold := {C,D} 
		X = {C, D, B} 
   Loop 3: Xold := {C, D, B}
		X = {C, D, B}
5. Answers
   R1 = {A,B,E} in BCNF
   S1 = {A -> B, A-> E}  
   R3 = {C, D, B} in BCNF
   S3 = {C -> D, D -> B}
   R4 = {A, C, F} in BCNF
   S4 = {} 
(Edited: 2019-09-25)
R(A,B,C,D,E,F) with FD A→BE, C→D, D→B 1. A is not a super key 2. R1 = X+ = {A}+ R2 = X U R-X+ FDs: A->B, A->E, C->D, D->B Let X:= {A}, Xold := empty Loop 1: Xold := {A} X = {A, B, E} Loop 2: Xold = {A, B, E} X = {A, B, E} {A}+ = {A, B, E} 3. R1={A,B,E} S1 = {A-> B, A-> E} this is in BCNF R2={A,C,D,F} S2 = {C -> D, D -> B} Not in BCNF 4. Decompose C -> D (to replace R2 = {A,C,D,F}, S2 = {C -> D, D->B}) R3 = {C}+ Let X:= {C}, Xold := empty Loop 1: Xold := {C} X = {C, D} Loop 2: Xold := {C,D} X = {C, D, B} Loop 3: Xold := {C, D, B} X = {C, D, B} 5. Answers R1 = {A,B,E} in BCNF S1 = {A -> B, A-> E} R3 = {C, D, B} in BCNF S3 = {C -> D, D -> B} R4 = {A, C, F} in BCNF S4 = {}

-- Sep 25 In-Class Exercise Thread
1. R(A,B,C,D,E,F) FD A->BE, C->D, D->B
A->BE is a violation of BCNF we compute A+ A+ = R1 = R(A,B,E) R2 = A and everything that is not in A+ then we have R(A,C,D,F) Now R1 is in BCNF C+ = R3 = C -> D we have R(C,D,B) now we take C and everything that is not in R3 for R4 we have R(C,F)
1. R(A,B,C,D,E,F) FD A->BE, C->D, D->B A->BE is a violation of BCNF we compute A+ A+ = R1 = R(A,B,E) R2 = A and everything that is not in A+ then we have R(A,C,D,F) Now R1 is in BCNF C+ = R3 = C -> D we have R(C,D,B) now we take C and everything that is not in R3 for R4 we have R(C,F)
[ Next ]
X