For data modeling, I find there are few books out there that really provide good information on design best practices. After a long hard search I determined
The Data Modeling Handbook "A Best-Practices approach to Building Quality
Data Models" is one of the best books you can buy. It takes time to understand their explaination for some of their modeling practicies. I wish they gave more examples and specifics. However, once you've run into the problems they describe it becomes more clear as to why they make their recommendations.
One book that you can start with is "Database Management Systems 3rd Ed" by R Ramakrishnan. It covers the relational model and some about the normal forms. You can find this (as pdfs) through google, I did just a few days ago.
If you have a math background and _really_ want to understand the relational model and the fundamental concept of functional dependencies, buy the book "Relational Database Theory", by Atzeni, De Antonellis.