I am in the pen and paper stage of designing a database that I'd like to to turn into a web form and I'm kind of stuck by my lack of knowledge.

Aside from the typical contact info, the form will also collect whether the user wants to register with the site as a distributor, athletic director, player or fan (I work for a sports apparel mfg).

Would it be wise to have a contact table with minimal info (name and email(pk) only) with separate tables for dealer, director, player or fan and have the mailing info for each inside each table or should I have a contact table with all general contact info and then create a separate role table. I figured the role table could have an auto-incrementID(pk) and then role name so that additional roles can be added down the line. Or am I way out in left field not making any sense?

TIA for your thoughts and efforts.

I would not have separate tables at all (except in exceptional circumstances) and use a contact type field to define the kind of user involved. Having said that it depends on how different the info you need is on each type and how likely it is that types would be added/deleted/changed