Tema3_SQL Flashcards

(46 cards)

1
Q

¿A que recomendacion se la conoce como SQL3?

A

SQL:1999

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿SQL es un lenguaje 4GL puro?

A

No porque tenemos una “extension” procedural

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Es TRUNCATE una sentencia del estandar de SQL

A

Si, desde SQL:2008

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Que caracteristicas soporta SQLite?

A

-Compatible con SQL
-Transaciones (ACID)
-Muy usado en android
-No es un gestor de BD,sino un formato de fichero, una libreria local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nombre seis gestores de bbdd compatibles con SQL

A

-Microsoft SQL Server
-IMB DB2
-Oracle
-MySQL/MariaDB
-PostgreSQL
-Informix
-MaxDB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Que sentencia debo de usar sino quiero que al hacer un ROLLBACK se deshaga todo el trabajo de la transacción?

A

Savepoint:Crea un punto de salvaguarda. Cuando haces rollback lo haces hasta ese punto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Con que sentencia podemos crear un objeto que nos devuelva valores de forma incremental?

A

CREATE SEQUENCE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Para que sirve SET TRANSACTION?

A

Para configurar parametros de una transaccion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿A que sublenguaje pertence TRUNCATE y porque?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Con que sentencia se modifica una columna de una tabla?

A

ALTER TABLE “nombre tabla “ALTER COLUMN …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Con que sentencia borramos un tabla?

A

DROP TABLE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nombre las cuatro restricciones que podemos aplicar sobre las columnas

A

-PRIMARY KEY
-UNIQUE
-FOREIGN KEY
-CHECK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Que diferencia existe entre UNIQUE y PRIMARY KEY?

A

Que UNIQUE admite una fila a NULL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Con que sentencia se puede ejecutar un procedimiento almacenado?

A

CALL procedure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Si queremos usar una secuencia, ¿que permiso nos deben otorgar?

A

GRANT usage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cual es la sintaxis de la sentencia REVOKE?

A

