I’m confused on whether I should combine two tables or leave them separated. The ff is just one set of that problem of mine:
tblPhone(Phone_ID, Phone_Number, Phone_Type_ID, Person_ID)
tblPhone(Phone_Type_ID, Phone_Type_Name)
or
I should simply have it as:
tblPhone(Phone_ID, Phone_Number, Phone_Type_Name, Person_ID)
Does one have advantage over the other? Is there like a standard guideline or practice for table creation? For example, I remember someone telling me if a table isn’t 3 or more, just combine it to another table, something like that…how true is that? I remember a little bit of normalization rules…but it can be very confusing at times. I think this falls on the third normalization rule that’s why they should be separated, am I mistaken? Thanks!
You are correct that this illustrates the third normal form.
You are normalizing the
Phone_Type_Nameout oftblPhone(we assume you mean to call the secondtblPhoneType). This is correct and a common practice. Even if you have just two columns intblPhoneTypenow, eventually you may need to expand it to include other attributes related to phone types, and that is the easiest way to illustrate why you should normalize it.Likely future scenario (need more columns):
By normalizing it now, you have protected yourself against this: