B3-T3 - Lenguajes SQL. Estándar ANSI SQL. Procedimientos almacenados. Eventos y disparadores. Flashcards
¿Cuál de las siguientes opciones NO es un tipo de comando SQL?
a) DDL
b) DML
c) DCM
d) TCL
C
DCM
Los tipos de comandos SQL son DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) y TCL (Transaction Control Language).
¿Qué nivel de aislamiento en las transacciones SQL previene las lecturas sucias, las lecturas no repetibles y las lecturas fantasma?
a) Read Uncommitted
b) Read Committed
c) Repeatable Read
d) Serializable
D
Serializable
El nivel de aislamiento Serializable es el más restrictivo pero garantiza la consistencia total al ejecutar transacciones de manera completamente aislada.
¿Qué tipo de lenguaje es SQL? (T)
SQL es un lenguaje de consulta estructurado, declarativo con extensión procedural.
Qué comando SQL se utiliza para deshacer los cambios realizados en una base de datos desde el inicio de una transacción?
ROLLBACK
¿Cuál de las siguientes opciones NO es un tipo de comando DML en SQL?
A. INSERT
B. UPDATE
C. GRANT
D. DELETE
C
GRANT
Los comandos DML se utilizan para manipular datos, mientras que GRANT es un comando DCL que se utiliza para controlar el acceso a los datos.
¿Qué tipo de JOIN devuelve todas las filas de la tabla izquierda y las coincidencias de la derecha, mostrando NULL en la derecha si no hay coincidencia?
A. INNER JOIN
B. LEFT [OUTER] JOIN
C. RIGHT [OUTER] JOIN
D. FULL [OUTER] JOIN
B
LEFT [OUTER] JOIN
Un LEFT JOIN siempre incluye todas las filas de la tabla a la izquierda de la sentencia JOIN, incluso si no hay coincidencias en la tabla derecha
¿Qué comando SQL se utiliza para deshacer los cambios realizados en una transacción?
ROLLBACK
Qué tipo de datos en SQL se utiliza para almacenar grandes cantidades de datos binarios, como imágenes o vídeos?
BLOB
¿Qué tipo de anomalía ocurre cuando una transacción lee datos modificados por otra transacción que aún no ha hecho commit?
a) Lectura sucia
b) Lectura no repetible
c) Lectura fantasma
d) Actualización perdida
A
Lectura sucia
En una lectura no repetible, ¿qué sucede con los datos leídos dos veces en la misma transacción?
a) Los datos son idénticos
b) Los valores no coinciden
c) Aparecen nuevas filas
d) Los datos se eliminan
B
Los valores no coinciden
¿Cuál de las siguientes anomalías se caracteriza por obtener resultados diferentes al ejecutar dos consultas idénticas en la misma transacción?
a) Lectura sucia
b) Lectura no repetible
c) Lectura fantasma
d) Deadlock
C
Lectura fantasma
¿Qué problema puede ocurrir si se permite la lectura de datos no confirmados?
a) Bloqueo de la base de datos
b) Corrupción permanente de datos
c) Lectura de datos que podrían ser revertidos
d) Eliminación accidental de registros
C
Lectura de datos que podrían ser revertidos
La anomalía donde aparecen o desaparecen filas entre dos ejecuciones de la misma consulta en una transacción se conoce como:
a) Lectura sucia
b) Lectura no repetible
c) Lectura fantasma
d) Actualización perdida
C
Lectura fantasma
¿Qué nivel de aislamiento permite la lectura de datos no confirmados?
a) Read Committed
b) Repeatable Read
c) Serializable
d) Read Uncommitted
D
Read Uncommitted
En el nivel Read Committed, ¿cuándo se liberan los bloqueos de lectura?
a) Al final de la transacción
b) Inmediatamente después de la operación de lectura
c) Nunca se liberan
d) Cuando otra transacción lo solicita
B
Inmediatamente después de la operación de lectura
¿Qué nivel de aislamiento mantiene los bloqueos de lectura hasta el final de la transacción?
a) Read Uncommitted
b) Read Committed
c) Repeatable Read
d) Ninguno de los anteriores
C
Repeatable Read
¿Cuál es el nivel de aislamiento más restrictivo que garantiza consistencia total?
a) Read Uncommitted
b) Read Committed
c) Repeatable Read
d) Serializable
D
Serializable
En el nivel Repeatable Read, ¿qué tipo de anomalía aún puede ocurrir?
a) Lecturas sucias
b) Lecturas no repetibles
c) Lecturas fantasma
d) Ninguna de las anteriores
C
Lecturas fantasma
¿Cuál es la diferencia entre un backup lógico y un backup físico en PostgreSQL? (T)
Un backup lógico en PostgreSQL se realiza utilizando herramientas como pg-dump y pg_dumpall. Este tipo de backup exporta la estructura y los datos de la base de datos en formato SQL o en formato personalizado, lo que permite una restauración granular de objetos individuales.
Un backup físico, en cambio, implica copiar directamente los archivos de datos del sistema de archivos donde está almacenada la base de datos. Este tipo de backup es más rápido y eficiente para restauraciones completas y suele realizarse utilizando herramientas como pg_basebackup.
Cómo se realiza una restauración de una base de datos PostgreSQL utilizando un archivo de backup creado con pg-dump? (T)
La restauración de una base de datos PostgreSQL utilizando un archivo de backup creado con pg-dump se realiza con el comando psql. El comando sería:
psql nombre-db < fichero.bkp
Este comando importa el contenido del archivo fichero.bkp a la base de datos nombre-db.
¿Qué opción de pg-dump se utilizaría para realizar una copia de seguridad que incluya solo la estructura de la base de datos, sin los datos?
pg-dump -s nombre-db > estructura.bkp
La opción -s o –schema-only se utiliza con pg-dump para crear una copia de seguridad que incluya solo la estructura de la base de datos, es decir, las definiciones de tablas, índices, etc., sin incluir los datos.
¿Qué es un punto de recuperación (recovery point) y cómo se utiliza en PostgreSQL?
Un punto de recuperación (recovery point) en PostgreSQL se utiliza en el proceso de recuperación ante desastres. Es un marcador en el flujo de WAL (Write-Ahead Logging) que permite restaurar una base de datos a un estado específico en el tiempo. Se utilizan comandos como pg_rewind y configuraciones de recuperación en recovery.conf para especificar el punto de recuperación deseado.
Referente a los comandos DML del lenguaje SQL, señale la respuesta correcta:
a) DML es acrónimo de Data Manager Language.
b) Permiten crear nuevas bases de datos, añadiendo y eliminando elementos.
c) El comando TRUNCATE es un comando DML.
d) El comando SELECT es un comando DML.
D
El comando SELECT es un comando DML.
¿Cuál de los siguientes comandos pertenece al grupo de comandos DDL (Data Definition Language)?
a) SELECT
b) UPDATE
c) CREATE
d) INSERT
C
CREATE