Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda con tablas :S

Estas en el tema de Duda con tablas :S en el foro de Mysql en Foros del Web. Miren soy nuevo en manejar bases de datos con mysql, y me dejaron una tarea y la verdad no entiendo como hacerle, la base de ...
  #1 (permalink)  
Antiguo 10/11/2009, 21:29
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Duda con tablas :S

Miren soy nuevo en manejar bases de datos con mysql, y me dejaron una tarea y la verdad no entiendo como hacerle, la base de datos es sobre materias docentes y alumnos.

Las tablas serian tentativamente asi:

Materias
-----------
#idMateria
+Nombre
+Docente (Esta va relacionada con el docente que imparte)
+Alumnos (Esta va relacionada con LOS ALUMNOS que la llevan)


Docentes
----------
#idDocente
+Nombre

Alumnos
---------
idAlumno
+Nombre


Mi duda es con respecto a la tabla materias, que va a referenciar no solo a uno, si no a varios alumnos, como por ejemplo la materia "matematicas I" la llevan tales y tales alumnos y pues la hacer la consulta me muestre la lista de alumnos, pero pues no se como hacerle :S, si alguien me puede ayudar, soy un neofito en esto.

gracias
  #2 (permalink)  
Antiguo 11/11/2009, 07:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con tablas :S

Necesitas otra tabla para la relación n a n entre materias y alumnos


Materias
-----------
#idMateria
+Nombre
+idDocente
<------ nada de alumnos

Docentes
----------
#idDocente
+Nombre

Alumnos
---------
#idAlumno
+Nombre

Matriculas
---------------
#idMateria
#idAlumno

es la única forma en que puedes relacionar cada materia con n alumnos y cada alumno con n materias... luego la consulta para ver los alumnos de una materia seria


Código sql:
Ver original
  1. SELECT a.nombre
  2. FROM (matriculas m INNER JOIN alumnos a ON m.idalumno=a.idalumno)
  3.           INNER JOIN materias mt ON mt.idmateria=m.idmateria
  4. WHERE mt.idmateria=25;

Esto nos da la relacion de alumnos de la materia con id=25.

Quim
  #3 (permalink)  
Antiguo 11/11/2009, 22:59
Avatar de JHTKoZ  
Fecha de Ingreso: noviembre-2009
Ubicación: Teocaltiche, Mexico
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Duda con tablas :S

muchas gracias, ya me funciono :D

se que es una duda de principiantes pero pues :S apenas estoy aprendiendo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:50.