· 8 years ago · Sep 02, 2018, 01:14 AM
1EJERCICIO 1: 1,25 puntos
2
3DROP DATABASE IF EXISTS Periodico;
4CREATE DATABASE Periodico;
5USE Periodico;
6
7CREATE TABLE NOTICIAS
8(
9 Cod_Noticia INT AUTO_INCREMENT NOT NULL,
10 Nombre VARCHAR(25),
11 Descripcion VARCHAR(100),
12 PRIMARY KEY(Cod_Noticia)
13)
14ENGINE=InnoDB;
15
16CREATE TABLE NOTICIAS_DEAGENCIAS
17(
18 Cod_Noticia INT NOT NULL,
19 Agencia VARCHAR(20),
20 PRIMARY KEY(Cod_Noticia)
21)
22ENGINE=InnoDB;
23
24CREATE TABLE INVESTIGACIONES_PROPIAS
25(
26 Cod_Noticia INT NOT NULL,
27 Responsable VARCHAR(50),
28 Fecha DATE,
29 PRIMARY KEY(Cod_Noticia)
30)
31ENGINE=InnoDB;
32
33ALTER TABLE NOTICIAS_DEAGENCIAS
34 ADD CONSTRAINT `fk1` FOREIGN KEY (Cod_Noticia) REFERENCES NOTICIAS (Cod_Noticia);
35
36ALTER TABLE INVESTIGACIONES_PROPIAS
37 ADD CONSTRAINT `fk2` FOREIGN KEY (Cod_Noticia) REFERENCES NOTICIAS (Cod_Noticia);
38
39
40
41EJERCICIO 2: 1 punto
42
43(SELECT US.Nombre, US.Apellidos, US.Telefono, 'Socio' AS 'Socio/NoSocio'
44FROM MONITORES M, ACTIVIDADES A, Realizan R, USUARIO_SOCIO US
45 WHERE M.Cod_Monitor=A.Cod_Monitor
46 AND A.Cod_Actividad=R.Cod_Actividad
47 AND R.Cod_Usuario_Socio=US.Cod_Usuario_Socio
48 AND M.Apellidos='Muriedas, Arce')
49UNION
50(SELECT UN.Nombre, UN.Apellidos, UN.Telefono, 'NoSocio'
51FROM MONITORES M, ACTIVIDADES A, Se_Inscriben S, USUARIO_NOSOCIO UN
52 WHERE M.Cod_Monitor=A.Cod_Monitor
53 AND A.Cod_Actividad=S.Cod_Actividad_NoCuota
54 AND S.Cod_Usuario_NoSocio=UN.Cod_Usuario_NoSocio
55 AND M.Apellidos='Muriedas, Arce');
56
57
58
59EJERCICIO 3: 0,75 puntos
60
61UPDATE HORARIOS SET Dia_Semana='Jueves' WHERE Cod_Actividad_EnCuota IN
62(SELECT Cod_Actividad FROM ACTIVIDADES WHERE Descripcion='Body Balance');
63
64
65
66EJERCICIO 4: 1,25 puntos
67
68SELECT Cod_Taquilla FROM TAQUILLAS
69 WHERE Cod_Taquilla IN
70 (SELECT Cod_Taquilla FROM Reservan)
71 AND Localizacion LIKE 'Planta baja%'
72 AND Cod_Taquilla LIKE '3%'
73 OR Cod_Taquilla IN
74 (SELECT Cod_Taquilla FROM Reservan)
75 AND Localizacion LIKE 'Planta baja%'
76 AND Cod_Taquilla LIKE '4%';
77
78SELECT Cod_Taquilla FROM TAQUILLAS
79 WHERE Cod_Taquilla NOT IN
80 (SELECT Cod_Taquilla FROM RESERVAN)
81 AND Localizacion LIKE 'Planta baja%';
82
83UPDATE Reservan SET Cod_Taquilla='1PB'
84 WHERE Cod_Taquilla='4PB';
85
86
87
88EJERCICIO 5: 0,75 puntos
89
90SELECT Descripcion, Horario FROM ACTIVIDADES A, ACTIVIDADES_ENCUOTA AC, HORARIOS H
91 WHERE A.Cod_Actividad=AC.Cod_Actividad_EnCuota
92 AND AC.Cod_Actividad_EnCuota=H.Cod_Actividad_EnCuota
93 AND Dia_Semana='Lunes'
94 AND Horario>=17
95 ORDER BY Horario ASC;
96
97
98
99EJERCICIO 6: 1 punto
100
101DELIMITER |
102DROP PROCEDURE IF EXISTS Monitor |
103CREATE PROCEDURE Monitor(IN ApBaja VARCHAR(45), IN Cod VARCHAR(5), IN Ap VARCHAR(45),
104 IN Nom VARCHAR(45), Tlf VARCHAR(10), FNac DATE, Fot BLOB, Exp TEXT)
105 BEGIN
106
107 INSERT INTO MONITORES SET Cod_Monitor=Cod, Apellidos=Ap, Nombre=Nom, Telefono=Tlf,
108 Fecha_Nacimiento=FNac, Foto=Fot, Expediente=Exp;
109 UPDATE ACTIVIDADES SET Cod_Monitor=Cod WHERE Cod_Monitor IN
110 (SELECT Cod_Monitor FROM MONITORES WHERE Apellidos=ApBaja);
111
112 END |
113DELIMITER ;