SQL Flashcards
¿A que recomendacion se la conoce como SQL3?
SQL:1999
¿SQL es un lenguaje 4GL puro?
No porque tenemos una “extension” procedural
Es TRUNCATE una sentencia del estandar de SQL
Si, desde SQL:2008
¿Que caracteristicas soporta SQLite?
Compatible con SQL
Transaciones (ACID)
Nombre seis gestores de bbdd compatibles con SQL
SQL Server
DB2
Oracle
MySQL
PostgreSQL
MaxDB
¿Que sentencia debo de usar sino 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 que sirve SET TRANSACTION?
Para configurar parametros de una transaccion
¿A que sublenguaje pertence TRUNCATE y porque?
DML porque no todos los gestores borran la tabla, la idea más aceptada es que borra datos eficientemente y con menos restricciones que la sentencia DELETE
¿Con que sentencia se modifica una columna de una tabla?
ALTER TABLE ALTER COLUMN
¿Con que sentenia borramos un tabla?
DROP TABLE
Nombre las cuatro restricciones que podemos aplicar sobre las columnas
PRIMARY KEY
UNIQUE
FOREIGN KEY
CHECK
¿Que diferencia existe entre UNIQUE y PRIMARY KEY?
Que UNIQUE admite una fila a NULL
¿Con que sentencia se puede ejecutar un procedimiento almacenado?
CALL procedure
Si queremos usar una secuencia, ¿que permiso nos deben otorgar?
GRANT usage
¿Cual es la sintaxis de la sentencia REVOKE?
REVOKE privilegio ON object-name FROM grantee
¿Cual de los niveles de aislamiento de una transacción tiene posible problema la “lectura sucia”?
READ_UNCOMMITED
¿Que nivel de aislamiento es el más seguro pero el que peor rendimiento presenta?
SERIALIZABLE
¿Que significa la clausula WITH GRANT OPTION dentro una sentenia GRANT?
Que el usuario, a su vez, podrá otorgar esos privilegios a otros
¿En que situación se produce el problema de la lectura fantasma?
Cuando estamos trabajando con rangos de filas
¿Para que sirve la funcion de agregado AVG?
Para calcular la medía
Si en una SQL vemos un HAVING , ¿que hace falta tambíen en esa SQL?
Que también exista GROUP BY
Si la tabla cliente(nombre,tipo,direccion) tiene 100 filas, ¿que valor nos devolverá la sentencia select count(nombre) from cliente?
Como mucho 100, pero puede ser menor que 100 si existen filas con nombre a NULL
¿Que diferencia existe entre usar UNION o UNION ALL para “fusionar” dos select’s ?
Que UNION ALL deja filas repetidas si las hubiera
¿Que hace una CROSS JOIN entre dos tablas?
El producto cartesiano de las filas de las dos tablas
Si queremos relacionar dos tablas para obtener unicamente aquellas filas que están en ambas, ¿que tipo de JOIN deberemos de usar?
INNER JOIN
¿Para que sirve una LEFT OUTER JOIN entre t1 y t2?
Para obtener todos los registros de t1 relacionados o no con t2
¿Para que sirve un MERGE de dos tablas?
Para fusionar los registros de una (source) sobre la otra (target) realizando UPDATE si los registros existian en ambas o INSERT en caso contrario.
¿Que es una pseudotabla en un TRIGGER?
Una forma de poder referenciar la información antigua de una tabla (OLD) o la nueva (NEW) una vez que se ha ejecutado la sentencia que provoca el trigger o en un momento previo a esta
¿Para que sirve un TRIGGER definido como INSTEAD OF?
Estos triggers se ejecutan en lugar de la sentencia que provoco su disparo
Si se han insertado 500 filas en una tabla que tiene asociado un disparador, ¿como debemos de configurar el TRIGGER para que no salte para cada fila?
FOR EACH STATEMENT
¿Donde es tipico realizar un DECLARE nombre-cursor CURSOR FOR SELECT …?
Dentro de un PROCEDURE junto con otras sentencias SQL, instrucciones de CONTROL, etc
¿Que ventaja y desventaja principal tienen los PROCEDURE?
Ventaja: rendimiento pues se ejecutan en el ambito del SGBBDD
Desventaja: lenguaje propietario (PL/SQL, TSQL, PL/pgSQL, …)