Tema 4. SQL Flashcards

1
Q

¿A que recomendación 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 “extensión” procedural

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

Es TRUNCATE una sentencia del estándar de SQL

A

Sí, desde SQL:2008

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

¿Qué características soporta SQLite?

A

· Compatible con SQL
· Transacciones (ACID)

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

· SQL Server
· DB2
· Oracle
· MySQL
· PostgreSQL
· MaxDB

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

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

A

SAVEPOINT

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

¿Con qué 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 qué sirve SET TRANSACTION?

A

Para configurar parámetros de una transacción

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

¿A que sublenguaje pertenece 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. No es transaccional.

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 (nombre columna) (valor)

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 (nombre tabla)

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

¿Qué diferencia existe entre UNIQUE y PRIMARY KEY?

A

UNIQUE admite una valor a NULL

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

¿Con qué 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, ¿qué permiso nos deben otorgar?

A

GRANT usage

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

¿Cuál es la sintaxis de la sentencia REVOKE?

A

REVOKE (privilegio) ON object-name FROM grantee

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

¿Cuál 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

¿Qué 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

¿Qué significa la clausula WITH GRANT OPTION dentro una sentencia GRANT?

A

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

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

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

A

Cuando estamos trabajando con rangos de filas

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

¿Para que sirve la función de agregado AVG?

A

Para calcular la media

22
Q

Si en una SQL vemos un HAVING, ¿qué hace falta también en esa SQL?

23
Q

Si la tabla cliente(nombre,tipo,direccion) tiene 100 filas, ¿qué 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

¿Qué diferencia existe entre usar UNION o UNION ALL para “fusionar” dos SELECT?

A

Que UNION ALL deja filas repetidas si las hubiera

25
¿Qué hace una CROSS JOIN entre dos tablas?
El producto cartesiano de las filas de las dos tablas
26
Si queremos relacionar dos tablas para obtener únicamente aquellas filas que están en ambas, ¿qué tipo de JOIN deberemos de usar?
INNER JOIN
27
¿Para qué sirve una LEFT OUTER JOIN entre t1 y t2?
Para obtener todos los registros de t1 relacionados o no con t2
28
¿Para qué sirve un MERGE de dos tablas?
Para fusionar los registros de una (source) sobre la otra (target) realizando UPDATE si los registros existían en ambas o INSERT en caso contrario.
29
¿Qué 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, ¿cómo debemos de configurar el TRIGGER para que no salte para cada fila?
FOR EACH STATEMENT
31
¿Para qué sirve un TRIGGER definido como INSTEAD OF?
Estos triggers se ejecutan en lugar de la sentencia que provoco su disparo
32
¿Dónde es típico realizar un DECLARE nombre-cursor CURSOR FOR SELECT …?
Dentro de un PROCEDURE junto con otras sentencias SQL, instrucciones de CONTROL, etc.
33
¿En qué consiste el estándar SQL/PSM?
Es un lenguaje de programación. Añade funcionalidades procedurales/imperativo (alias = procedimientos almacenados)
34
¿Dónde se ejecuta un procedimiento almacenado?
En el SGBBDD
35
Funcionamiento de un INNER JOIN
Combina filas de dos o más tablas basándose en una CONDICIÓN de coincidencia entre columnas relacionadas (normalmente PK y FK) Nota: Hay que saber diferenciar JOIN de UNION y MERGE
36
Diferencia entre INNER JOIN y CROSS JOIN
En CROSS JOIN en memoria NO se combinan todas las filas entre sí, sólo las que coinciden. Utiliza INDEX para comparar
37
¿Qué tipo de producto es SQLite?
Es una librería ACID compatible (no un gestor), un fichero con formato binario para guardar información LOCAL Lo usa Android
38
¿Qué es una transacción?
Un conjunto de sentencias que se ejecutan de forma ATÓMICA (o se ejecutan todas o no se ejecuta ninguna, para no generar inconsistencias) Ejemplo: Una transacción que saque dinero de una cuenta bancaria y la meta en otra
39
¿Qué significa ACID?
Atomicidad (Todo o nada) Consistencia (resultado final tanto si fue bien como mal) Isolation (Aislamiento) (No permite que algo externo entre o salga) Durabilidad (No desaparece)
40
Sentencias DML
Select Insert Update Delete Merge*
41
Sentencias DDL
Ceate Drop Alter
42
Sentencias DCL
Grant Revoke Commit Rollback Savepoint Release Savepoint Set transaction Start transaction
43
¿Para qué sirve la restricción UNIQUE?
Se define sobre una columna para que NO admita valores duplicados (sí admite un único valor null)
44
Sintaxis de REVOKE
REVOKE (permiso) ON (objeto) FROM (usuario/grupo/role) GRANT TO REVOKE FROM
45
Sintaxis de GRANT
GRANT (permiso) ON (objeto) TO (usuario/grupo/role) [WITH GRANT OPTION] GRANT TO REVOKE FROM
46
¿Qué es un TRIGGER y cómo se usa?
Es una rutina de negocio que se EJECUTA cuando se DETECTA un EVENTO Este EVENTO puede ser INSERT, UPDATE o DELETE Podemos ejecutar la rutina ANTES o DESPUÉS del evento Podemos ejecutar la rutina por cada FILA afectada o a toda la SENTENCIA que ha provocado el disparo
47
¿Cuándo se usa HAVING?
Cuando hayamos usado previamente GROUP BY Sirve para hacer un filtro sobre grupos
48
Di las funciones de agregado que conozcas
SUM - Suma COUNT - Cuenta MAX - El máximo MIN - El mínimo AVG - Media aritmética
49
¿Cómo se usa AVG?
Se suele usar con GROUP BY o de esta manera: SELECT AVG(precio) FROM PRODUCTO
50
En SQL, ¿cómo se puede controlar que el precio de un producto sea > 0?
Con una constraint de tipo CHECK Ej: CREATE TABLE Persona ( ID_Persona int primary key, age int, CHECK (age =>18) );
51
Tipos de bloqueos en BBDD
Hay dos tipos de denominaciones: a) Lectura, escritura y rango b) - Exclusivo (una vez que alguien haya activado este bloqueo, a los demás no les deja hacer nada) - Compartido (bloquea escritura pero permite lectura a los demás)