Ejercicios propuestos

English version (when available)

Ejercicios por dificultad

T13.001- Crea una vista (VusuAli) de la delegación de Alicante que permite ver los usuarios de la provincia de Alicante (de código '03').

T13.002- Con la vista anterior, lista a todos los usuarios de la provincia de Alicante ordenados por apellidos y nombre.

T13.003- Con la vista anterior, lista a todos los usuarios de la provincia de Alicante que se llamen Carolina o Iloveny, ordenados por apellidos y nombre.

T13.004- Usando la vista anterior elimina a los usuarios de la provincia de Alicante que se llamen Carolina o Iloveny.
¿Qué ha pasado? ¿Por qué?

T13.005- Intenta insertar mediante VusuAli (email,dni,apellidos,nombre,provincia,pueblo)
('yoyo@gmial.es','99888777R','FERNANDEZ FERNANDEZ','ROSA','04','1225')
¿Qué ha pasado? ¿Por qué?

T13.006- Crea una vista que nos informe del total del importe a pagar por cada pedido en TIENDAONLINE y su fecha. Comprueba que nos da los datos correctos.

T13.007- Usando las vistas previas, lista todos los email, nombre y apellidos de usuario de Alicante, y si tienen pedidos también el total pagado por el usuario.

T13.008- Crea otra vista que nos informe del total del importe a pagar por cada pedido hecho por usuarios de Alicante y su fecha (solo fecha).

T13.009- Usando la nueva vista previa, modifica tu solución anterior y lista todos los email, nombre y apellidos de usuario, y si tienen pedidos también el total pagado por el usuario.

T13.010- Crea en tu base de datos una tabla con la misma estructura que tiendaonline.usuario. Tu tabla se llamará "usuAlm".

CREATE TABLE usuAlm LIKE tiendaonline.usuario

La orden anterior crea una nueva tabla (usuAlm) con las columnas de tiendaonline.usuario y la clave primaria, pero sin claves ajenas, si las hubiere. Si las necesitas, debes usar ALTER TABLE. La nueva tabla no tiene filas aún.

Cuando tengas la tabla anterior, crea una vista "VusuAlm" que permita gestionar (altas, bajas, modificaciones y consultas) a los usuarios de Almería (código '04') y de ninguna otra.

T13.011- Intenta insertar mediante VusuAlm (email,dni,apellidos,nombre,provincia,pueblo)
('rgg2@gmial.es','11222333R','GOMEZ GOMEZ','ROSA','04','1002')
¿Qué ha pasado? ¿Por qué?

T13.012- Utilizando VusuAlm elimina todas las posibles filas de usuarios que tengas e inserta en tu tabla USUARIO a estos 2 usuarios (email,dni,apellidos,nombre,provincia,pueblo):
('rff20@gmial.es','11222333R','FERNANDEZ FERNANDEZ','ROSA','04','0530')
('jmm119@gmial.es','22333444T','MARTINEZ MARTINEZ','JULIA','04','1002')

T13.013- Intenta insertar mediante VusuAlm (email,dni,apellidos,nombre,provincia,pueblo)
('tutu@gmial.es','00999000T','LOPEZ DE LOPEZ','ANA','03','1225')
¿Qué ha pasado? ¿Por qué?

T13.014- Vas a montar la delegación de Almería. En TIENDAONLINE no hay ningún usuario de esa provincia. Ya tienes 2 usuarios (ejercicio 12), inserta algunos pedidos para alguno de ellos.

La tabla usuAlm ya la tienes aunque sin clave ajena a localidad.

ALTER TABLE usuAlm ADD FOREIGN KEY (pueblo, provincia) REFERENCES tiendaonline.localidad (codm,provincia);

La orden anterior añade dicha clave ajena. Fíjate que hace referencia la tabla LOCALIDAD en TIENDAONLINE. Eso quiere decir que no necesitas esta tabla en tu base de datos, la vas a manejar mediante vistas.

Debes decidir qué otras tablas necesitas en tu base de datos y cuáles solo vas a utilizar como referencia desde TIENDAONLINE —y no necesitas recrearlas—.

T13.015- Tienes a tus usuarios de Almería, y acceso al resto de usuarios de TIENDAONLINE. De tus usuarios, los de Almería, y de todos los demás, los de tiendaonline, lista el email, apellidos, nombre, y nombres de la localidad y provincia.

T13.016- De tus datos almacenados en tu base de datos, crea una vista TApedidosAlm que muestre número de pedido, usuario, fecha, y total pagado por cada pedido. Serán los pedidos hechos en la delegación de Almería.

T13.017- Aprovecha VusuAlm y TApedidosAlm para mostrar a todos los usuarios de Almeria (email, nombre, y apellidos) y, si tienen pedidos, también número de pedido y el total pagado por cada uno de sus pedidos.