Una buena regla general es que cada tabla debe tener filas únicas. Por ejemplo, si un usuario puede tener dos perfiles, necesitaría dos tablas: una llamada perfiles y otra llamada usuarios. Entonces tendría un campo en la tabla de perfil que contiene el user_id (idealmente definido como una clave foránea). No tendría una tabla con dos filas para que el usuario indique dos perfiles (al menos no lo haría).
Otra regla general es usar identificadores y no texto para almacenar campos con opciones definidas. Entonces, supongamos que almacena el país de residencia por usuario. No almacenarías el texto USA en ese campo. Tendría una tabla llamada países, y si EE. UU. Tuviera un ID de 12, la tabla de usuario contendría el número 12 (y se definiría como un campo entero). Esto mantiene el tamaño de la base de datos bajo y también evita errores tipográficos y otros errores. Si se trata de un menú desplegable para el usuario, normalmente debería tener su propia (mini) tabla. No tengas miedo de tener 20 de esas tablas, te ahorrarán dolores de cabeza más adelante.