Back to the 2024 paper

Unit 2: Relational Query Languages

20247m

A relation R(A,C,D,E,H) is having two functional dependencies sets F={A→C, AC→D, E→AD, E→H} and set G {AC→D, E→AH}, then check F and Gare equivalent or not.

Worked SolutionAI Assisted

Check if FD sets F and G equivalent over R(A,C,D,E,H):

F = {A->C, AC->D, E->AD, E->H}
G = {A->C, AC->D, E->AH}

Two sets equivalent if F+= G+ (each implies the other). Check via closure.

Compute F+ check G:

  • A->C in F holds (yes)
  • AC->D in F holds (yes)
  • E->A? In F: E+ = E -> AD -> C (via A->C) -> H (E->H), so E+ = ACDEH includes A, and AC->D gives D, so E->A and E->H hold. Also E->AD uses E->AD in F gives A and D. For G's E->AH: E->A and E->H derived above, so G subset of F+.

Compute G+ check F:

  • A->C in G yes
  • AC->D yes
  • E->AD? Need E->A and E->D: G: E+ = E -> AH -> C (via A->C) -> D (via AC->D) => E+ = ACDEH? H via? Wait H not derived? Actually E->AH gives A and H, A->C gives C, AC->D gives D, so E->AD holds (A and D). So E->AD in G+.
  • E->H in G via E->AH gives H, yes.

Thus every FD in F is implied by G and vice versa, so F+ = G+ => equivalent.

Formally F covers G and G covers F via Armstrong axioms. Hence equivalent.

Provide closure tables to demonstrate.

Similar questions

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.