0

Given a relation R(A,B,C,D,E) with functional dependencies: AB→C and C→D,

  1. Find all key(s) of the relation R.
  2. Which normal form is R in?
  3. If R is not in BCNF, decompose R, as necessary, into a set of relations that are in BCNF.
  4. Is your decomposition dependency-preserving? Briefly explain why or why not?

I am a little confused on finding the keys and normal form in R. Would anyone be able to explain it?

philipxy
  • 14,867
  • 6
  • 39
  • 83
csDreamer
  • 11
  • 3
  • Your "I have these FDs" doesn't make sense. "These are all the FDs that hold"?--Not possible. "These are all the non-trivial FDs that hold"?--Not possible. "These are some FDs that hold"?--Question can't be answered. Find out what a *cover* is & what the exact conditions are to apply a particular definition/rule/algorithm. To determine CKs & NFs we must be given FDs that form a cover. Sometimes a minimal/irreducible cover. And the set of all attributes must be given. [See this answer.](https://stackoverflow.com/a/53386492/3404097) – philipxy Apr 27 '21 at 01:11
  • Right now you are just asking for us to rewrite a textbook with a bespoke tutorial & do your (home)work & you have shown no research or other effort. Please see [ask], hits googling 'stackexchange homework' & the voting arrow mouseover texts. Show the steps of your work following a textbook/reference with justification & ask 1 specific researched non-duplicate question re the first place you are stuck. Quote the definitions, theorems, algorithms & heuristics you are relying on. All the steps are also SO faqs. Google with & without 'site:stackoverflow.com'. – philipxy Apr 27 '21 at 01:12

1 Answers1

0

You should be able to get all your relation back with your keys.

So, in your example, if you start with the tuple (A, B, E), you can get C from AB, and then D from C; and that's it, you get your relation back, so you know that (A, B, E) is a key.

If you had, for example, started with the tuple (A, B), you wouldn't have been able to get E back, so you know that E must be part of your key tuple.

Pooyanoss
  • 39
  • 5