0

Suppose we have a relation R(A, B, C, D). If R has the following functional dependencies:

A, C -> D
B, C -> D
A -> B
B -> A

We should have the following candidate keys:

{A, C}, {B, C}

Thus, A, B and C are prime attributes.

I chose {A, C} as the primary key.

At this point I have arrived at an impasse.

While, from my experience, when normalising to the 2nd Normal Form it would be advisable to split the relation into:

R1(A, C, D)
R2(A, B)

But technically, following the requisites of the 2nd Normal Form, this isn't necessary as R is already in 2nd Normal Form.

Should I follow my gut and separate the relation or should I leave it as it is?

philipxy
  • 14,867
  • 6
  • 39
  • 83
  • R is already in 3NF (and so in 2NF). In which Normal Form do you want to decompose it? – Renzo May 13 '20 at 12:53
  • I know it is already in 3NF. I was asking if I should decompose R as B and A (based on functional dependencies) are a kind of redundancy, as each is a determinant for the other. –  May 13 '20 at 13:43
  • 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 given. [See this answer.](https://stackoverflow.com/a/53386492/3404097) – philipxy May 13 '20 at 16:36
  • Right now you are just asking for us to rewrite your textbook with a bespoke tutorial. Please see [ask], hits googling 'stackexchange homework' & the voting arrow mouseover texts. Show the steps of your work following your textbook with justification & ask 1 specific researched non-duplicate question re the first place you are stuck. Quote the definitions, theorems & algorithms you are relying on. All the steps are also SO faqs. – philipxy May 13 '20 at 17:32
  • @Renzo What is the point of such comments? The asker literally doesn't know what they are doing, they are talking about using their gut, send them to a textbook or tell them to find a definition or algorithm. Moreover there isn't even a clear question in this post, they don't say what they are trying to accomplish. Also "redundancy" doesn't mean anything in particular. It's not helpful using such terms. – philipxy May 14 '20 at 08:49

0 Answers0