Podcast
Questions and Answers
¿Qué característica principal distingue a SQL Lite de otros sistemas de gestión de bases de datos?
¿Qué característica principal distingue a SQL Lite de otros sistemas de gestión de bases de datos?
¿Cuál de los siguientes comandos pertenece a DCL?
¿Cuál de los siguientes comandos pertenece a DCL?
¿Qué opción describe correctamente SQL/PSM?
¿Qué opción describe correctamente SQL/PSM?
¿Qué tipo de ejecución se utiliza para modificar datos en una base de datos?
¿Qué tipo de ejecución se utiliza para modificar datos en una base de datos?
Signup and view all the answers
¿Cuál de las siguientes bases de datos utiliza el puerto 1433 por defecto?
¿Cuál de las siguientes bases de datos utiliza el puerto 1433 por defecto?
Signup and view all the answers
¿Qué hace el comando 'SAVEPOINT' en el contexto de TCL?
¿Qué hace el comando 'SAVEPOINT' en el contexto de TCL?
Signup and view all the answers
¿Cuál de las siguientes opciones no se considera un tipo de ejecución en SQL?
¿Cuál de las siguientes opciones no se considera un tipo de ejecución en SQL?
Signup and view all the answers
¿Qué establecimiento se utiliza para la creación de funciones y procedimientos almacenados?
¿Qué establecimiento se utiliza para la creación de funciones y procedimientos almacenados?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre el comando ROLLBACK es correcta?
¿Cuál de las siguientes afirmaciones sobre el comando ROLLBACK es correcta?
Signup and view all the answers
¿Qué comando se usa para asegurarse de que los cambios se apliquen de manera permanente en la base de datos?
¿Qué comando se usa para asegurarse de que los cambios se apliquen de manera permanente en la base de datos?
Signup and view all the answers
¿Cuál es una característica del comando DELETE en comparación con TRUNCATE?
¿Cuál es una característica del comando DELETE en comparación con TRUNCATE?
Signup and view all the answers
¿Cómo afecta el comando TRUNCATE a los valores de las columnas con auto-incremento?
¿Cómo afecta el comando TRUNCATE a los valores de las columnas con auto-incremento?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre el uso de OFFSET en una consulta es correcta?
¿Cuál de las siguientes afirmaciones sobre el uso de OFFSET en una consulta es correcta?
Signup and view all the answers
¿Qué ventaja tiene el uso de SAVEPOINT dentro de una transacción?
¿Qué ventaja tiene el uso de SAVEPOINT dentro de una transacción?
Signup and view all the answers
¿Qué sucede si se intenta usar DELETE en filas que tienen dependencias en otras tablas?
¿Qué sucede si se intenta usar DELETE en filas que tienen dependencias en otras tablas?
Signup and view all the answers
¿Cuál es la función principal de la cláusula LIMIT en una consulta SQL?
¿Cuál es la función principal de la cláusula LIMIT en una consulta SQL?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre los procedimientos almacenados es correcta?
¿Cuál de las siguientes afirmaciones sobre los procedimientos almacenados es correcta?
Signup and view all the answers
¿Qué tipo de JOIN se utiliza para recuperar todas las filas de la tabla izquierda y las coincidencias de la tabla derecha?
¿Qué tipo de JOIN se utiliza para recuperar todas las filas de la tabla izquierda y las coincidencias de la tabla derecha?
Signup and view all the answers
¿Cuál es la característica principal de un CROSS JOIN?
¿Cuál es la característica principal de un CROSS JOIN?
Signup and view all the answers
¿Cuál de los siguientes JOINs devuelve filas donde hay coincidencias en A o B?
¿Cuál de los siguientes JOINs devuelve filas donde hay coincidencias en A o B?
Signup and view all the answers
¿Cuál es la diferencia clave entre un INNER JOIN y un OUTER JOIN?
¿Cuál es la diferencia clave entre un INNER JOIN y un OUTER JOIN?
Signup and view all the answers
En un SELF JOIN, ¿qué se busca comparar?
En un SELF JOIN, ¿qué se busca comparar?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones es falsa sobre la invocación de procedimientos almacenados?
¿Cuál de las siguientes afirmaciones es falsa sobre la invocación de procedimientos almacenados?
Signup and view all the answers
En el contexto de un LEFT [OUTER] JOIN, ¿qué sucede si no hay coincidencias?
En el contexto de un LEFT [OUTER] JOIN, ¿qué sucede si no hay coincidencias?
Signup and view all the answers
¿Cuál es la función de un índice en una tabla de base de datos?
¿Cuál es la función de un índice en una tabla de base de datos?
Signup and view all the answers
¿Qué comando DCL se utiliza para revocar permisos ya otorgados?
¿Qué comando DCL se utiliza para revocar permisos ya otorgados?
Signup and view all the answers
¿Qué permite la opción 'WITH GRANT OPTION' en un comando GRANT?
¿Qué permite la opción 'WITH GRANT OPTION' en un comando GRANT?
Signup and view all the answers
¿Cuál es el propósito de la cláusula GROUP BY en una consulta SQL?
¿Cuál es el propósito de la cláusula GROUP BY en una consulta SQL?
Signup and view all the answers
¿Qué usuario puede ejecutar una consulta SELECT que incluye la cláusula HAVING?
¿Qué usuario puede ejecutar una consulta SELECT que incluye la cláusula HAVING?
Signup and view all the answers
¿Qué operación se realiza con el comando DML 'DELETE'?
¿Qué operación se realiza con el comando DML 'DELETE'?
Signup and view all the answers
Al usar la función de agregado COUNT, ¿qué tipo de datos cuenta?
Al usar la función de agregado COUNT, ¿qué tipo de datos cuenta?
Signup and view all the answers
¿Cuál es el propósito de la cláusula ORDER BY en una consulta SQL?
¿Cuál es el propósito de la cláusula ORDER BY en una consulta SQL?
Signup and view all the answers
¿Cuál es la diferencia principal entre un trigger FOR EACH ROW y un trigger FOR EACH STATEMENT?
¿Cuál es la diferencia principal entre un trigger FOR EACH ROW y un trigger FOR EACH STATEMENT?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre el comando MERGE es correcta?
¿Cuál de las siguientes afirmaciones sobre el comando MERGE es correcta?
Signup and view all the answers
¿Qué tipo de información proporciona el Monitor Transaccional en SQL?
¿Qué tipo de información proporciona el Monitor Transaccional en SQL?
Signup and view all the answers
¿Qué ocurre realmente durante una lectura sucia en una transacción?
¿Qué ocurre realmente durante una lectura sucia en una transacción?
Signup and view all the answers
¿Qué caracteriza a los niveles de aislamiento en las transacciones?
¿Qué caracteriza a los niveles de aislamiento en las transacciones?
Signup and view all the answers
¿Cuál de los siguientes niveles de aislamiento es el menos restrictivo?
¿Cuál de los siguientes niveles de aislamiento es el menos restrictivo?
Signup and view all the answers
¿Cuál de las siguientes características sobre los triggers es correcta?
¿Cuál de las siguientes características sobre los triggers es correcta?
Signup and view all the answers
¿Qué es un deadlock en el contexto de transacciones?
¿Qué es un deadlock en el contexto de transacciones?
Signup and view all the answers
Study Notes
Lenguaje SQL
- SQL es un lenguaje de consulta estructurado para manejar información en una base de datos.
- Permite modificar, añadir y eliminar datos.
- Es un lenguaje 4GL declarativo con extensiones procedurales.
- No es un lenguaje de programación, sino de consulta.
- Trabaja bajo el estándar ISO-9075.
Productos SQL
- Algunos productos que utilizan SQL: Oracle, Microsoft SQL Server, MySQL/MariaDB, Informix, IBM DB2, MaxDB.
SQL Lite
- Sistema de gestión de bases de datos relacional (RDBMS) ligero y compatible con el estándar ACID.
- Sin configuración, ideal para aplicaciones pequeñas o medianas.
SQL/PSM
- Extensión del estándar ISO SQL que introduce programación procedural en bases de datos relacionales.
- Permite la creación de funciones y procedimientos almacenados.
- El código se ejecuta en el gestor de base de datos.
PL/SQL
- Lenguaje procedimental diseñado por Oracle para trabajar con su sistema de base de datos.
- En SQL Server, el lenguaje procedimental se llama Transact-SQL.
Tipos de Bases de Datos Relacionales
- Oracle (puerto 1521 o 2483)
- Microsoft SQL Server (puerto 1433)
- MySQL (puerto 3306)
- Apache Derby (puerto 1527)
- MariaDB (puerto 3306)
- MaxDB
- SQLite
- HSQLDB
- PostgreSQL (puerto 5432)
- Aurora
Tipos de Ejecuciones SQL
-
DDL (Data Definition Language):
- Creación, borrado y eliminación de objetos (tablas, índices, etc.).
-
DML (Data Manipulation Language):
- Consulta, borrado, modificación e inserción de datos.
-
DCL (Data Control Language):
- Control de acceso a los datos.
- Comandos comunes:
GRANT
yREVOKE
.
-
TCL (Transaction Control Language):
- Control del procesamiento de las transacciones.
- Comandos:
-
COMMIT
: Guarda el trabajo realizado. -
SAVEPOINT
: Identifica un punto en una transacción para un rollback parcial. -
ROLLBACK
: Restaura la base de datos a un estado anterior. -
SET TRANSACTION
: Modifica las opciones de transacción, como el nivel de aislamiento.
-
Vistas
- Representaciones virtuales de datos.
- Son dinámicas o estáticas.
- Vistas Dinámicas: muestran datos de una o dos tablas e incluyen todas las columnas de las tablas especificadas.
- Vistas Estáticas: pueden mostrar datos de múltiples tablas y se deben especificar las columnas relevantes en la consulta.
Índices
- Estructuras de datos que permiten la búsqueda rápida de filas en base a su contenido en una columna.
- Facilitan la recuperación de filas ordenadas por la columna indexada.
DCL: Grant y Revoke
- GRANT: otorga permisos a usuarios o roles en la base de datos.
- REVOKE: revoca permisos previamente otorgados.
DML: Insert, Update, Delete, Select
-
INSERT: Agrega datos nuevos a una tabla.
-
UPDATE: Modifica datos existentes en una tabla.
-
DELETE: Elimina datos de una tabla.
-
SELECT: Consulta o lee datos de una tabla.
- Puede utilizar:
- Columnas individuales
- Funciones agregadas (SUM, COUNT, MAX, MIN, AVG)
- Subconsultas
- Cálculos
- Permite:
-
GROUP BY
: Agrupa registros por columna(s). -
HAVING
: Filtra grupos basados en condiciones agregadas. -
ORDER BY
: Ordena los resultados (ASC o DESC). -
LIMIT
: Limita el número de filas devueltas. -
OFFSET
: Define el punto de inicio de las filas devueltas.
-
- Puede utilizar:
-
SELECT: Consulta o lee datos de una tabla.
TCL: Rollback y Savepoint
- ROLLBACK: Deshace los cambios realizados en la base de datos desde el inicio de una transacción.
- SAVEPOINT: Permite un rollback parcial a un punto específico dentro de una transacción.
Transacciones
- Un conjunto de operaciones SQL que se ejecutan como una unidad atómica.
- Deben cumplir las propiedades ACID:
- Atomicidad: Todas las operaciones se ejecutan o ninguna.
- Consistencia: Las operaciones mantienen la integridad de la base de datos.
- Isolacion: Las transacciones se ejecutan de forma independiente.
- Durabilidad: Los cambios realizados se mantienen permanentemente.
Delete y Truncate
-
DELETE: Elimina filas específicas de una tabla.
- Las operaciones activan disparadores y registros de transacciones por cada fila eliminada.
- Se puede combinar con
COMMIT
yROLLBACK
. - Respeta las restricciones de integridad referencial.
- Más lento que
TRUNCATE
para grandes cantidades de datos.
-
TRUNCATE: Elimina todas las filas de una tabla, pero no permite el uso de
WHERE
.- No se pueden eliminar filas individuales.
- Elimina filas masivamente.
- Más rápido que
DELETE
para grandes cantidades de datos. - No se puede combinar con
COMMIT
oROLLBACK
.
Triggers
- Procedimientos almacenados que se ejecutan automáticamente en respuesta a ciertos eventos en una base de datos.
- No se ejecutan con
TRUNCATE
. - Se pueden utilizar como
FOR EACH ROW
oFOR EACH STATEMENT
.
Merge
- Sincroniza datos entre dos tablas o entre una tabla y una consulta.
- Permite realizar operaciones
INSERT
,UPDATE
oDELETE
basadas en coincidencias de datos.
Monitor Transaccional
- Herramienta para supervisar y gestionar el estado de las transacciones en una base de datos.
- Proporciona información sobre:
- Transacciones activas.
- Bloqueos y esperas de recursos.
- Conflictos entre transacciones.
- Rendimiento y estado de las transacciones en ejecución.
-
Niveles de aislamiento:
-
Read Uncommitted
: Lectura de datos no confirmados (menos restrictivo, más rápido, pero menos seguro). -
Read Committed
: Lectura solo de datos confirmados (comúnmente usados). - Se pueden configurar niveles de aislamiento adicionales.
-
Procedimientos Almacenados
- Bloques precompilados de código SQL que se ejecutan en el servidor de bases de datos.
- Permiten ejecutar tareas complejas de forma eficiente.
- Se pueden utilizar con parámetros de entrada (
IN
), parámetros de salida (OUT
) y parámetros de entrada y salida (INOUT
). - Para invocar un procedimiento almacenado se utiliza
CALL
.
Funciones
- Similar a los procedimientos almacenados, pero devuelven un valor.
- Se pueden utilizar en otras consultas SQL.
- Se pueden utilizar parámetros de entrada y salida.
Tipos de Joins
- Combinan filas de dos o más tablas basadas en una condición.
- CROSS JOIN: Combinación de todas las filas de ambas tablas, independientemente de coincidencia.
- INNER JOIN: Devuelve solo las filas que coinciden en ambas tablas.
- LEFT OUTER JOIN: Devuelve todas las filas de la primera tabla y las filas coincidentes de la segunda tabla.
- RIGHT OUTER JOIN: Devuelve todas las filas de la segunda tabla y las filas coincidentes de la primera tabla.
-
FULL OUTER JOIN: Devuelve todas las filas de ambas tablas, rellenando con valores
NULL
donde no hay coincidencia. - SELF JOIN: Une una tabla consigo misma para comparar filas dentro de la misma tabla.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario explora el lenguaje SQL y sus diversas aplicaciones en la gestión de bases de datos. Incluye productos populares como Oracle y MySQL, así como extensiones como SQL/PSM y PL/SQL. A través de este quiz, podrás comprobar tus conocimientos sobre SQL y sus características específicas.