Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Después:
2.4. Consultas a una BDR
• 2.4.3. Otros predicados
– BETWEEN: Para expresar una condición que quiere
encontrar un valor entre dos límites concretos, p.e.
entre dos fechas
– IN / NOT IN: Para comprobar si un valor coincide o no
con los elementos de una lista, la lista puede ser fija o
el resultado de una subconsulta (véase numeral
2.4.2)
– LIKE: Para buscar en una columna de tipo caracter
datos que cumplan con un patrón determinado, p.e.
que empiecen por ‘A’ o tengan cierta cantidad de
caracteres.
2.4. Consultas a una BDR
• 2.4.3. Otros predicados
– IS NULL / IS NOT NULL: Para comprobar si un valor
es nulo o no.
– ANY / SOME / ALL: Para ver si una columna cumple
que todos sus registros (ALL) o algunos de sus
registros (ANY/SOME) satisfagan una condición
– EXIST / NOT EXIST: Para comprobar si una
subconsulta produce algún registro de resultados o
no.
• 2.4.8. La intersección
(INTERSECT): Intersecta
consultas de dos o más
sentencias SELECT FROM
– Ej.: ¿Cuáles son los nombres
de jefes de complejos que
también son comisarios?
– Los campos deben tener la
misma interpretación
semántica
– También puede hacerse
intersección con IN y EXIST
2.4. Consultas a una BDR
• 2.4.9. La diferencia
(EXCEPT): Halla la
diferencia entre consultas
de dos o más sentencias
SELECT FROM
– Ej.: ¿Cuáles son los nombres
de jefes de complejos que no
son comisarios?
– Los campos deben tener la
misma interpretación
semántica
– También puede hacerse
intersección con NOT IN y
NOT EXIST
3 Sentencias de control
• Además de definir y manipular una BDR, es
importante que se establezcan mecanismos de
control para resolver problemas de concurrencia
de usuarios y garantizar la seguridad de los
datos.
• Para la concurrencia de usuarios utilizaremos el
concepto de transacción
• Para la seguridad veremos cómo se puede
autorizar y desautorizar a usuarios a acceder a la
BD
3.1 Transacción
• En SQL, una transacción es un conjunto de
sentencias que se ejecutan como si fuesen una
sola unidad
• Se interrelacionan, y no tiene sentido que se
ejecute una sin que se ejecuten las demás
• En otras palabras si se ejecuta una de las
sentencias debe garantizarse que se ejecuten las
demás.
• Si esto ultimo no ocurre entonces debe deshacerse
las sentencias que ya se hayan ejecutado
3.1 Transacción
• Las sentencias deben encerrarse entre otras
dos sentencias (BEGIN WORK o BEGIN
TRANSACTION y COMMIT WORK) para
indicarle al motor desde donde hasta donde va
la transacción
3.1 Transacción