Conceptos de SQL y Estructuras de Datos
40 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál de las siguientes afirmaciones sobre SQL es incorrecta?

  • El SQL/PSM es una extensión procedural de SQL.
  • SQL tiene un estándar ampliamente reconocido por ANSI.
  • El estándar SQL:2008 incluye la sentencia TRUNCATE.
  • SQL es un lenguaje de programación orientado a objetos. (correct)

¿Qué sublenguaje de SQL se utiliza principalmente para la creación y modificación de estructuras de datos?

  • DCL
  • DML
  • TCL
  • DDL (correct)

¿Cuál de los siguientes gestores de bases de datos no es compatible con el estándar ANSI-86?

  • Oracle
  • MySQL (correct)
  • IBM Db2
  • PostgreSQL

¿Qué afirmación describe mejor la sentencia TRUNCATE en SQL?

<p>Vacía la tabla sin soporte para transacciones. (C)</p> Signup and view all the answers

¿Qué restricción asegura que un campo tiene un único valor excepto por un valor nulo en una tabla?

<p>UNIQUE (A)</p> Signup and view all the answers

¿Cuál de los siguientes es un ejemplo de DML en SQL?

<p>INSERT (C)</p> Signup and view all the answers

¿Qué sentencia se utiliza para otorgar permisos de acceso a datos en SQL?

<p>GRANT (B)</p> Signup and view all the answers

¿Qué tipo de objeto en SQL se utiliza para optimizar la búsqueda de datos?

<p>Index (B)</p> Signup and view all the answers

¿Cuál es la función principal del comando COMMIT en una transacción?

<p>Confirmar los cambios realizados en la transacción. (D)</p> Signup and view all the answers

¿Qué hace el comando ROLLBACK en una transacción?

<p>Deshace los cambios hasta el último SAVEPOINT. (C)</p> Signup and view all the answers

¿Cuál es el propósito de la instrucción SAVEPOINT?

<p>Crear un punto de recuperación en la transacción. (D)</p> Signup and view all the answers

¿Qué implica el nivel de aislamiento READ UNCOMMITTED?

<p>Los datos no consolidados son accesibles. (C)</p> Signup and view all the answers

¿Cuál es el resultado del comando ALTER TABLE al agregar una columna?

<p>Se modifica la estructura de la tabla añadiendo una nueva columna. (C)</p> Signup and view all the answers

¿Qué ocurre cuando se ejecuta SET TRANSACTION?

<p>Configura las propiedades de la transacción actual. (B)</p> Signup and view all the answers

¿Qué significa el término 'two-phase commit' en transacciones distribuidas?

<p>Se requiere la aprobación de dos sistemas antes de confirmar. (C)</p> Signup and view all the answers

¿Qué efecto tiene el comando DROP COLUMN en una tabla?

