· 6 years ago · May 24, 2019, 12:20 AM
1DROP DATABASE IF EXISTS bdd_ilj_david_sedeño_06;
2CREATE DATABASE bdd_ilj_david_sedeño_06;
3USE bdd_ilj_david_sedeño_06;
4
5SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
6SET AUTOCOMMIT = 0;
7START TRANSACTION;
8SET time_zone = "+00:00";
9
10
11DROP TABLE IF EXISTS `alumnos`;
12CREATE TABLE IF NOT EXISTS `alumnos` (
13 `DNI_ALUMNO` char(9) NOT NULL,
14 `NOMBRE_ALUMNO` varchar(20) NOT NULL,
15 `APELLIDO1_ALUMNO` varchar(20) NOT NULL,
16 `APELLIDO2_ALUMNO` varchar(20) DEFAULT NULL,
17 `FECHA_NACIMIENTO_ALUMNO` date NOT NULL,
18 PRIMARY KEY (`DNI_ALUMNO`)
19) ENGINE=InnoDB DEFAULT CHARSET=latin1;
20
21
22DROP TABLE IF EXISTS `centros`;
23CREATE TABLE IF NOT EXISTS `centros` (
24 `NOMBRE_CENTRO` varchar(50) NOT NULL,
25 `CP` char(5) NOT NULL,
26 PRIMARY KEY (`NOMBRE_CENTRO`)
27) ENGINE=InnoDB DEFAULT CHARSET=latin1;
28
29
30DROP TABLE IF EXISTS `modulo`;
31CREATE TABLE IF NOT EXISTS `modulo` (
32 `NOMBRE_CURSO` char(20) NOT NULL,
33 `ASIGNATURA1` varchar(20) NOT NULL,
34 `ASIGNATURA2` varchar(20) NOT NULL,
35 `ASIGNATURA3` varchar(20) NOT NULL,
36 PRIMARY KEY (`NOMBRE_CURSO`,`ASIGNATURA1`,`ASIGNATURA2`,`ASIGNATURA3`)
37) ENGINE=InnoDB DEFAULT CHARSET=latin1;
38
39DROP TABLE IF EXISTS `nota_alumno`;
40CREATE TABLE IF NOT EXISTS `nota_alumno` (
41 `NOMBRE_CURSO` char(20) NOT NULL,
42 `DNI_ALUMNO` char(9) NOT NULL,
43 `ASIGNATURA1` varchar(20) NOT NULL,
44 `NOTA1` int(11) NOT NULL,
45 `ASIGNATURA2` varchar(20) NOT NULL,
46 `NOTA2` int(11) NOT NULL,
47 `ASIGNATURA3` varchar(20) NOT NULL,
48 `NOTA3` int(11) NOT NULL,
49 PRIMARY KEY (`NOMBRE_CURSO`,`DNI_ALUMNO`,`ASIGNATURA1`,`NOTA1`,`ASIGNATURA2`,`NOTA2`,`ASIGNATURA3`,`NOTA3`),
50 KEY `DNI_ALUMNO` (`DNI_ALUMNO`),
51 KEY `NOMBRE_CURSO` (`NOMBRE_CURSO`,`ASIGNATURA1`,`ASIGNATURA2`,`ASIGNATURA3`)
52) ENGINE=InnoDB DEFAULT CHARSET=latin1;
53
54
55DROP TABLE IF EXISTS `titulos`;
56CREATE TABLE IF NOT EXISTS `titulos` (
57 `COD_TITULO` char(20) NOT NULL,
58 `NOMBRE_TITULO` varchar(20) NOT NULL,
59 `NOMBRE_CENTRO` varchar(50) NOT NULL,
60 `NOMBRE_CURSO` char(20) NOT NULL,
61 `DNI_ALUMNO` char(9) NOT NULL,
62 `ASIGNATURA1` varchar(20) NOT NULL,
63 `NOTA1` int(11) NOT NULL,
64 `ASIGNATURA2` varchar(20) NOT NULL,
65 `NOTA2` int(11) NOT NULL,
66 `ASIGNATURA3` varchar(20) NOT NULL,
67 `NOTA3` int(11) NOT NULL,
68 `TITULADO` tinyint(1) DEFAULT NULL,
69 PRIMARY KEY (`NOMBRE_TITULO`),
70 KEY `NOMBRE_CENTRO` (`NOMBRE_CENTRO`),
71 KEY `NOMBRE_CURSO` (`NOMBRE_CURSO`,`DNI_ALUMNO`,`ASIGNATURA1`,`NOTA1`,`ASIGNATURA2`,`NOTA2`,`ASIGNATURA3`,`NOTA3`)
72) ENGINE=InnoDB DEFAULT CHARSET=latin1;
73
74
75ALTER TABLE `nota_alumno`
76 ADD CONSTRAINT `nota_alumno_ibfk_1` FOREIGN KEY (`DNI_ALUMNO`) REFERENCES `alumnos` (`DNI_ALUMNO`) ON DELETE CASCADE ON UPDATE CASCADE,
77 ADD CONSTRAINT `nota_alumno_ibfk_2` FOREIGN KEY (`NOMBRE_CURSO`,`ASIGNATURA1`,`ASIGNATURA2`,`ASIGNATURA3`) REFERENCES `modulo` (`NOMBRE_CURSO`, `ASIGNATURA1`, `ASIGNATURA2`, `ASIGNATURA3`) ON DELETE CASCADE ON UPDATE CASCADE;
78
79
80ALTER TABLE `titulos`
81 ADD CONSTRAINT `titulos_ibfk_1` FOREIGN KEY (`NOMBRE_CENTRO`) REFERENCES `centros` (`NOMBRE_CENTRO`) ON DELETE CASCADE ON UPDATE CASCADE,
82 ADD CONSTRAINT `titulos_ibfk_2` FOREIGN KEY (`NOMBRE_CURSO`,`DNI_ALUMNO`,`ASIGNATURA1`,`NOTA1`,`ASIGNATURA2`,`NOTA2`,`ASIGNATURA3`,`NOTA3`) REFERENCES `nota_alumno` (`NOMBRE_CURSO`, `DNI_ALUMNO`, `ASIGNATURA1`, `NOTA1`, `ASIGNATURA2`, `NOTA2`, `ASIGNATURA3`, `NOTA3`) ON DELETE CASCADE ON UPDATE CASCADE;
83COMMIT;