Database normalization and design issues is a difficult topic to write about. A lot of it depends on the application you are writing and how you want to access the data.
Whilst writing my forum, I decided to do things slightly differently to a normalized setup to speed things up.
Here's a look at how to achieve some nice improvements by adjusting a database design and using some postgresql features like triggers and functions.
More...