Am I taking normalization too far? (too many small tables)
I have a database design where I think I'm doing the right thing. However, I want to make sure I'm not over-complicating my design. Any feedback is appreciated...
I have a table of spacecraft. This is the main table in my database and contains a lot of information regarding the spacecraft. The table however, has several FKs to some simple tables.
For instance, each spacecraft was launched by a specific kind of rocket and a kind of rocket may been used for multiple spacecraft. I have the rockets in their own table. Because I'm not really looking at much rocket data, the table is pretty simple: ID, Rocket Name, Rocket Family (FK). Rocket Family in turn points to a new table that is even simpler: ID, Rocket Family Name.
The same scenario is then duplicated for launch sites. And similarly for spacecraft type (where I have two tables, one for spacecraft type, one for spacecraft family).
Am I doing this right, or am I taking things too far?
I believe You're doing good. You should de-normalize only when you want to avoid an insane ammount of joins which could be slowing down the database server, or are too much of a burden to code, and even then you should be careful with that practice.