· 4 years ago · Mar 22, 2021, 08:16 PM
1/*13a) Cree una vista llamada DPTOS_JEFES que contenga los siguientes datos para cada
2departamento que sea jefe de otro departamento: Número y nombre del departamento,
3número y nombre de su director, presupuesto de ese departamento y, por último, suma de los
4presupuestos de todos los departamentos que son supervisados por él. Comprobar los
5resultados de la vista.*/
6CREATE VIEW vDPTOS_JEFES
7(numDepartamento, nomDepartamento, numDirector, nomDirector, presupuesto, sumPresupuestoDirector)
8AS SELECT
9 DptosJefes.DeCodigo,
10 DptosJefes.DeNombre,
11 Empleados.EmCodigo,
12 Empleados.EmNombre,
13 DptosJefes.DePresupuesto,
14 (SELECT SUM(DePresupuesto) FROM Departamentos WHERE Departamentos.DeDepartamento = DptosJefes.DeCodigo)
15FROM Departamentos JOIN Departamentos AS DptosJefes ON Departamentos.DeDepartamento = DptosJefes.DeCodigo
16JOIN Empleados ON Departamentos.DeDirector = Empleados.EmCodigo;
17
18SELECT * FROM vDPTOS_JEFES;
19
20/*14a) Para los departamentos ubicados en la calle de Alcalá en los que haya algún empleado con
21un salario entre 3000 y 5000 euros y tales que la media de hijos por cada de cada
22departamento sea superior a 1, hallar el salario medio de estos empleados, indicando su
23nombre, departamento y centro de trabajo.*/
24SELECT Empleados.EmNombre, Departamentos.DeNombre, Centros.CeNombre, Centros.CeDireccion, Empleados.EmSalario, Empleados.EmNumHijos, AVG(Empleados.EmSalario) AS MediaEmpleados
25FROM Empleados JOIN (Departamentos JOIN Centros ON Centros.CeCodigo = Departamentos.DeCodigoCentro) ON Empleados.EmCodigoDepartamento = Departamentos.DeCodigo
26WHERE Empleados.EmSalario BETWEEN 3000 AND 5000 AND Centros.CeDireccion LIKE "%Alcalá%"
27GROUP BY Departamentos.DeCodigo
28HAVING AVG(Empleados.EmNumHijos) > 1;
29
30/*15a). Crear la tabla Frases (idfrase#, autor, frase).
31Cargar la tabla con los datos del fichero Frases.txt.
32Añadirle 3 índices Fulltext uno para los campos (autor y frase), otro para el campo autor, y otro
33para el campo frase.
34Seleccionar los Frases que tengan la palabra Gloria en cualquiera de los campos autor o frase.
35(Utilizar índices FULLTEXT).
36Seleccionar los Frases que tengan la palabra Gloria y que no tengan la palabra Popularidad en
37cualquiera de los campos autor o frase.
38Modificar la consulta para que el resultado se con expansión de consulta.*/
39CREATE TABLE IF NOT EXISTS Frases (autor TEXT, frase TEXT) ENGINE = MYISAM;
40
41INSERT INTO Frases (frase, autor) VALUES ("La sabiduría de los sabios y la experiencia de los siglos pueden ser conservadas con las citas.",
42"BENJAMÍN DISRAELÍ"),
43("Tacto es la habilidad de tratar que el otro vea la luz, sin hacerle sentir el rayo.", "KISSINGER"),
44("La sabiduría consiste muchas veces en cambiar una cosa por la otra.El que no espera nada de los hombres es superior a todos los hombres.","AMADO NERVO "),
45("El verdadero sabio sólo es riguroso consigo mismo; con los demás es amable.", "PLUTARCO"),
46("Por medio de la paciencia no hay nada que no se pueda lograr.", "LAO TSÉ"),
47("El tonto no ve el mismo árbol que el sabio.", "WILLIAM BLAKE"),
48("Las inteligencias grandes discuten las ideas; las inteligencias medias, los sucesos; y las pequeñas, las personas.", NULL),
49("Los sabios cambian de opinión, los tontos nunca. Es de sabios cambiar de opinión, mas NO de valores.", NULL),
50("Los hombres sabios aprenden con los errores que otros cometen, los tontos con los propios.", NULL),
51("Quien obtiene una victoria sobre otros hombres es fuerte, pero quien obtiene una victoria sobre sí mismo es todo poderoso.","LAO TSÉ"),
52("Pensar es el trabajo más arduo que existe, lo que explica que haya tan pocas personas que se dediquen a ello.", "HENRY FORD"),
53("El hombre sabio querrá estar siempre con quien sea mejor que él.", "PLATÓN"),
54("No hay belleza perfecta que no tenga alguna rareza en sus proporciones.", "FRANCIS BACON"),
55("La belleza del cuerpo, muchas veces es indicio de la hermosura del alma.", "CERVANTES"),
56("En la verdadera belleza, como en el valor, hay algo que las almas mezquinas no pueden atreverse a admirar.", "WILLIAM CONGREVE"),
57("Si pudiéramos ver la belleza interior de cada persona veríamos las más hermosas y marchitas flores del mundo.", NULL),
58("La belleza es el acuerdo entre el contenido y la forma.", "HENRICK IBSEN"),
59("La belleza es el esplendor de la verdad.", "PLATÓN"),
60("La popularidad es la gloria en calderilla.", "VÍCTOR HUGO"),
61("A esta isla que soy, si alguien llega que se encuentre con algo que es mi deseo.","Gloria Fuertes"),
62("Manantiales de versos encendidos, y cascadas de paz es lo que tengo", "Gloria Fuertes");
63
64ALTER TABLE Frases ADD FULLTEXT(autor, frase), ADD FULLTEXT(autor), ADD FULLTEXT(frase);
65
66SELECT * FROM Frases
67WHERE MATCH(frase, autor) AGAINST("Gloria");
68
69SELECT * FROM Frases
70WHERE MATCH(frase, autor) AGAINST("+Gloria -Popularidad" IN BOOLEAN MODE);
71
72SELECT * FROM Frases
73WHERE MATCH(frase, autor) AGAINST("Gloria" WITH QUERY EXPANSION);
74
75/*16a). Crear una transacción para realizar las siguientes operaciones en la tabla de
76Departamentos, una para deshacer y la otra para confirmar.*/
77START TRANSACTION;
78
79INSERT INTO Departamentos (DeCodigo, DeCodigoCentro, DeTipoDirector, DePresupuesto, DeDepartamento, DeNombre, DeDirector)
80VALUES (124, 20, 'F', 130000, 120, 'produccion', 110);
81
82DELETE FROM Departamentos WHERE DePresupuesto < 5000;
83
84UPDATE Departamentos SET DePresupuesto = DePresupuesto * 1.20 WHERE DePresupuesto < (SELECT AVG(DePresupuesto) FROM Departamentos);
85
86SELECT * FROM Departamentos;
87
88COMMIT;
89ROLLBACK;