in reply to Database Design Issues - OT

And then there's over-normalizing. We had a YEAR table with all the distinct years of all our products, and it acted as a foreign key to other tables. The problem was that the table had a year_id field (sequential integer and primary key) and a year field (actual year), and the other tables were storing the year_id field since it was the key field. (Ok, maybe this wasn't really normalizing, but it WAS a bad idea).

This made simple searches to find things between two years into a horrible join that caused full table scans. I convinced them to just store the year itself in the YEAR table, and make it the primary key.