hola, primero que nada feliz año nuevo.
tengo un problema con base de datos porque no entiendo, así que les pido su ayuda POR FAVOR :-[
bueno tengo dos tablas, una llamada profesor y la otra grupo cuya relación es muchos a muchos, así que tengo la tabla intermedia profesor_grupo, la cosa que no entiendo es la siguiente:
tengo los grupos A1, B1, C1 y D1
y los profesores Fulano, Mengano, Zutano y Perengano
Fulano imparte a los grupos A1, C1 y D1
Mengano imparte a los grupos B1 y D1
Zutano imparte a D1, A1 y B1
y Perengano sólo a B1
mi tabla profesor_grupo quedaría así:
profesor_grupo
_____________
id
id_profesor
id_grupo
y los datos almacenados serían:
id id_profesor id_grupo
_____________________
1 1 1
2 2 2
3 3 3
4 4 4
cómo es que sé qué grupos le pertenecen a cada profesor?? :huh:
o eso lo tengo que hacer programando??
NO ENTIENDO :-(
AYUDA POR FAVOR!!! :-(
En que estas trabajando ??
asi a la rapida en Access se me ocurre algo asi
Id Profesores A1 B1 C1 D1
2 Fulano Sí No Sí No
3 Sutano No No Sí Sí
4 Merengano Sí Sí No No
5 Pascual No Sí No Sí
Las Columnas A1 B1 C1 D1 son bolean, en access es si/no, pero en MsSql server son True/False
Espero esto te sirva o de una idea (mejor dicho espero no equivocarme xD )
Salu2
Tal y como lo planteas deberías tener tres tablas +/- así:
---------------
Tabla: PROFESOR
---------------
ID_PROFESOR NOMBRE_PROFESOR
----------- ---------------
P1 Fulano
P2 Mengano
P3 Zutano
P4 Perengano
------------
Tabla: GRUPO
------------
ID_GRUPO NOMBRE_GRUPO
-------- ------------
G1 Grupo A1
G2 Grupo B1
G3 Grupo C1
G4 Grupo D1
---------------------
Tabla: PROFESOR_GRUPO
---------------------
ID_PROFESOR ID_GRUPO
----------- --------
P1 G1
P1 G3
P1 G4
P2 G2
P2 G4
P3 G1
P3 G2
P3 G4
P4 G2
A partir de ahí, cada vez que quieras recuperar a que grupos les da clase un profesor, es tan sencillo como hacer una join de tablas:
SELECT
GRUPO.ID_GRUPO
, GRUPO.NOMBRE_GRUPO
FROM
PROFESOR
, PROFESOR_GRUPO
, GRUPO
WHERE
PROFESOR.NOMBRE_PROFESOR = 'Fulano'
AND PROFESOR.ID_PROFESOR = PROFESOR_GRUPO.ID_PROFESOR
AND PROFESOR_GRUPO.ID_GRUPO = GRUPO.ID_GRUPO
Y a partir de aquí, ya es cuestión de que juegues con la consultas para ir obteniendo la información que quieras.
También podrías hacerlo por código. Según como sean las tablas, lo que quieras obtener, la base de datos con la que estés trabajando y el volumen de datos que esperes recuperar, podría incluso ser más rápido.
estoy trabajando en sql server y programando en c# ;D
pero ya entendi :D
muchisimas gracias por su ayuda ;-)