Cita:
Iniciado por gnzsoloyo El tema no pasa por duplicidad de datos. Si los datos se duplican (eso sería provocar inconsistencia de datos), lo que tendrías sería un error de normalización.
La primera clave para resolver tu pregunta es determinar si hay un conjunto de 1+N datos que sean opcionales, es decir que puedan o no existir en todos los casos. Si existe un conjunto identificable de datos referidos a un determiando concepto del usuario (direcciones, por ejemplo, teléfonos, familiares), ese subconjunto debe separarse en una tabla dependiente.
Pero en este caso lo que debes definir es si es o no opcional. Si los datos fueran mandatorios (obligatorios), y su relacion fuese 1:1, no tiene ningún sentido separarlos, a excepción de simplicidad estructural y perfomance para las consultas.
En este último caso se refiere a que aún dentro de la misma entidad, tienes N datos que siempre se consultan, y M datos que se consultan esporadicamente y se modifican rara vez. Dada esa situación, por cuestiones de performance podría ser conveniente separarlos.
Una cosa que debes entender es que existen infinitas formas de resolver el diseño de datos para la misma aplicación, y que dos analistas, trabajando con el mismo sistema, con iguales requisitos y para el mismo cliente, pueden plantearte dos diseños completamente distintos e interexcluyentes (uno no incluye al otro e incluso lo contradirce), sin que eso signifique que uno es correcto y el otro no.
Todo depende de cómo se analiza. No existen modos "mejores", no existe en este ámbito "la mejor forma". Lo que sí existen son métodos para llegar a resultados optimizados, pero los resultados varían de uno a otro sistema.
Claro, mi pregunte fue dirigida principalmente a eso, por mas q no lo haya nombrado.
Si son datos opcionales, los agrego en la misma tabla o creo una aparte?
Lo hice de las dos formas, pero la q me resulto mas comoda para trabajar es la de poner los datos en la misma tabla. Cuando digo datos, me refiero a nombre, apellido, email, provincia, ciudad... esos son los datos q quiero agregar.
Todavia no hice un registro de usuarios, solo el super admin puede agregar usuarios, entonces cuando lo agrega solo se inserta el username, el password y el rol de usuario (root, admin, user) y los demas campos estan vacios.
Si el usuario quiere cambiar los datos de su perfil, lo mando a edit_perfil y si no, no se muestra nada.
Si un usuario quiere ingresar al perfil del otro y éste no lo completo o edito, le pondria un mensaje de "El usuario no edito su perfil" o algo similar...
No se si se entiende