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

Duda de principiante sobre estructura de base de datos

Estas en el tema de Duda de principiante sobre estructura de base de datos en el foro de Bases de Datos General en Foros del Web. Pues eso, que estoy empezando un poco a meterme con SQL y me ha surgido una duda al diseñar una BD q sera una tonteria, ...
  #1 (permalink)  
Antiguo 22/05/2004, 10:52
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
Duda de principiante sobre estructura de base de datos

Pues eso, que estoy empezando un poco a meterme con SQL y me ha surgido una duda al diseñar una BD q sera una tonteria, pero ya os digo que acabo de empezar.
La cosa es que tengo unas tablas, alumnos, profesores y asignaturas, entre otras.
A la hora de diseñar las tablas y sus campos, me encuentro con la duda siguiente:
Los alumnos pueden tener mas de una asignatura, los profesores pueden dar mas de una asignatura.
¿Como lo haria?
Muchas gracias a todos.
  #2 (permalink)  
Antiguo 22/05/2004, 11:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
"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,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 23/05/2004, 08:56
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
Y para reflejar la relacion Alumno-Asignatura-Profesor como lo haria?
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 07:02.