Bloque3-Tema4-SQL Flashcards

1
Q

ISO del estandar SQL?

A

ISO 9075

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

En que version de SQL aparecio la compatibilidad con JSON?

A

2016

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

Que es SQL/PSM?

A

Es un estándar ISO que define principalmente una extensión de SQL con un lenguaje de procedimiento para su uso en procedimientos almacenados.

Es un lenguaje de programacion que se ejecuta dentro de la base de datos.

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

Como se conoce al lenguaje 4GL declarativo + la extension procedural?

A

SQL/PSM

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

Productos SQL?

A

-Oracle
-Microsoft SQL Server
-MySQL / MariaDB
-Informix
-IBM DB2
-PostgreSQL
-MaxDB
-SQLite* (RDBMS no Cliente/servidor) (Usado en Android)

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

De que se encarga el principio ACID?

A

ACID es el conjunto de propiedades que garantizan que las transacciones de una Base de Datos se procesan de manera fiable

Atomicidad, Consistencia, Aislamiento, Durabilidad.

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

Que es un RDBMS?

A

Un sistema de administración de bases de datos relacionales (RDBMS) es un programa que se usa para crear, actualizar y administrar bases de datos relacionales

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

Que sublenguajes SQL conoces?

A

-DDL (Data Definicion Lenguage)
-DML (Data Manipulacion Lenguage)
-DCL (Data Control Lenguage)

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

De que se encarga DDL?

A

Creacion/Borrado/eliminacion de objetos (Tablas,…)

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

De que se encarga DML?

A

Consulta, borrado, modificacion, insercion de datos.

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

De que se encarga DCL?

A

Control sobre permisos, transacciones.

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

Que es una transaccion?

A

Conjunto de sentencias SQL que se hacen todas o ninguna.

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

Que sentencias SQL pertenecen DDL? (Afecta a estructuras/objetos)

A

-CREATE
-DROP
-ALTER (Modificar, por ejemplo añadir nueva columna a una tabla)
-Truncate* (No se puede usar en transaccion)

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

Que sentencia SQL pertenecen a DML (Afecta a datos)

A

-SELECT (joins, agrupaciones, subconsultas)
-UPDATE (Cambia datos)
-INSERT (Inserta datos, una nueva fila)
-DELETE (Borra datos de una tabla, pero no la tabla)
-MERGE
-*Truncate

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

Que sentencias SQL pertenecen a DCL?

A

-GRANT (Dar permisos)
-REVOKE (Quitar permisos)
-COMMIT / ROLLBACK (Confirmar o deshacer cambios en una tx)
-SAVEPOINT (PAra no deshacer todo) /RELEASE SAVEPOINT (Para quitarlo)
-SET TRANSACTION / START TRANSACTION (Configuración e inicio de TX)
-CALL procedure (Para llamar a un procedimiento almacenado)

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

Que sentencia pertenecen a TCL (lenguaje de Control Transaccional)

A

-COMMIT
-SAVEPOINT
-RELEASE SAVEPOINT
-SET TRANSACTION
-START TRANSACTION

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

Que tipos de DROP se pueden hacer?

A

TABLE/INDEX/VIEW/PROCEDURE/SEQUENCE/FUNCTION/TYPE/TRIGGER/DOMAIN/SCHEMA/ROLE

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

Para que sirven los Index de SQL?

A

Para agilizar busquedas.

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

Cual es la manera de agregar un select en SQL?

A

Con una vista (View)

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

Que 4 Constraints existen en SQL?

A

-CHECK (Condicion)
-PRIMARY KEY
-UNIQUE
-FOREIGN KEY

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

-UNIQUE admite un NULL?

A

Si, pero solo 1. No admite duplicados.

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

Que hace Truncate?

A

Vacia una tabla entera. En realidad la borra entera y la crea de nuevo. Solo lo hace en algunos gestores. En la definicion de TAI NO MODIFICA LA ESTRUCTURA,

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

Que es Type en SQL?

A

Tipo de datos

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

Que es Domain en SQL?

A

Dominio de valores

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

Qu es Schema en SQL?

A

Manera de agrupar tablas.

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

Que es Role en SQL¿

A

Objeto para dar altas y permisos a un grupo de usuario.

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

Ejemplo de CREATE TABLE en SQL.

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

para que sirve Contraint?

A

se usa en las instrucciones ALTER TABLE y CREATE TABLE para crear o eliminar restricciones

29
Q

Ejemplo de ALTER TABLE en SQL.

A
30
Q

Ejemplo de GRANT en SQL.

A
31
Q

Ejemplo de REVOKE en SQL.

A

Revoke “privilegio” on “Object name” from “grantee”

32
Q

Cuando son las transacciones locales y cuando distribuidas?

A

Locales cuando utilizas un solo gestor de base de datos.

Distribuidas cuando usas varios, para esto necesitas el monitor transaccional.

33
Q

Que es two phase commit?

A

Es un protocolo de consenso distribuido que permite a todos los nodos de un sistema distribuido ponerse de acuerdo para consolidar a una transacción

34
Q

Que es la lectura sucia?

A

Ocurre cuando se le permite a una transsacion la lectura de una fila que ha sido modificada por otra transacciones concurrente pero todavia no ha hecho commit.

35
Q

Que es Lectura no repetible?

A

