
Ayuda con un ejercicio
Publicado por Fernando (3 intervenciones) el 16/05/2016 12:50:13
Hola,
Cuando ejecuto esto me da un error. ¿Alguien sabría decirme el por qué?
Cuando ejecuto esto me da un error. ¿Alguien sabría decirme el por qué?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
DROP SCHEMA IF EXISTS `mi_zoo` ; -- borramos cualquier rastro de tabla mi.zoo
CREATE SCHEMA IF NOT EXISTS `mi_zoo` DEFAULT CHARACTER SET utf8 ; -- creamos la base de datos mi.zoo
USE `mi_zoo` ;
-- -----------------------------------------------------
-- Table `mi_zoo`.`Area_tematica`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mi_zoo`.`Area_tematica` ; -- borramos la tabla area_tematica
CREATE TABLE IF NOT EXISTS `mi_zoo`.`Area_tematica` (
`Nombre_area_tematica` VARCHAR(60) NOT NULL , -- declaramos el atributo nombre - campo obligatorio
`Extension` VARCHAR(60) NOT NULL , -- declaramos el atributo extension
`Ubicacion` VARCHAR(60) NOT NULL , -- declaramos el atributo ubicacion del area tematica - campo obligatorio
`Descripcion` VARCHAR(500) NOT NULL , -- declaramos la description del area tematica
`DNI_operario_coordina` VARCHAR(15) DEFAULT NULL, -- declaramos el atributo DNI del operario
PRIMARY KEY (`Nombre_area_tematica`) -- declarmos el nombre del area tematica como clave primaria
);
-- -----------------------------------------------------
-- Table `mi_zoo`.`Operario`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mi_zoo`.`Operario` ;
CREATE TABLE IF NOT EXISTS `mi_zoo`.`Operario` (
`DNI_operario` VARCHAR(15) NOT NULL, -- declaramos del atributo DNI del operario
`Nombre_Operario` VARCHAR(50) NOT NULL , -- declaramos el nombre del operario
`Dia_nacimiento` INT NULL DEFAULT NULL , -- declaramos dia de nacimiento del operario
`Mes_nacimiento` INT NULL DEFAULT NULL , -- declaramos mes de nacimiento del operario
`Anno_nacimiento` INT NULL DEFAULT NULL , -- declaramos ano de nacimiento del operario
`Sueldo` FLOAT NOT NULL , -- declaramos sueldo del operario
`Email` VARCHAR(50) NOT NULL, -- declaramos mail del operario
`Telefono` VARCHAR(40) NOT NULL , -- declaramos telefono del operario
`Dia_alta` INT NULL DEFAULT NULL , -- declaramos dia dado de alta del operario
`Mes_alta` INT NULL DEFAULT NULL , -- declaramos mes dado de alta del operario
`Anno_alta` INT NULL DEFAULT NULL , -- declaramos ano dado de alta del operario
`Nombre_a_tematica_trabaja` VARCHAR(60) DEFAULT NULL, -- declaramos nombre area tematica
PRIMARY KEY (`DNI_operario`), -- declaramos DNI como primary key
FOREIGN KEY (`Nombre_a_tematica_trabaja`) -- declaramos el atributo del area tematica como foreign key
REFERENCES `mi_zoo`.`Area_tematica` (`Nombre_area_tematica`) -- decimos en que tabla se encuentra
);
ALTER TABLE `mi_zoo`.`Area_tematica` -- insertamos nuevo elemento en la tabla de area tematica
ADD FOREIGN KEY (`DNI_operario_coordina` ) -- declaramos el DNI del operario como foreign key
REFERENCES `mi_zoo`.`Operario` (`DNI_operario` ); -- decimos donde esta ese elemento
USE `mi_zoo`;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
--------------------------------------
INSERT INTO area_tematica (Nombre_area_tematica, Extension, Ubicacion, Descripcion) VALUES ('America del Norte','6000 metros cuadrados','Bloque A','En esta area se exhiben ejemplares de la variedad americana de mamíferos terrestres, que se caracterizan además por ser los de mayor tamaño del continente');
INSERT INTO operario VALUES ('30970803S','Gonzalo Abad Caballero', 21, 05, 1985, 2000, 'gonzalo@es.es', '637456378', 12, 05, 1992);
UPDATE area_tematica SET `DNI_operario_coordina`='30970803S' WHERE area_tematica.`Nombre_area_tematica` = 'America del Norte';
Valora esta pregunta


-1