
13/09/2010, 13:04
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 10 meses Puntos: 300 | |
Respuesta: Buscar en un array en la BD si un profesor puede impartir varias asignaturas y una asignatura puede ser impartida por varios profesores, tienes una relación muchos a muchos, y por tanto debes tener una tabla intermedia, es decir, son tres tablas:
profesores
idProf, nombreProf, etc.
asignaturas
idAsig, nombreAsig
profesoresasignaturas
idProfAsig, idProf, idAsig
naturalmente el idProf de profesoresasignaturas está relacionado, como clave foránea, con el idProf de profesores que es su clave primaria; y el nombreAsig de profesoresasignaturas es también clave foránea y está relacionado con el idAsig de asignaturas, que es su clave primaria. Los índices te permitirán trabajar a gran velocidad y obtener estadísticas de todo tipo, algo que también puede hacerse con lo que tienes, pero debes utilizar programación, mientras que con esa estructura que te propongo puedes conseguirlo desde la base de datos. Esto es algo fundamental en las bases relacionales. Mira sobre eso y la normalización. |