Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2008, 20:38
Avatar de Hazek
Hazek
 
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 21 años, 9 meses
Puntos: 3
Ayuda para hacer cosultas!

Hola, estoy diseñando un pequeño programa simulando un colegio donde requiero que en una tabla se guarden los datos del alumno y en otra las materias posibles que pueda llevar pues un alumno puede llevar N materias pero resulta que no entiendo bien como crear las relaciones pues tampoco se en que tabla deberia ir el atributo de calificacion, segun yo la tabla HORARIOS es la que hace la relacion y creo que no deberia ir ahi el atributo de calificacion pero es que como dije antes no tengo claro donde deberia ir.


ESTRUCTURA QUE USE GRACIAS A HUARLO
create table alumnos
(
cuenta int(5),
nombre varchar(20),
edad int(2),
primary key(cuenta)
);


insert into alumnos values(12,'david',23);
insert into alumnos values(34,'ana',23);
insert into alumnos values(56,'mony',22);

create table materias
(
id_materia int(5),
nombre varchar(20),
primary key(id_materia)
);

insert into materias values(123,'matematicas');
insert into materias values(456,'microcontroladores');
insert into materias values(798,'calculo');
insert into materias values(012,'español');



create table alumnos_materias
(
cuenta int(5),
id_materia int(5),
calificacion int(2),

primary key(cuenta,id_materia),
foreign key(cuenta) references alumnos(cuenta),
foreign key(id_materia) references metrias(id_materia)
);


insert into alumnos_materias values(12,123,8);
insert into alumnos_materias values(12,798,9);
insert into alumnos_materias values(12,012,7);



TRATE DE HACER EL SIGUIENTE QUERY PARA OBTENER LAS MATERIAS QUE LLEVA DAVID PERO ESTA MAL Y CREO QUE ESTA MAL DESDE EL DISEÑO DE LA BASE DE DATOS y EL QUERY :(

#MATERIAS QUE LLEVA DAVID (corregido)
select materias.nombre from materias, alumnos_materias, alumnos where alumnos.cuenta = alumnos_materias.cuenta and materias.id_materia = alumnos_materias.id_materia and alumnos.nombre = 'david';
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.

Última edición por Hazek; 09/01/2008 a las 00:34 Razón: Correcciones!