Persistencia

SQL

Es el lenguaje con el que se interactúa con la BD para: especificar el esquema del modelo de datos, manipular y consultar los datos, y controlar el acceso.

❓ Ejercicio 1: Explica qué devolvería la siguiente consulta SQL1:

SELECT USUARIO.EMAIL, OPERACION.TIPO, CONTADOR.NOMBRE
FROM USUARIO, OPERACION, CONTADOR
WHERE USUARIO.ID = OPERACION.USUARIO_ID
AND OPERACION.CONTADOR_ID = CONTADOR.ID
ORDER BY USUARIO.ID;
Diagrama...
Un SELECT con varias tablas se puede ver como una lista de correspondencias de la Teoría de Conjuntos.

❓ Ejercicio 2: Crea una consulta que devuelva la fecha de creación del contador 'visitas'.

❓ Ejercicio 3: Una aplicación que deje constancia de quien realiza cada operación ¿qué dos operaciones de BD tendría que realizar cuando alguien cree un contador? ¿En qué orden? En caso de que falle la última operación ¿qué habría que hacer para dejar los datos consistentes?

❓ Ejercicio 4: Intenta borrar el contador 'visitas' y explica el resultado.

1

Otro tipo de SELECT involucrando varias tablas, utiliza JOIN para añadir datos de otras tablas a los elementos de la tabla indicada en el FROM. Por ejemplo, la siguiente SQL lista todos los usuarios, hayan o no hecho operaciones (al contrario que la SELECT del ejercicio 1, que sólo puede mostrar los que tienen operaciones/correspondencias):


SELECT USUARIO.EMAIL, OPERACION.TIPO, CONTADOR.NOMBRE 
FROM USUARIO 
LEFT JOIN OPERACION ON USUARIO.ID = OPERACION.USUARIO_ID 
LEFT JOIN CONTADOR ON OPERACION.CONTADOR_ID = CONTADOR.ID
ORDER BY USUARIO.ID;