The table is in 1NF since it has no repeating groups, all single-valued attributes, and no derived data. The primary identifier is [Journal title, Volume]. It is not in 2NF since
Journal title —> Publisher
but Journal title is not the complete identifier. Thus we have to repeatedly specify that Miller Freeman publishes AI Expert. This is a transitive dependency problem. We fix this by replacing the above relation with the following:
- [Journal title, Volume] —> Pages
- Journal title —> Publisher
Make sure that you could
- Appropriately fill these tables with data
- See what functional dependencies they contain
- See we have reached 2NF.
There are no transitive dependencies, so we are in 3NF.
One quick way to tell that you don't have transitive dependencies: if the relation has one or fewer attributes on the right side of the arrow, then it can't have a transitive dependency. How would it? One attribute on the right-hand-side has to be determined by another attribute on the right-hand-side. If there aren't at least two, then this can't happen.
Return to 3rd normal form.