database - Relational DB - When looking to functional dependencies among non-key values, should I look to multi-dependence causers? -


ex: imagine have database

a      //primary key b c d 

all fields depends functionally of key.

no non-key field depends functionally of non-key field.

but: d depends functionally of b , c.should consider (dependence multiple fields) when trying achieve third normal form?

your question boils down this: r1 , r2 same?

  • r1( a bcd), a->bcd
  • r2( a bcd), a->bcd, bc->d

clearly different. r1 in @ least bcnf stands now; r2 has transitive dependency, bc->d, no higher 2nf.

we write attributes using uppercase letters, because uppercase letters represent sets in set theory. relational model based in part on set theory. so, in real-world modeling job, a might represent set of 3 columns.

in example, fact left-and side of 1 functional dependency represented single letter a, , left-hand side of other represented 2 letters bc isn't important. both left-hand sides might represent two, three, or more columns in relational table. normalization through bcnf takes account every functional dependency know about, no matter how many letters takes express it.

you could rewrite r2 this, after doing e = bc. doesn't change transitive dependency @ all.

  • r2( a ed), a->ed, e->d

Comments

Popular posts from this blog

tcpdump - How to check if server received packet (acknowledged) -