REVOKE privilegio ON object-name FROM grantee(usuario/grupo etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Cual de los niveles de aislamiento de una transacción tiene posible problema la “lectura sucia”?

A

READ_UNCOMMITED

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Que nivel de aislamiento es el más seguro pero el que peor rendimiento presenta?

A

SERIALIZABLE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Que significa la clausula WITH GRANT OPTION dentro una sentenia GRANT?

A

Que el usuario, a su vez, podrá otorgar esos privilegios a otros

20
Q

¿En que situación se produce el problema de la lectura fantasma?

A

Cuando estamos trabajando con rangos de filas

21
Q

¿Para que sirve la funcion de agregado AVG?

A

Para calcular la medía

22
Q

Si en una SQL vemos un HAVING , ¿que hace falta tambíen en esa SQL?

A

Que también exista GROUP BY

23
Q

Si la tabla cliente(nombre,tipo,direccion) tiene 100 filas, ¿que valor nos devolverá la sentencia select count(nombre) from cliente?

A

Como mucho 100, pero puede ser menor que 100 si existen filas con nombre a NULL

24
Q

¿Que diferencia existe entre usar UNION o UNION ALL para “fusionar” dos select’s ?

A

Que UNION ALL deja filas repetidas si las hubiera

25
¿Que hace una CROSS JOIN entre dos tablas?
El producto cartesiano de las filas de las dos tablas,devuelve todas las combinaciones posibles entre las filas de dos tablas(multiplica pe 3x2) no usa condicion ON
26
Si queremos relacionar dos tablas para obtener unicamente aquellas filas que están en ambas, ¿que tipo de JOIN deberemos de usar?
INNER JOIN, usa la condición ON
27
¿Para que sirve una LEFT OUTER JOIN entre t1 y t2?
Para obtener todos los registros de t1 relacionados o no con t2
28
¿Para que sirve un MERGE de dos tablas?
Para fusionar los registros de una tabla (source) sobre la otra (target) ,realizando UPDATE si los registros existian en ambas o INSERT en caso contrario.
29
¿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
30
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 el trigger se ejecutaria una sola vez por sentencia SQL, con for each row se ejecutaria por cada fila es decir 500 veces
31
¿Para que sirve un TRIGGER definido como INSTEAD OF?
Anula la sentencia que provoco su disparo y solo tiene efecto el cuerpo del trigger
32
¿Donde es tipico realizar un DECLARE nombre-cursor CURSOR FOR SELECT …?
Dentro de un PROCEDURE junto con otras sentencias SQL, instrucciones de CONTROL, etc
33
¿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, …)
34
Dime todos los estandar de SQL
-ANSI:86 -ANSI-92: Revisión grande. Es el más conocido. -ISO 9075 SQL:1999: SQL 3. Triggers. -ISO 9075 SQL:2003: objeto SEQUENCE. -ISO 9075 SQL:2006: XML nativo. -ISO 9075 SQL:2008: sentencia TRUNCATE. -ISO 9075 SQL:2016: Compatibilidad JSON.
35
Dime los tres tipos de Sublenguaje de SQL
-DDL: Lenguaje de Definición de Datos. Creación / Borrado / Modificación de objetos. -DML: Lenguaje de Manipulación de Datos. Consulta / Borrado / Modificación / Inserción de datos. -DCL: Lenguaje de Control de Datos. Control del acceso a los datos.
36
Grant, revoke y call procedure a que sublenguaje pertenecen?
Lenguaje de control de DATOS DCL, controla el acceso a los datos.TCL tambien pertenece a DCL
37
Nombra en el lenguaje de control de transacciones TCL, los atributos que tiene:
-COMMIT / ROLLBACK: confirma o deshace cambios de tx. Previene inconsistencias. -SAVEPOINT: Crea un punto de salvaguarda. Cuando haces rollback lo haces hasta ese punto. -RELEASE SAVEPOINT: quita el savepoint. -SET TRANSACTION: configura la tx. -START TRANSACTION: empieza la tx. -END TRANSACTION: finaliza la tx.
38
Diferencia entre UNIQUE y DISTINCT
-Unique es una restriccion, no admite valores duplicados y solo 1 valor null, una clave candidata debe tener UNIQUE+NOT NULL, y aparece en una columna DDL. -Distinct aparece en el select, y elimina filas duplicadas (SELECT DISTINCT country FROM user)
39
Para que sirve un TRIGGER?
Es una rutina de negocio que se ejecuta cuando se detecta un cierto evento(udpate,insert,delete), podemos ejecutar la rutina antes o despues del evento con after o before
40
¿Cual es la sintaxis de la sentencia GRANT?
GRANT ON objeto TO grantee [WITH GRANT OPTION]
41
Como se crea un trigger?
CREATE TRIGGER auditar_phone_book AFTER UPDATE ON (of col1 on phone_book) phone_book FOR EACH ROW/ FOR EACH STATEMENT BEGIN INSERT INTO phone_book_auditoria (col1, ...) VALUES (auditoria_seq.nextval, 'UPDATE', OLD.col1, OLD.col2, NEW.col1, NEW.col2, SYSDATE); END;
42
Que clausula se usa para filtrar filas antes de que se apliquen funciones de agregacion(como count,sum,avg...)
Where, se usa para poner condiciones a los datos de una sola Tupla(filas individuales)
43
Que clausula se usa para filtrar los resultados despues de que se hayan aplicado las funciones de agregacion
Having, se usa para poner condiciones a los datos agrupados.se ejecuta despues del group by
44
Cual es la sintaxis correcta para la sentencia INSERT en sql?
INSERT INTO tabla VALUES (valor1,valor2)
45
El comando exists es usado para?
Comprobar si una subconsulta devuelve resultados
46
Que hace la funcion Group By
Se utiliza para agrupar varias filas en una sola fila basada en el valor de una columna