BBDD_T6
|
|
Título del Test:
![]() BBDD_T6 Descripción: Base de Datos Tema 6 |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Qué hace el lenguaje DML en SQL?. Modifica el estado de la base de datos. Define la estructura de las tablas. Controla los permisos de los usuarios. Realiza copias de seguridad. Sintaxis básica de INSERT: ¿qué debe coincidir con el orden de los campos de la tabla?. Los valores proporcionados. Los nombres de las columnas. Los tipos de datos. Las claves primarias. INSERT múltiple permite: Insertar varias filas en una sola sentencia. Actualizar. Borrar varias filas a la vez. Seleccionar varias filas. Para insertar un valor NULL explícitamente: Usamos la palabra NULL. Se deja el campo vacío. Se escribe 0. Se escribe '' (cadena vacía). Cuando se omiten campos en INSERT, estos reciben: Valor NULL. Valor 0. Valor por defecto 1. Valor de la primera fila. INSERT desde SELECT permite: Copiar filas de otra tabla. Actualizar filas existentes. Eliminar filas de otra tabla. Crear índices automáticamente. Si intentamos insertar un contrato para un DNI que no existe: Se genera un error de integridad referencial. Se inserta igual con NULL. Se ignora la fila. Se inserta y se marca como pendiente. Forma implícita de INSERT: Omitimos campos que serán NULL y listamos solo los que tienen valor. Se listan todos los campos aunque sean NULL. Solo se permite un registro a la vez. No se pueden usar funciones en los valores. Forma explícita de INSERT: Se asigna la palabra NULL a los campos que no tendrán valor. Se asigna 0 automáticamente a los campos sin valor. Se ignoran los campos que no se mencionan en la lista. Solo se puede insertar un registro por vez. Sobre NULL: Es un marcador que indica ausencia de valor y no se puede operar directamente. Se considera lo mismo que un 0. Se puede concatenar como si fuera texto normal. Se interpreta como cadena vacía automáticamente. La sentencia UPDATE sirve para: Modificar valores de una o varias filas. Borrar filas. Añadir nuevas filas. Crear nuevas columnas. ¿Qué sucede si se omite WHERE en UPDATE?. Se modifican todas las filas de la tabla. Se genera error. Solo se modifica la primera fila. Solo se modifican los valores NULL. Antes de UPDATE es recomendable: Hacer un SELECT para comprobar qué filas se van a afectar. Ignorar el estado de la tabla. Ignorar el estado de la tabla. Actualizar todas las filas sin condición. UPDATE permite modificar: Uno o varios campos a la vez. Solo un campo. Solo campos numéricos. Solo campos de texto. UPDATE con subconsulta permite: Asignar valores obtenidos de otra tabla o fila. Solo cambiar texto. Solo cambiar números. Solo cambiar NULLs. Restricción en UPDATE de clave ajena: No se puede asignar un valor que no exista en la tabla origen. Se ignora la integridad. Se pueden cambiar salario y vacantes en la misma sentencia. Se pone NULL automáticamente. Ejemplo práctico: para actualizar el salario de Ariadna igual al de Valeria: Se usan subconsultas SELECT dentro de UPDATE. Se hace UPDATE directo sin SELECT. Hacer un SELECT para comprobar qué filas se van a afectar. UPDATE de varias columnas: Se pueden cambiar salario y vacantes en la misma sentencia. Solo se puede cambiar salario. Solo se puede cambiar vacantes. Se necesitan dos UPDATE. Comprobar datos antes de UPDATE: SELECT con la misma condición. DELETE con la misma condición. INSERT con los valores actuales. ALTER TABLE. Integridad referencial en UPDATE: No permite asignar claves ajenas inexistentes. Se ignora automáticamente. Se convierte en NULL. Solo afecta a claves primarias. DELETE sirve para: Borrar filas. Modificar filas. Borrar tablas. Crear tablas. WHERE en DELETE: Es opcional, pero rara vez se omite. Siempre obligatorio. Se usa para cambiar valores. No existe. Antes de DELETE es recomendable: Hacer SELECT para calcular el alcance. Usar UPDATE primero. Ignorar los datos. Hacer backup de la tabla. DELETE con subconsulta permite: Eliminar solo filas que cumplen condiciones basadas en otra tabla. Actualizar todos los valores de la tabla aunque no se cumpla la condición. Insertar nuevas filas en la tabla destino automáticamente. Crear índices adicionales antes de eliminar filas. Restricción RESTRICT en DELETE: Impide borrar si existen claves foráneas dependientes. Borra únicamente los valores NULL de manera silenciosa. Borra todas las filas y además marca una advertencia en el sistema. Ignora cualquier regla de integridad referencial y continúa. Ejemplo práctico: borrar ofertas sin candidatos: DELETE FROM oferta WHERE idOferta NOT IN (SELECT idOferta FROM entrevista). DELETE FROM oferta eliminando todas las filas de la tabla sin filtro alguno. UPDATE oferta SET todos los campos a NULL sin condiciones. SELECT DELETE FROM oferta usando la consulta SELECT para seleccionar filas. DELETE con CASCADE: Borra automáticamente las filas relacionadas en otras tablas. Borra automáticamente las filas relacionadas en otras tablas. Genera un error de ejecución y detiene toda la transacción. Solo borra la fila principal y deja todas las relaciones intactas. DELETE y subconsulta: Permite filtrar registros usando resultados de otra tabla. Solo filtra los registros que tengan valores NULL en la columna clave. Filtra únicamente registros que contengan texto específico sin usar condiciones. No permite utilizar JOIN ni combinaciones de varias tablas. DELETE e integridad referencial: Siempre respeta claves primarias y foráneas. Ignora cualquier clave ajena y elimina filas sin restricciones. Solo respeta las claves primarias dejando las ajenas intactas. Solo funciona si la tabla tiene índices previamente definidos. Resultado de DELETE tras COMMIT: Las filas borradas desaparecen de la base de datos. Se pueden ver temporalmente con SELECT antes de ejecutar el COMMIT. Se quedan en memoria temporal hasta que se reinicie el servidor. Se duplican automáticamente en otra tabla para mantener un respaldo. ¿Qué propiedad ACID asegura que una transacción se ejecute completamente o no se ejecute nada?. Atomicidad. Consistencia. Aislamiento. Durabilidad. ¿Cuál es la propiedad ACID que garantiza que los datos modificados sean permanentes después de un COMMIT?. Durabilidad. Consistencia. Atomicidad. Aislamiento. ¿Qué propiedad ACID asegura que las operaciones concurrentes no interfieran entre sí?. Aislamiento. Durabilidad. Atomicidad. Consistencia. ¿Qué propiedad ACID garantiza que las reglas de integridad no se violen tras una transacción?. Consistencia. Aislamiento. Consistencia y reglas de integridad. Durabilidad. ¿Qué instrucción inicia una transacción explícita en PostgreSQL?. BEGIN. COMMIT. ROLLBACK. SAVEPOINT. ¿Qué instrucción hace permanentes todos los cambios de la transacción y libera recursos?. COMMIT. ROLLBACK. SAVEPOINT. BEGIN. ¿Qué instrucción revierte todos los cambios de la transacción al estado inicial?. ROLLBACK. COMMIT. SAVEPOINT. BEGIN. ¿Para qué sirve SAVEPOINT en una transacción?. Crear un punto al que se puede volver en caso de error. Finalizar la transacción y guardar cambios. Eliminar registros bloqueados. Duplicar la transacción. ¿Qué ocurre si se hace ROLLBACK TO un SAVEPOINT?. Se revierten solo las operaciones posteriores a ese SAVEPOINT. Se revierten todas las operaciones de la transacción. Se finaliza la transacción. Se duplica la última operación. Si AUTOCOMMIT está ON en PostgreSQL, qué sucede?. Cada operación DML se considera una transacción individual que se hace COMMIT automáticamente. Cada operación DML se considera una transacción individual. No se pueden ejecutar INSERT ni UPDATE. ROLLBACK no tiene efecto. Si AUTOCOMMIT está OFF, qué es necesario para finalizar una transacción?. Usar COMMIT o ROLLBACK. Solo ejecutar INSERT. Usar SAVEPOINT. Reiniciar PostgreSQL. En un entorno multiusuario, qué sucede si dos usuarios modifican la misma fila simultáneamente?. El segundo usuario queda bloqueado hasta que el primero finalice su transacción. Ambos pueden modificar sin problemas. Se genera un error automáticamente. La fila se duplica. Qué instrucción libera los recursos de la transacción sin deshacer los cambios?. COMMIT. ROLLBACK. SAVEPOINT. BEGIN. Qué instrucción permite deshacer cambios hasta un SAVEPOINT específico, manteniendo abierta la transacción?. ROLLBACK TO puntoSalvaguarda. COMMIT. ROLLBACK. BEGIN. Qué ocurre si un DELETE intenta eliminar una fila referenciada por otra tabla con RESTRICT?. No se permite borrar la fila. Se borra automáticamente la fila referenciada. Se ignora la restricción. No se permite borrar la fila y se genera un error. Qué sucede si un DELETE tiene subconsulta para excluir registros referenciados?. Se borran solo los registros que no tienen referencias. Se borran todos los registros. Se ignoran las referencias. Se borran solo los registros que no tienen referencias en la subconsulta. En un ejemplo multiusuario, qué ve el usuario 2 si el usuario 1 aún no ha hecho COMMIT?. Los cambios del usuario 1 no son visibles hasta que haga COMMIT. Los cambios del usuario 1 son visibles inmediatamente. Los cambios se mezclan automáticamente. Se bloquea la base de datos. Qué pasa si se hace ROLLBACK después de varias operaciones DML en una transacción?. Se deshacen todos los cambios realizados en la transacción. Se deshacen solo los cambios más recientes. Se hacen permanentes automáticamente. Solo afecta a la última operación. Qué comando permite comprobar qué operaciones serán afectadas antes de un UPDATE o DELETE?. SELECT. SELECT con JOIN es obligatorio para verificar las filas afectadas. COMMIT. ROLLBACK. Qué orden es recomendable ejecutar antes de hacer UPDATE o DELETE masivos?. SELECT para comprobar alcance. BEGIN. SAVEPOINT. COMMIT. |





