Last active
September 8, 2020 12:25
-
-
Save kubrick06010/e6e0ba8df73ac3bf5c8b964dd42d52cb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Se procede a crear y utilizar la base de datos historial */ | |
| CREATE DATABASE IF NOT EXISTS historial; | |
| USE historial; | |
| /* Se procede a crear la tabla empleados */ | |
| CREATE TABLE empleados | |
| ( | |
| dni INT(8), /* Se cambia el tipo de dato */ | |
| nombre VARCHAR(10), | |
| apellido1 VARCHAR(15), | |
| apellido2 VARCHAR(15), | |
| direcc1 VARCHAR(25), | |
| direcc2 VARCHAR(20), | |
| ciudad VARCHAR(20), | |
| provincia VARCHAR(20), | |
| cod_postal VARCHAR(5), | |
| sexo VARCHAR(1), | |
| fecha_nac DATE | |
| ); | |
| /* Se procede a crear la tabla departamentos */ | |
| CREATE TABLE departamentos | |
| ( | |
| dpto_cod INT(5), /* Se cambia el tipo de dato */ | |
| nombre_dpto VARCHAR(30), | |
| dpto_padre INT(5), /* Se cambia el tipo de dato */ | |
| presupuesto NUMERIC, /* Se cambia el tipo de dato */ | |
| pres_actual NUMERIC /* Se cambia el tipo de dato */ | |
| ); | |
| /* Se procede a crear la tabla estudios */ | |
| CREATE TABLE estudios | |
| ( | |
| empleado_dni INT(8), /* Se cambia el tipo de dato */ | |
| universidad INT(5), /* Se cambia el tipo de dato */ | |
| f_grado YEAR,/* Se sustituye la palabra año */ | |
| grado VARCHAR(3), | |
| especialidad VARCHAR(20) | |
| ); | |
| /* Se procede a crear la tabla universidades */ | |
| CREATE TABLE universidades | |
| ( | |
| univ_cod INT(5), /* Se cambia el tipo de dato */ | |
| nombre_univ VARCHAR(25), | |
| ciudad VARCHAR(20), | |
| municipio VARCHAR(2), | |
| cod_postal VARCHAR(5) | |
| ); | |
| /* Se procede a crear la tabla trabajos */ | |
| CREATE TABLE trabajos | |
| ( | |
| trabajo_cod INT(5), /* Se cambia el tipo de dato */ | |
| nombre_trab VARCHAR(20), | |
| salario_min INT(2), /* Se cambia el tipo de dato */ | |
| salario_max INT(2) /* Se cambia el tipo de dato */ | |
| ); | |
| /* Se procede a crear la tabla historial laboral */ | |
| CREATE TABLE historial_laboral | |
| ( | |
| empleado_dni INT(8), /* Se cambia el tipo de dato */ | |
| trabajo_cod INT(5), /* Se cambia el tipo de dato */ | |
| fecha_inicio DATE, | |
| fecha_fin DATE, | |
| dpto_cod INT(5), /* Se cambia el tipo de dato */ | |
| supervisor_dni INT(8) /* Se cambia el tipo de dato */ | |
| ); | |
| /* Se procede a crear la tabla historial salarial */ | |
| CREATE TABLE historial_salarial | |
| ( | |
| empleado_dni INT(8), /* Se cambia el tipo de dato */ | |
| salario NUMERIC(5,2), /* Se cambia el tipo de dato */ | |
| fecha_comienzo DATE, | |
| fecha_fin DATE | |
| ); | |
| /* Sección 1 */ | |
| ALTER TABLE empleados modify nombre VARCHAR(10) NOT NULL; | |
| ALTER TABLE departamentos modify nombre_dpto VARCHAR(30) NOT NULL; | |
| ALTER TABLE universidades modify nombre_univ VARCHAR(25) NOT NULL; | |
| ALTER TABLE trabajos modify nombre_trab VARCHAR(20) NOT NULL; | |
| ALTER TABLE empleados modify apellido1 VARCHAR(15) NOT NULL; | |
| ALTER TABLE departamentos modify presupuesto NUMERIC NOT NULL; | |
| ALTER TABLE historial_salarial modify salario NUMERIC(5,2) NOT NULL; | |
| ALTER TABLE trabajos modify salario_min INT(2) NOT NULL; | |
| ALTER TABLE trabajos modify salario_max INT(2) NOT NULL; | |
| /* Sección 2 */ | |
| ALTER TABLE empleados MODIFY sexo ENUM ('H','M') NOT NULL; | |
| /* Sección 3 */ | |
| ALTER TABLE departamentos modify nombre_dpto VARCHAR(30) UNIQUE NOT NULL; | |
| ALTER TABLE trabajos modify nombre_trab VARCHAR(20) UNIQUE NOT NULL; | |
| /* Sección 5.1.0 */ | |
| ALTER TABLE `estudios` ADD `estudios_cod` INT NOT NULL; | |
| /* Sección 5.1.1 */ | |
| ALTER TABLE `empleados` ADD PRIMARY KEY( `dni` ); | |
| ALTER TABLE `departamentos` ADD PRIMARY KEY( `dpto_cod`); | |
| ALTER TABLE `estudios` ADD PRIMARY KEY( `estudios_cod`); | |
| ALTER TABLE `universidades` ADD PRIMARY KEY( `univ_cod`); | |
| ALTER TABLE `trabajos` ADD PRIMARY KEY( `trabajo_cod`, `nombre_trab`); | |
| ALTER TABLE `historial_salarial` ADD PRIMARY KEY( `empleado_dni`, `salario`, `fecha_comienzo`, `fecha_fin`); | |
| ALTER TABLE `historial_laboral` ADD PRIMARY KEY( `empleado_dni`, `trabajo_cod`); | |
| /* Sección 5.1.2 */ | |
| ALTER TABLE `departamentos` ADD CONSTRAINT `fk_dptos` FOREIGN KEY (`dpto_padre`) REFERENCES `departamentos`(`dpto_cod`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `estudios` ADD CONSTRAINT `fk_est_emp_dni` FOREIGN KEY (`empleado_dni`) REFERENCES `empleados`(`dni`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `estudios` ADD CONSTRAINT `fk_est_uni_cod` FOREIGN KEY (`universidad`) REFERENCES `universidades`(`univ_cod`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `historial_laboral` ADD CONSTRAINT `fk_lab_dpto_cod` FOREIGN KEY (`dpto_cod`) REFERENCES `departamentos`(`dpto_cod`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `historial_laboral` ADD CONSTRAINT `fk_lab_emp_dni` FOREIGN KEY (`empleado_dni`) REFERENCES `empleados`(`dni`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `historial_laboral` ADD CONSTRAINT `fk_lab_trab_cod` FOREIGN KEY (`trabajo_cod`) REFERENCES `trabajos`(`trabajo_cod`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `historial_laboral` ADD CONSTRAINT `fk_sal_sup_dni` FOREIGN KEY (`supervisor_dni`) REFERENCES `empleados`(`dni`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| ALTER TABLE `historial_salarial` ADD CONSTRAINT `fk_sal_emp_dni` FOREIGN KEY (`empleado_dni`) REFERENCES `empleados`(`dni`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
| /* Fin de la creación de la base de datos historial */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment