"Un profesor, puede impartir muchas asignaturas"
"Una asignatura puede ser impartida por muchos profesores"
muchos ----- muchos
"Un alumno cursa muchas asignaturas"
"Una asignatura es cursada por muchos alumnos"
muchos ------ muchos
Por definición en este tipo de realación se crea una tabla de cada uno de los conceptos(2 tablas) y una tabla más de relación, por lo tanto...
id_asignatura | nombre_asignatura
1 Matemáticas
2 Literatura Universal
3 Bases de Datos relacionales
id_profesor | Nombre Profesor
1 Juan
2 Diego
3 Martin
4 Pedro
Y la tabla de relación que tiene que involucrar los ids para relacionar
asignatura_profesor
id_profesor | id_asignatura
1 2
1 3
2 2
3 1
3 2
3 3
Ahora si te pido que me traigas los profesores que imparten Bases de Datos Relacionales me puedes decir que la materia tiene el id 3 y es impartida por el profesor 1 y 3, los cuales responden a los nombres de Juan y Martin.
Pero también te puedo pedir que me traigas las materias que imparte además Martin, en la tabla de relación me puedes decir que imparte las materias 1, 2 y 3 que corresponden a los nombres de la tabla asignaturas que tengan dichos id's.
De esta manera eliminas la redundancia en tu DB y solo extraes a partir de cualquier dato dado.
je je, espero haberlo hecho bien
Salu2,