I am trying to create a general db which can be used for general login purposes; a person will fill out a registration form and register for a site. Please have a look over my diagram and tell me what you think about it. Is it well built? Am I missing something? Did I use all the right relationships and data types, etc? I am trying to learn good database design, so please feel free to criticize.
A little background info:
Username is unique
All relationships are 1 to 1
it all looks fine, assuming you really do intend to allow multiple users to have the same login, or one user to have muiltiple logins, or to allow a single user to have multiple positions, or the same user to belong to multiple companies
you have 3 "Link" tables -- remove the existing PKs (auto_increments?) and make the PK a composite key consisting of the other two columns