
WWWW
VIP
Pi
Verificación en dos pasos activada
Suscripción a IA
Hola. Tengo una duda respecto una relación de datos entre tablas.
Cual sera la mejor más rápida, flexible y standar por decirlo así de hacer esta relación Y sobre todo que consuma menos recursos.
Por ejemplo tengo una tabla con cursos y los siguientes niveles para cada curso (basico, intemedio, avanzado, profesinal).
Tabla-Curso
La siguiente forma la realizo cuando no hay muchas variantes, como es en este caso con los niveles, que son solo 4.
FORMA 1
Hacemos la validación del lado del programa, para que cada curso quede en la columna según su nivel y separados por coma "," como un array, para cada nivel
Tabla Usuarios
Bueno la siguiente forma es donde me surge la duda, ya que he leído que es mejor esta forma, ya que seria fácil de interpretar por SQL y implantar la DB en otro tipo de aplicaciones.
FORMA 2
En esta forma, se crearía una nueva tabla donde se van agregando los cursos, según su nivel y usuario.
Tabla Usuarios
Tabla Cursos Asignados
Preguntas / Dudas
1. Cual es la forma correcta?
2. Cual seria la mejor forma de las 2 anteriores?
3. Tienes alguna mejor forma para guardar estos datos?
Gracias por su ayuda, saludos.
Cual sera la mejor más rápida, flexible y standar por decirlo así de hacer esta relación Y sobre todo que consuma menos recursos.
Por ejemplo tengo una tabla con cursos y los siguientes niveles para cada curso (basico, intemedio, avanzado, profesinal).
Tabla-Curso
PHP:
id_curso | nombre_curso
1 | Mate
2 | Física
3 | Contabilidad
4 | Compu
5 | .... hasta los necesarios
La siguiente forma la realizo cuando no hay muchas variantes, como es en este caso con los niveles, que son solo 4.
FORMA 1
Hacemos la validación del lado del programa, para que cada curso quede en la columna según su nivel y separados por coma "," como un array, para cada nivel
Tabla Usuarios
PHP:
id_user | nombre_user | nivel_basico | nivel_intermedio | nivel_avanzado | nivel_profesional
54 | Pepe_Pepez | 1,3 | 2 | 7,9 | 5,11
Bueno la siguiente forma es donde me surge la duda, ya que he leído que es mejor esta forma, ya que seria fácil de interpretar por SQL y implantar la DB en otro tipo de aplicaciones.
FORMA 2
En esta forma, se crearía una nueva tabla donde se van agregando los cursos, según su nivel y usuario.
Tabla Usuarios
PHP:
id_user | nombre_user
54 | Pepe_Pepez
Tabla Cursos Asignados
PHP:
id_asignado | nivel_basico | nivel_intermedio | nivel_avanzado | nivel_profesional | id_user
45 | 1 | null/0 | null/0 | null/0 | 54
46 | 3 | null/0 | null/0 | null/0 | 54
58 | null/0 | 2 | null/0 | null/0 | 54
94 | null/0 | null/0 | 7 | null/0 | 54
99 | null/0 | null/0 | 9 | null/0 | 54
110 | null/0 | null/0 | null/0 | 5 | 54
Preguntas / Dudas
1. Cual es la forma correcta?
2. Cual seria la mejor forma de las 2 anteriores?
3. Tienes alguna mejor forma para guardar estos datos?
Gracias por su ayuda, saludos.