How much database normalization is too much?
April 25, 2008 3:57 PM
Subscribe
How much SQL normalization is too much?
I've listened to the excellent advice in my last
question and decided to start over with my web app. I went from three tables to 17, and now I find myself wondering: how much DB normalization is too much?
More specifically, if I have a status field which can contain very few entries (no more than four ever for the rest of this app's life), do I have to pull it out into a separate table?
For Example, is this:
Table: course
Fields
courseid (1)
coursename (History)
coursestatus (1)
Table: status
Fields
statusid (1)
status (In Production)
Better than this:
Table: course
Fields
courseid (1)
coursename (History)
coursestatus (In Production)
Thanks for your help!
posted by EduTek to computers & internet (21 comments total)
10 users marked this as a favorite
More specifically, if I have a status field which can contain very few entries (no more than four ever for the rest of this app's life), do I have to pull it out into a separate table?
You don't have to of course, but the reason why you would do it doesn't just depend on how many entries there are:
1) supposing a case where you make a zillion queries on course that do not require knowing the status, then it might make some sense to split it off (you're saving yourself from looking up/sending that data when it's not needed).
2) supposing the few entries you have under status ever change then normalized is easier to update if you have a zillion courses (yeah, it may just be a simple update, but depending on how many courses you have it could take significantly longer to update each record as opposed to just the single record in status)
posted by juv3nal at 4:07 PM on April 25, 2008