Buenos días se me plantea la siguiente cuestión sobre el diseño de una base de datos.
El tema está en que el registro no se limitará a usuarios o clientes normales también a socios.
De ahí mi pregunta, por ejemplo a la hora de almacenar tablas como las siguientes: perfil (profile), direcciones (addresses), etc.
Si tengo todos los usuarios juntos y sólo se identifican de forma separada por una tabla denominada UserTypes (Partners / Consumers), y no una por cada tipo de usuario registrado, a la hora de almacenar los perfiles y direcciones, cuál creéis que es la mejor forma, ya que si los separo en dos tablas ¿cómo enlazo a una tabla Profiles? De ese modo tendría que tener esa tabla Profiles un enlace a Partners y otro a Consumers. Igual con las direcciones.
Ahora mismo tengo las siguientes tablas:
UserTypes: id, usertype [Partner/Consumer]
Users: id, username, email, password, userTypeId (Esta es la que no tengo claro si separar según el tipo de usuario)
Profiles: id, facebookId, twitterId, PhoneNumber, MobileNumber, UserID
AddressType: id, AddressType [Primary, Invoice]
Addresses: id, Line1, Line2, Line3, City, State, PostCode, Country
Estoy dudando ya que no sé si plantearme una base de datos para cada tipo de usuarios. BDPatners y BDClients
Gracias de antemano.
Saludos