<p>Elimina una columna específica de la tabla sin afectar las demás. (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre SERIALIZABLE es correcta?

<p>Minimiza problemas de concurrencia a 0%. (D)</p> Signup and view all the answers

¿Qué es una lectura no repetible?

<p>Ocurre cuando una transacción lee datos que podrían ser alterados por otra transacción larga. (D)</p> Signup and view all the answers

¿Cuál es la principal función de un TRIGGER en MySQL?

<p>Ejecutar una lógica de negocio en respuesta a eventos. (D)</p> Signup and view all the answers

¿Qué asegura el uso de bloqueos durante una transacción SERIALIZABLE?

<p>Que no se puedan realizar lecturas sucias. (B)</p> Signup and view all the answers

¿Qué tipo de operación no se puede utilizar dentro de un TRIGGER?

<p>START TRANSACTION (D)</p> Signup and view all the answers

¿Cuál es la diferencia entre un PROCEDURE y una FUNCTION en MySQL?

<p>Un PROCEDURE no retorna un valor mientras que una FUNCTION sí. (D)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre las subconsultas es correcta?

<p>Pueden ser utilizadas en la cláusula WHERE para filtrar resultados. (D)</p> Signup and view all the answers

¿Qué función hace que COUNT(columna) no cuente nulos?

<p>FUNCIONES DE AGREGADO. (A)</p> Signup and view all the answers

¿Qué hace la cláusula 'AFTER' en un TRIGGER?

<p>Ejecuta la lógica después de que la operación se ha realizado. (B)</p> Signup and view all the answers

¿En qué contexto no se puede utilizar un cursor?

<p>Dentro de un TRIGGER. (C)</p> Signup and view all the answers

¿Qué significa el operador WHERE col1 [NOT] IN (subquery)?

<p>Filtra registros que están dentro de una lista obtenida de otra consulta. (D)</p> Signup and view all the answers

¿Qué indica la cláusula 'INSTEAD OF' en un TRIGGER?

<p>Anula la ejecución de la operación original. (D)</p> Signup and view all the answers

¿Qué tipo de unión es necesario para combinar datos de dos tablas de manera que se relacionen?

<p>INNER JOIN. (B)</p> Signup and view all the answers

¿Qué hace la sentencia 'EXPLAIN PLAN'?

<p>Muestra el plan de ejecución de sentencias SQL. (D)</p> Signup and view all the answers

¿Qué se entiende por 'lectura fantasma' en un contexto de transacciones?

<p>Es leer un dato que se ha insertado después de la primera lectura. (A)</p> Signup and view all the answers

¿Qué indica el uso de LIMIT en MySQL?

<p>Especifica cuántos registros se pueden devolver en una consulta. (B)</p> Signup and view all the answers

¿Cuál de los siguientes tipos de JOIN devuelve todas las filas de la tabla de la izquierda y solo las filas coincidentes de la derecha?

<p>LEFT OUTER JOIN (C)</p> Signup and view all the answers

¿Qué hace un CROSS JOIN entre dos tablas?

<p>Devuelve el producto cartesiano de las tablas. (C)</p> Signup and view all the answers

¿Qué se logra con un FULL OUTER JOIN?

<p>Se obtienen todas las filas de ambas tablas con nulos donde no coinciden. (C)</p> Signup and view all the answers

¿Qué caracteriza la UNION ALL en SQL?

<p>Fusión de tablas sin eliminar duplicados. (C)</p> Signup and view all the answers

¿Cuál es la función principal del comando TRUNCATE en una base de datos?

<p>Borrar rápidamente el contenido de una tabla sin eliminar su estructura. (A)</p> Signup and view all the answers

¿Qué sucede en una operación MERGE cuando un registro de la tabla de origen coincide con uno en la tabla de destino?

<p>Se actualiza el registro en el destino. (B)</p> Signup and view all the answers

En un NATURAL JOIN, ¿qué se requiere para que funcione correctamente?

<p>Las columnas en ambas tablas deben tener nombres idénticos. (A)</p> Signup and view all the answers

Al realizar un RIGHT OUTER JOIN, ¿qué filas se incluyen en el resultado?

<p>Todas las filas de la tabla derecha y las coincidentes de la izquierda. (B)</p> Signup and view all the answers

Flashcards

Transacciones locales

Transacciones que ocurren dentro de un solo sistema de gestión de base de datos (SGBD).

Transacciones distribuidas

Transacciones que involucran múltiples sistemas de gestión de base de datos.

COMMIT

Confirma los cambios de una transacción.

ROLLBACK

Deshace los cambios de una transacción hasta un punto específico.

Signup and view all the flashcards

SAVEPOINT

Punto de salvaguarda dentro de una transacción.

Signup and view all the flashcards

JTA

API de Java para interactuar con un monitor de transacciones.

Signup and view all the flashcards

Aislamiento de transacciones

Nivel de acceso a datos de una transacción respecto a otros usuarios.

Signup and view all the flashcards

READ COMMITED

Método predeterminado de aislamiento de transacciones. Solo se ven datos ya confirmados.

Signup and view all the flashcards

Transacciones serializables

Las transacciones se ejecutan una tras otra, sin problemas de concurrencia. Garantizan un alto rendimiento y seguridad.

Signup and view all the flashcards

Lectura sucia

La lectura de datos que aún no han sido confirmados por la transacción.

Signup and view all the flashcards

Lectura no repetible

Si una transacción es larga, otra transacción puede modificar los datos que la primera usaba. Si la primera vuelve a leer, los datos habrán cambiado.

Signup and view all the flashcards

Lectura fantasma

No se bloquean rangos de datos, sólo filas específicas. Una transacción puede recuperar un rango y otra insertar datos dentro de ese rango sin que la primera los vea.

Signup and view all the flashcards

Subconsulta en WHERE (EXISTS)

Una subconsulta que verifica si existe al menos una fila que cumple una condición específica, en una consulta principal.

Signup and view all the flashcards

Subconsulta en WHERE (IN/ANY/SOME)

Una subconsulta que devuelve un conjunto de valores, usado para comparar valores en la consulta principal.

Signup and view all the flashcards

COUNT(*) vs. COUNT(columna)

COUNT(*) cuenta todas las filas, incluyendo las con valores NULL. COUNT(columna) solo cuenta las filas con valores no NULL en la columna especificada.

Signup and view all the flashcards

Bloqueo de tablas

El modo de bloqueo SERIALIZABLE en una transacción es necesario para bloquear una tabla completa

Signup and view all the flashcards

Transacción

Conjunto de acciones SQL que se ejecutan como una unidad. Todas deben completarse o ninguna.

Signup and view all the flashcards

TRUNCATE

Comando que vacía una tabla, pero algunas veces borra y recrea la tabla evitando la transaccionalidad y la recuperación.

Signup and view all the flashcards

Procedimientos Almacenados

Conjunto de instrucciones SQL agrupadas que se ejecutan como una unidad.

Signup and view all the flashcards

Index

Estructura de datos que acelera las búsquedas en una tabla mediante el uso de árboles.

Signup and view all the flashcards

Tabla

Objeto fundamental de una base de datos, que organiza datos en filas y columnas.

Signup and view all the flashcards

CROSS JOIN

Crea el producto cartesiano de las tablas, combinando cada fila de una tabla con todas las filas de la otra.

Signup and view all the flashcards

[INNER] JOIN

Solo las filas coincidentes con la condición de unión se incluyen en el resultado.

Signup and view all the flashcards

LEFT [OUTER] JOIN

Incluye todas las filas de la tabla izquierda y las filas de la derecha que coinciden con la condición. Si no hay coincidencia, los campos de la derecha se rellenan con valores nulos.

Signup and view all the flashcards

RIGHT [OUTER] JOIN

Igual que el LEFT JOIN, pero incluye todas las filas de la derecha y las filas de la izquierda que coinciden con la condición. Los valores nulos se rellenan en la izquierda si no hay coincidencia.

Signup and view all the flashcards

FULL [OUTER] JOIN

Incluye todas las filas de ambas tablas. Los valores nulos se rellenan en los campos que no coinciden con la condición.

Signup and view all the flashcards

NATURAL JOIN

Se aplica cuando las tablas comparten nombres de campo. El gestor de base de datos hace la unión automáticamente basados en los nombres de los campos.

Signup and view all the flashcards

UNION [ALL]

Combina los resultados de dos o más consultas SELECT. UNION elimina las filas duplicadas; UNION ALL las mantiene.

Signup and view all the flashcards

TRIGGER

Un trigger es un bloque de código que se ejecuta automáticamente cuando se produce un evento en una tabla, como una inserción, actualización o eliminación de filas.

Signup and view all the flashcards

INSTEAD OF TRIGGER

Un trigger INSTEAD OF reemplaza la acción que lo activó, permitiendo controlar qué sucede cuando se quiere insertar, actualizar o eliminar información.

Signup and view all the flashcards

PROCEDURE

Un procedure es un conjunto de instrucciones que se ejecutan como una unidad, similar a una función, pero sin devolver un valor. Permite organizar código de forma eficiente.

Signup and view all the flashcards

CURSOR

Un cursor es un objeto que permite recorrer el resultado de una consulta de forma fila a fila, accediendo a los datos uno por uno.

Signup and view all the flashcards

EXPLAIN PLAN

EXPLAIN PLAN es una herramienta que muestra el plan de ejecución que seguirá el sistema de gestión de base de datos para una consulta, incluyendo pasos intermedios.

Signup and view all the flashcards

¿Qué es un COMMIT?

COMMIT confirma los cambios realizados en la base de datos dentro de una transacción, asegurando que se guardan de forma permanente.

Signup and view all the flashcards

¿Qué es un ROLLBACK?

ROLLBACK deshace los cambios realizados en la base de datos dentro de una transacción, restaurando el estado anterior a la transacción.

Signup and view all the flashcards

¿Qué es un SAVEPOINT?

Un SAVEPOINT es un punto de restauración dentro de una transacción, permitiendo deshacer solo los cambios realizados desde ese punto.

Signup and view all the flashcards

Study Notes

SQL Concepts

  • SQL is a 4GL declarative language with procedural extensions (stored procedures). Standards include ANSI (86, 92), ISO 9075 (various versions) addressing features like triggers, sequences, XML, and JSON compatibility.
  • Sublanguages: DDL (Data Definition Language) for creating, deleting, and modifying database objects; DML (Data Manipulation Language) for querying, updating, inserting, and deleting data; DCL (Data Control Language) for user permissions; and TCL (Transaction Control Language) for managing transactions (COMMIT, ROLLBACK, etc.).
  • ACID properties (Atomicity, Consistency, Isolation, Durability) are crucial for reliable transactions in database systems. The TRUNCATE command quickly empties a table but is not transactionally safe for all database systems.
  • Constraints (PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE) enforce data integrity within tables.

Data Types and Structures

  • Tables, indexes, views, procedures, sequences, and functions are database objects organized in schemas.
  • Domains define data types, and roles grant specific user permissions.

Data Manipulation

  • CRUD operations (Create, Read, Update, Delete) are core DML functions. The MERGE statement combines data from multiple tables.
  • Transactions (START TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT) are groups of statements that either all execute or none.
  • SQL supports JOIN operations (INNER, LEFT/OUTER, RIGHT/OUTER, FULL/OUTER, and CROSS JOIN) for combining data from multiple tables based on specified conditions.
  • UNION combines query results vertically. Using UNION ALL preserves duplicates.
  • Queries involve selecting data from tables (e.g., SELECT ... FROM ... WHERE ...). Functions like SUM, AVG, MAX, MIN, and COUNT produce aggregate results from columns. COUNT(*) accounts for null values while COUNT(column) doesn't.

Transactions and Isolation

  • Transactions manage changes to data in a database, ensuring all operations are processed as a single unit.
  • Different isolation levels (e.g., READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE) impact how transactions interact with each other, regulating read and write operations. These levels impact the consistency and isolation of the operations.
  • The SET TRANSACTION command configures the isolation level.

Triggers/Disparadores

  • Triggers are procedural routines automatically executed when specified SQL actions occur (e.g., INSERT, UPDATE, DELETE).

Procedures and Functions

  • Procedures and functions are reusable code blocks that group SQL statements to perform specific tasks and can accept parameters.
  • Cursors are objects to traverse query results row by row.

Data Types and Structures (continued)

  • Considerations for MERGE, TRUNCATE, and VIEW statements, how they affect data consistency, and their specifics in different database systems (e.g., Oracle, MySQL, MS SQL Server).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Tema 4 SQL PDF

Description

Este cuestionario examina los conceptos fundamentales de SQL, incluyendo su lenguaje, sublenguajes y propiedades ACID. Además, se analizarán las estructuras de datos utilizadas en bases de datos como tablas, índices y procedimientos. Ideal para estudiantes que deseen profundizar en el manejo de bases de datos.

More Like This

Database Concepts Quiz
253 questions

Database Concepts Quiz

CapableAmethyst avatar
CapableAmethyst
Introduction to SQL Concepts
8 questions
Introduction to SQL Concepts
13 questions
Use Quizgecko on...
Browser
Browser