Eric
Eric

Reputation: 13

functional dependencies question in relational database design

If I have a set F of functional dependencies on the relation schema r(A, B, C, D, E, F):

A --> BCD

BC --> DE

B --> D

D --> A

What would B+ be??

Upvotes: 1

Views: 1829

Answers (3)

Sowmya
Sowmya

Reputation: 11

B+ denotes closure of B.
B --> D          B+ = {BD}
D --> A          B+ = {ABD}
A --> BCD        B+ = {ABCD}
BC --> DE        B+ = {ABCDE}

All the attributes of the relation can be found by B.

So, B is the primary key of the relation.

Upvotes: 1

Erwin Smout
Erwin Smout

Reputation: 18408

"I think B+ denotes the closure of B"

That is usually the intended meaning of appending a plus sign to something, however that "something", in the context of functional dependencies and normalization theory, must refer to the set of functional dependencies.

B+, where B is one of the attributes, still is meaningless by any convention I know of.

So, to answer the question that OP presumably intended to ask, if we call S his given set of FDs {A->BCD D->A ...}, then S+ is another set of FDs, which includes ALL FDs that can possibly be derived from the given set, augmented with all trivial dependencies such as A->A.

For example, from A->BCD and A->A, we can infer A->ABCD. From D->A and A->BCD we can infer D->BCD. Those inferred FDs are member of S+, but not of S.

(PS this set is usually not particularly useful, unless internally in systems that do computations on sets of FDs, such as perhaps automated algorithms for key determination)

Upvotes: 1

jj_jarm
jj_jarm

Reputation: 11

I think B+ denotes the closure of B

Upvotes: 1

Related Questions