Not so sure you need to go to that much detail in the linking of your tables. It's a good idea for the states, but the zip is usually just an integer anyway, so you can just store that with the record. Next, do you really need "Full_Name"??? You can extract that from the other two fields. As for city, that's going to be a HUGE table. The only advantage to making another table out of such is if you had more data per record and you need to search really fast. Just store that in with the Contact info the single table.
The way I'd do it would be like this: [Contacts] ID int primary key auto_increment not null fname varchar(25) not null lname varchar(35) not null mname varchar(25) suffix varchar(5) addr1 varchar(35) addr2 varchar(35) city varchar(35) not null state int not null zip int not null [State] ID int primary key auto_increment not null state varchar(25) The field sizes are arbitrary, so think about what you're gonna need and size appropriately. Russell Griechen wrote: > > I am contemplating a Historical Database > I barely can spel redundant let alone normalize so I am handicapped. > The aim is to enter a name only once. I am studying linking tables. > In the [Contact] > idContact > First_Name,Last_Name,Middle,Suffix,Full_Name,idCity,idState,City_State,i > dZip_Code, > Address_1,Address_2, > > [City] > id > Cityname > > id (al, ar etc) > Statename > > [ZipCode] > id > Zip_Code > > Comment please, > Russell Griechen > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php