B3-T4_Modelo FÍSICO SQL Flashcards
(93 cards)
¿Cuál es el mecanismo de protección ante fallos de disco implementado por Oracle?
ARCHIVELOG => protegerá la base de datos ante posibles fallos físicos de disco y ante modificaciones o eliminaciones NO deseadas.
¿A que recomendación se la conoce como SQL3?
SQL:1999
NOTA: era una versión Multi-Parts (5 partes) e introdujo los TRIGGERS.
¿SQL es un lenguaje 4GL puro?
No, porque tenemos una “extensión” procedural.
*SQL = PSM (Persistent Stored Module)
*Oracle => SQL / PL
*Microsoft => T - SQL
Se llama con la sentencia: CALL procedure
¿Es TRUNCATE una sentencia del estándar de SQL?
Si, desde SQL:2008.
NOTA: vacía la tabla.
¿Que características soporta SQLite?
- Compatible con SQL
- Transaciones (ACID)
NOTA: librería escrita en “C”, que implementa un SGBD (se usa en gran medida en ANDROID)
Nombre seis gestores de bbdd compatibles con SQL:
- SQL Server
- DB2
- Oracle
- MySQL
- PostgreSQL
- MaxDB
¿Qué sentencia debo de usar si NO quiero que al hacer un ROLLBACK se deshaga todo el trabajo de la transacción?
*“SAVEPOINT**
NOTA: se puede revertir con:
Release SAVEPOINT
¿Por qué TRUNCATE no soporta la clausula “where”?
Porque no puede borrar registros concretos.
NOTA: usa DROP, para borrar la table y luego CREATE, para crearla.
¿En qué se diferencian WHERE y HAVING?
HAVING se usa para poner condiciones a los datos agrupados, mientras que WHERE pone condiciones a una sóla tupla (fila).
¿En qué se diferencian UNION y MERGE?
Con UNION unes dos partes directamente (dos paquetes de filas, x ejemplo) y MERGE une dos cosas en base a ciertas condiciones de búsqueda
Define los operadores de conjuntos: EXCEPT y INTERSECT:
*EXCEPT: compara los resultados de 2 consultas y devuelve las filas de la 1ª que NO se encuentren en la 2ª, es decir, resta el conjunto de resultados de ambas consultas.
Ej: T1: 1, 2 y 3. T2: 2, 3 y 4
DEVUELVE: 1
*INTERSECT: funciona como un “AND”, es decir, sólo devuelve las filas existentes en ambas consultas.
Ej: T1: 1, 2 y 3. T2: 2, 3 y 4
DEVUELVE: 2 y 3
NOTA: “cond.1” AND “cond.2”
¿Para qué sirve la instrucción: INSTEAD OF…?
INSTEAD OF = EN LUGAR DE => es un ACTIVADOR (igual que AFTER y BEFORE), que permite omitir una instrucción DML (INSERT, DELETE o UPDATE) a una tabla y ejecutar otras instrucciones definidas en el cuerpo del TRIGGER en su lugar.
NOTA: la instruccion DML no se produce en absoluto.
¿Cómo crear un INSTEAD OF disparador?
CREATE TRIGGER trigger_name
ON {table-name}
INSTEAD OF {INSERT} o {UPDATE} o {DELETE}
AS
{sql_statements}
¿Qué se introdujo en las versiones de SQL 2006 y 2016?
*2006 => XML
*2016 => JSON
Enumera las distintas versiones de SQL:
*ANSI - 86 (1ª versión)
*ANSI - 92 (Revisión mayor)
Las siguientes versiones siguen el estándar ISO 9075:
*SQL - 1999 (SQL3) =>Triggers
*SQL - 2003 (Objeto SEQUENCE))
*SQL - 2006 (XML)
*SQL - 2008 (Truncate)
*SQL - 2016 (JSON)
Nombre seis gestores de bbdd compatibles con SQL:
- SQL Server
- DB2
- Oracle
- MySQL / MariaDB
- PostgreSQL
- MaxDB
¿Qué sentencia debo de usar sino quiero que al hacer un ROLLBACK se deshaga todo el trabajo de la transacción?
SAVEPOINT
¿En qué se diferencian SAVEPOINT y COMMIT?
En que SAVEPOINT es reversible (release savepoint), pero commit NO.
Es decir, con SAVEPOINT puedo marcar puntos que no quiero que se rebasen al hacer ROLLBACK, pero, si quiero cancelar ese punto, porque me interese manipular la zona que deja atrás, podría hacerlo con “RELEASE SAVEPOINT”. En cambio, lo guardado con COMMIT que grabado e inamovible.
¿Qué sentencia debo de usar si no quiero que al hacer un ROLLBACK se deshaga todo el trabajo de la transacción?
SAVEPOINT
¿Con que sentencia podemos crear un objeto que nos devuelva valores de forma incremental?
CREATE SEQUENCE
¿Para qué sirve SET TRANSACTION?
Para configurar parámetros de una transacción.
Expón algunas sentencias de DDL (Definición o creación):
*CREATE
*DROP (borra la tabla)
*ALTER (modificar, NO se existen ni MODIFY ni RENAME)
*TRUNCATE => VACÍA la tabla, es decir, borra el contenido, pero mantiene la tabla.
Expón algunas sentencias de DCL (Control sobre permisos y transacciones):
*GRANT (conceder permisos)
*REVOKE (quitar permisos)
*COMMIT / ROLLBACK (confirmar / deshacer cambios)
*SAVEPOINT / RELEASE POINT ( para no deshacer todo / quitar SavePoint)
*SET TRANSACTION / START TRANSACTION (configuración e inicio de transacción)
Expón algunas sentencias de DML (Manipulación de datos):
*SELECT (joins, agrupaciones, subconsultas)
*UPDATE (Actualiza toda la tabla si no le indicas una selección)
*INSERT (para añadir datos o estructuras a una tabla: INSERT TO nombre_tabla VALUES(valor1, valor2, …)
*DELETE (borrar datos)
*MERGE (mezcla registros de una tabla sobre otra => lo coincidente lo ACTUALIZAS / lo NO coincidente lo INSERTAS)