se produce cuando una transacción lee la misma fila dos veces, pero obtiene datos diferentes cada vez. Porque otra transaccion se ha colado en medio y ha hecho COMMIT.

36
Q

Que es lectura fantasma?

A

Ocurre cuando, en el curso de una transacción, el número de filas devuelto en dos lecturas consecutivas, es distinto. Ocurre porque no se realizan bloqueos de rango(por ejemplo edad entre 10 y 30) al realizar una select.

37
Q

En el nivel de aislamiento read uncommited(Pueden leer lo que aun no ha hecho commit), que problemas de lectura se pueden dar?

A

Lectura sucia, Lectura no repetible y lectura fantasma.

38
Q

En el nivel de aislamiento read commited(Solo pueden leer si se ha hecho commit), que problemas de lectura se pueden dar.

A

Lectura no repetible y lectura fantasma.

39
Q

En el nivel de aislamiento repeteable read (Se bloquean las tablas/registros/etc) que problemas de lectura se pueden dar?

A

Lectura fantasma.

40
Q

En el nivel de aislamiento serializable (En fila) Que problemas de lectura se pueden dar?

A

Ninguno.

41
Q

Tabla aislamientos y bloqueos.

A
42
Q

Ejemplos INSERT INTO en SQL.

A
43
Q

Ejemplo UPDATE en SQL.

A
44
Q

Ejemplo DELETE en SQL.

A

DELETE FROM “tabla” WHERE “Condiciones”

45
Q

Ejemplo SELECT en SQL.

A
46
Q

Ejemplo de subconsulta.

A
47
Q

Que es el EXPLAIN PLAN o Execution plan

A

Plan de ejecucion que va a seguir el gestor de BBDD al ejecutar un select, update, insert o delete.

48
Q

Que tipos de Joins conoces?

A

-CROSS JOIN (Todas por todas)
-INNER JOIN (Todas las filas coincidentes segun la condicion)
-LEFT [OUTER] JOIN (El resultado son todas las filas de la tabla “de la izquierda” y sino hay filas coincidentes se rellenan a null)
-RIGHT [OUTER] JOIN (El resultado son todas las filas de la tabla “de la derecha” y sino hay filas coincidentes se rellenan a null)
-FULL [OUTER] JOIN (Como left y Right juntos, mandan ambas tablas)

Ejemplillo: Si una consulta left join en la que la tabla de la izquierda tiene 150 filas, el resultado de la consulta van a ser 150 filas.

49
Q

Ejemplo de union SQL.

A
50
Q

En una mezcla SQL, que pasa si un registro existe en las dos tablas?

A

Se actualiza en TARGET

51
Q

En una mezcla SQl, que pasa si un registro unicamente existe en SOURCE.

A

Se inserta en TARGET.

52
Q

Ejemplo de MERGE INTO en SQL.

A
53
Q

Que hace TRUNCATE TABLE?

A

Borra todas las filas de una tabla, pero la estructura de la tabla y sus columnas, constrains and indexes persisten. Y hace un commit automaticamente, por lo que no puedes hacer rollback.

En Mysql por ejemplo borra y crea la tabla, por lo que necesita permiso de DROP

54
Q

Que es un disparador / Trigger en SQL?

A

Representa logica de base de datos que se ejecuta cuando se detectan eventos (Filas borradas /añadidas/…) sobre determinados objetos.

55
Q

Que pseudotablas usan los disparadores / triggers?

A
56
Q

restricciones de los disparadores / triggers?

A

-No aceptan parametros
-No pueden usar START TRANSACTION / COMMIT /ROLLBACK

57
Q

Tipos de disparadores / triggers?

A

-De fila
-De sentencia.

58
Q

Sintaxis de los disparadores / triggers

A
59
Q

Ejemplo de un Trigger en SQL.

A
60
Q

Que son los procedures?

A

Logica de negocio que se ejecuta (CALL) en el ambito del SGBBDD

Acepta parametros (entrada, salida, entrada/salida) pero a diferencia de las funciones, estos no retornan valor.

61
Q

Ejemplo de procedure en SQL.

A
62
Q

Para que sirve un cursor?

A

para poder recorrer dinamicamente los resultados de una select.

63
Q

Sintaxis de un cursor?

A

FETCH cursor_name INTO variable_list;

64
Q

Nota: Todas las bases de datos de SQL Server tienen un registro de transacciones que registra todas las transacciones y las modificaciones que cada transacción realiza en la base de datos

A
65
Q

Que devuelve un FULL OUTER JOIN?

A

Las filas que hacen match, las filas que no de la tabla de la izquierda, y las filas que no de la tabla de la derecha. Mirar la imagen si tienes dudas.

66
Q

Ejemplo de SQL INNER JOIN

A

SELECT “level_list” FROM TableA A INNER JOIN Table B B ON A.key = B.key

67
Q

Implementaciones de SQL/PSM

A

Open source:
-HSQLDB
-MySQL/MARIADB
-OpenLink Virtuooso
-PogreSQL PL/pgSQL

Propietarios:
-Oracle PL/SQL
Sybase Transact-SQL
Invantive Procedural SQL.

68
Q

Que es CRUD?

A

En informática, CRUD es el acrónimo de “Crear, Leer, Actualizar y Borrar”, que se usa para referirse a las funciones básicas en bases de datos o la capa de persistencia en un software.