Denormalization
Add rname field to player to avoid join:
- newplayer (id, name, num, pos, tname, tcity, rname FK references rink(rname), FK (tname, tcity) references team (tname, city))
- newplayer is 2NF (YIKES!)
- DB is still lossless, dependency-preserving
Must manage redundancy!
- Updates to newplayer (tname, tcity, rname) must check for correct value of rname
- Updates to team (rname) must propagate to newplayer
Create a view to preserve external schema