This cannot be stressed enough, a good foundation in Relational concepts can save you hours of frustration in performance tuning. Too many times developers learn how to dump some stuff in a table and away they go. Understanding relational concepts is as important as understanding good programming concepts, it is not and should not be an afterthought for developers. As the parent implied once you have a grasp of this, you can weigh the pros and cons of the noSQL databases for particular projects.
A more specific recommendation: _An Introduction to Database Systems_ by C. J. Date.
Be warned that he's got an axe to grind - He's often critical of SQL because it doesn't live up to the mathematical elegance of the relational model. (I happen to agree with him.) He knows his stuff, though.
If you want the Cliffs notes of the textbook, read Date's Database in Depth: Relational Theory for Practitioners. You might want to read it a couple of times though.
http://en.wikipedia.org/wiki/Christopher_J._Date
http://en.wikipedia.org/wiki/Fabian_Pascal