Search code examples
databaserelational-databasedatabase-normalizationfunctional-dependencies3nf

Normalization 3NF


I an reading through some examples of normalization, however I have come across one that I do not understand.

The website the example is located here: http://cisnet.baruch.cuny.edu/holowczak/classes/3400/normalization/#allinone

The part I do not understand is "Third Normal Form"

In my head I see the transitive dependencies in EMPLOYEE_OFFICE_PHONE (Name, Office, Floor, Phone) as the following Name->->Office|Floor and Name->->Office|Phone

The author splits the table EMPLOYEE_OFFICE_PHONE (Name, Office, Floor, Phone) into EMPLOYEE_OFFICE (Name, Office, Floor) and EMPLOYEE_PHONE (Office, Phone)

From my judgement in the beginning, I still see the transitive dependency in Name->->Office|Floor so I don't understand why it is in 3NF. Was I wrong to state that there is a transitive dependency in Name->->Office|Floor?

Reasoning for transitivity: Here is my list of the functional dependencies

  1. Name -> Office
  2. Name -> Floor
  3. Name -> Phone
  4. Office -> Phone
  5. Office -> Floor (Is this the incorrect one? and why?

Thank-you your help everyone!


Solution

  • 5) you assume a naming sheme here ... offices 4xx have to be on floor 4 ... 5xx have to be on floor 5 ... if such a scheme exists, you can have your dependency ... as long as this is not part of the specification ... no. 5 is out of the game ...