Título: problema con base de datos Publicado por: Basil en 2 Enero 2011, 02:54 am 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!!! :-( Título: Re: problema con base de datos Publicado por: marlon_agz en 2 Enero 2011, 07:55 am En que estas trabajando ??
asi a la rapida en Access se me ocurre algo asi Código: 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 Título: Re: problema con base de datos Publicado por: Aberroncho en 2 Enero 2011, 19:41 pm Tal y como lo planteas deberías tener tres tablas +/- así:
Código: --------------- 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: Código: 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. Título: Re: problema con base de datos Publicado por: Basil en 3 Enero 2011, 09:02 am estoy trabajando en sql server y programando en c# ;D
pero ya entendi :D muchisimas gracias por su ayuda ;-) |