Bueno amigo lo que tendrias que hacer es lo siguiente:
Crear las siguientes tablas maestras:
alumos- cursos y nota.
Luego las siguientes:
aulas y profesor como la relacion entre ellas es de muchas a muchas para poder asignar una aula a un curso y un profesor a un curso u aula debes hacer una tabla intermedia que llamaremos: asignaaulaprofe.
CREATE TABLE `alumnos` (
`idalumno` int(9) NOT NULL,
`nombre` varchar(60) character set latin1 collate latin1_general_ci NOT NULL,
`idcurso` int(9) NOT NULL,
PRIMARY KEY (`idalumno`),
KEY `idcurso` (`idcurso`),
KEY `idcurso_2` (`idcurso`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `asignaaulaprofe` (
`idasigna` int(11) NOT NULL auto_increment,
`idcurso` int(9) NOT NULL,
`idaula` int(9) NOT NULL,
`idprofesor` int(9) NOT NULL,
PRIMARY KEY (`idasigna`),
KEY `idcurso` (`idcurso`),
KEY `idaula` (`idaula`),
KEY `idprofesor` (`idprofesor`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=9 ;
CREATE TABLE `aulas` (
`idaula` int(9) NOT NULL,
`nombre` varchar(25) collate latin1_general_ci NOT NULL,
`capacidad` int(2) NOT NULL,
PRIMARY KEY (`idaula`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `cursos` (
`idcurso` int(9) NOT NULL,
`nombre` varchar(25) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`idcurso`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `notas` (
`idnota` int(9) NOT NULL auto_increment,
`nota` int(2) NOT NULL,
`idcurso` int(9) NOT NULL,
`idalumno` int(9) NOT NULL,
PRIMARY KEY (`idnota`),
KEY `idcurso` (`idcurso`),
KEY `idalumno` (`idalumno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
CREATE TABLE `profesor` (
`idprofesor` int(9) NOT NULL,
`nombre` varchar(60) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`idprofesor`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
(Relaciones de las Tablas)ALTER TABLE `alumnos`
ADD CONSTRAINT `alumnos_ibfk_1` FOREIGN KEY (`idcurso`) REFERENCES `cursos` (`idcurso`);
ALTER TABLE `asignaaulaprofe`
ADD CONSTRAINT `asignaaulaprofe_ibfk_3` FOREIGN KEY (`idprofesor`) REFERENCES `profesor` (`idprofesor`),
ADD CONSTRAINT `asignaaulaprofe_ibfk_1` FOREIGN KEY (`idcurso`) REFERENCES `cursos` (`idcurso`),
ADD CONSTRAINT `asignaaulaprofe_ibfk_2` FOREIGN KEY (`idaula`) REFERENCES `aulas` (`idaula`);
ALTER TABLE `notas`
ADD CONSTRAINT `notas_ibfk_1` FOREIGN KEY (`idcurso`) REFERENCES `cursos` (`idcurso`),
ADD CONSTRAINT `notas_ibfk_2` FOREIGN KEY (`idalumno`) REFERENCES `alumnos` (`idalumno`);
En cuanto a las consultas se pueden hacer por alumno y profesor y luego enlasarlas.
Cualquier cosa escribe
"El servir nos hace grandes"