If I store all of the fields into a single database table, the table could get pretty huge. So... my question is... if you have a single thing in your database that contains potentially hundreds of attributes, how do you handle it?
You'll probably have plenty of time though to get it right. I started a tiny database to track 10 stats for 15 people on a monthly basis. I was assured that that's all we were tracking so I just threw it together. It's now 18 stats on 1300 people being updated daily. 4 months later I'm starting to lag if I get many people connecting. 1 person connecting I can still find just about anything in less than 1 sec using a desktop computer.
Start by seperating out the things that lots of people will be using.
user_ID, Login, Password
Not sure if Login is unique? If it is, then you could use it as user_ID?
Next you'll probably want to get contact information out of the way. Address in 1 table (you probably won't have 100's of people at the same address but you can normalize for that if you want also). tie it with user_id as a foreign key. Don't forget to create a primary key!
optional data you probably won't use much? Unless you're selling it as a primary business.
Basically i'd just start by seperating out into 3 tables. Play with it. See if you're entering the same information repeatedly. then sort it out again.