Ejercicios prácticos de SQL: creación y gestión de vistas en bases de datos
Resumen
Colección de ejercicios prácticos de SQL centrados en la creación, consulta y modificación de vistas sobre la base de datos de jardinería. Incluye la inserción, borrado y actualización de registros, la comprobación de vistas en el diccionario de datos y el uso de consultas con agrupaciones y combinaciones. Sirve para practicar estas operaciones paso a paso.
Puntos clave
- Una vista se crea con CREATE VIEW nombre AS SELECT ... y se consulta como una tabla con SELECT * FROM nombre.
- Los datos de una vista reflejan los cambios hechos en las tablas base, como una inserción o un borrado en Empleados.
- Para comprobar que una vista existe se puede consultar el diccionario de datos (information_schema).
- ALTER TABLE ... CHANGE permite renombrar un atributo de una tabla.
- La vista2 usa RIGHT JOIN con GROUP BY para contar empleados por oficina, incluyendo oficinas sin empleados.
- UPDATE ... SET PrecioVenta = PrecioVenta * 0.8 aplica un descuento del 20% a un producto.
Gestión de Vistas en Bases de Datos: Ejercicios Prácticos
Ejercicio 1: Creación y Verificación de Vistas
1. Crear una vista llamada vista1 que muestre el código y el nombre completo de los empleados. Una vez creada, comprobar los datos de la vista.
CREATE VIEW vista1 AS SELECT CodigoEmpleado, Nombre FROM jardineria.Empleados;
SELECT * FROM vista1;2. Insertar un nuevo empleado en la tabla Empleados.
INSERT INTO Empleados VALUES (34, 'GiL', 'Maldonado', 'Colias', 3200, '[email protected]', 'TAL-ES', 3, 'Vendedor');3. Comprobar los datos de la vista1.
SELECT * FROM vista1;4. Comprobar que la vista1 está en el diccionario de datos.
USE information_schema;
SELECT TABLE_NAME FROM views WHERE TABLE_NAME = 'vista1';5. Borrar el empleado María Solís Jerez de la tabla Empleados.
DELETE FROM Empleados WHERE Nombre = 'Maria' AND Apellido1 = 'Solís' AND Apellido2 = 'Jerez';6. Comprobar los datos de la vista1.
SELECT * FROM vista1;7. Cambiar el nombre del atributo Nombre de la tabla Empleados a Nom.
USE jardineria;
ALTER TABLE Empleados CHANGE Nombre Nom VARCHAR(50);
ALTER TABLE Empleados CHANGE Nom Nombre VARCHAR(50);Ejercicio 2: Consultas Avanzadas y Actualizaciones
10. Crear una vista llamada vista2 que contenga el número de empleados que tiene cada oficina y el código de oficina (incluso aquellos que no tienen empleados). Los nombres de los campos serán: oficina y totalEmpleados.
CREATE VIEW vista2 (Oficina, TotalEmpleados) AS SELECT Oficinas.CodigoOficina, COUNT(*) FROM Empleados
RIGHT JOIN Oficinas GROUP BY CodigoOficina;14. Actualizar el precio del producto con código OR-251 a 480 euros.
UPDATE Productos SET PrecioVenta = 480 WHERE CodigoProducto = 'OR-251';15. Crear una vista llamada vista3 que contenga el precio de venta más alto de un producto. Junto al precio aparecerá el nombre del producto al que corresponde.
CREATE VIEW vista3 AS SELECT PrecioVenta, Nombre FROM jardineria.Productos
WHERE PrecioVenta = (SELECT MAX(PrecioVenta) FROM Productos);16. Aplicar un descuento del 20% al precio del producto OR-251.
UPDATE Productos SET PrecioVenta = PrecioVenta * 0.8 WHERE CodigoProducto = 'OR-251';18. Crear la vista4 que contenga el código de los productos que tienen al menos 350 unidades en stock, junto con el número de unidades en stock.
CREATE VIEW vista4 (Codigo_producto, stock) AS SELECT CodigoProducto, CantidadEnStock FROM jardineria.Productos
WHERE CantidadEnStock >= 350;Descargar
PDF Word HTMLPreguntas frecuentes
¿Cómo se crea una vista en SQL?
Se usa CREATE VIEW nombre_vista AS seguido de una sentencia SELECT. Por ejemplo, CREATE VIEW vista1 AS SELECT CodigoEmpleado, Nombre FROM jardineria.Empleados; crea una vista con esas columnas.
¿Cómo se incluyen las oficinas sin empleados al contar?
Se utiliza un RIGHT JOIN entre Empleados y Oficinas, de forma que todas las oficinas aparecen aunque no tengan empleados asociados. Después se agrupa con GROUP BY por el código de oficina.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.