option
Cuestiones
ayuda
daypo
buscar.php

Administrador de sistemas gestores de bases de datos 4.1

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Administrador de sistemas gestores de bases de datos 4.1

Descripción:
Grado Superior ASIR

Fecha de Creación: 2020/06/08

Categoría: Informática

Número Preguntas: 26

Valoración:(1)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Las rutinas no son útiles para automatizar las tareas del administrador de sistemas gestores de bases de datos. Verdadero. Falso.

Partiendo del siguiente código: DELIMITER // DROP PROCEDURE IF EXISTS bucle // CREATE PROCEDURE bucle () BEGIN DECLARE y int UNSIGNED; SET y = 0; elbucle: WHILE y < 4 DO SET y = y + 1; SELECT 'Valor de y =' + y AS y; Leave elbucle; END WHILE elbucle; END // DELIMITER; Indica la opción correcta: El bucle mostrará 1 vez el valor de y. El bucle mostrará 3 veces el valor de y. El bucle mostrará 4 veces el valor de y. El bucle mostrará 2 veces el valor de y.

A partir del código: DELIMITER // DROP PROCEDURE IF EXISTS bucle // CREATE PROCEDURE bucle () BEGIN DECLARE y int UNSIGNED; SET y = 0; elbucle: LOOP SET y = y + 1; IF y = 3 THEN Iterate elbucle; END IF; SELECT 'Valor de y =' + y AS y; IF y = 4 THEN Leave elbucle; END IF END LOOP elbucle; END // DELIMITER; Indica la opción correcta: El bucle mostrará las como valor de y: 2,3,4. El bucle mostrará las como valor de y: 1,2,3. El bucle mostrará 4 veces el valor de y. El bucle mostrará 3 veces el valor de y.

La sintaxis de REPEAT es: [Etiqueta:] REPEAT UNTIL condición instrucciones END REPEAT [etiqueta]. Verdadero. Falso.

Dado el siguiente ejemplo: DELIMITER // DROP PROCEDURE IF EXISTS parametro1 // CREATE PROCEDURE parametro1 (IN_OUT p_p1 INTEGER) BEGIN SELECT p_p1; / * Aquí mostraría el valor inicial * / SET p_p1 = 25 END // DELIMITER;. Funciona correctamente. No funciona, está mal declarado el parámetro. No funciona, no se pueden introducir comentarios entre BEGIN y END. Funciona, pero devolverá siempre NULL.

¿Para qué sirve el siguiente código?: CREATE PROCEDURE nombre_procedimento ([parametro1 [...]]) [LANGUAGE SQL] [[NOT] DETERMINISTIC] [{CONTAINER SQL | MODIFIES SQL DATA | READS SQL DATA | NOSQL}] [SQL SECURITY {DEFINER | INVOKER}] [COMMENT comentario] bloque_de_instrucciones_del_procedimiento. Sirve para crear una rutina. Permite ver la información de nuestras rutinas. Permite modificar rutinas. Permite eliminar rutinas.

¿Para qué sirve el siguiente código? SHOW CREATE {PROCEDURE | FUNCTION} sp_name SHOW {PROCEDURE | FUNCTION} STATUS [LIKE patrón]. Sirve para crear una rutina. Permite ver la información de nuestras rutinas. Permite modificar rutinas. Permite eliminar rutinas.

¿Para qué sirve el siguiente código? ALTER PROCEDURE nombre_rutina {CONTAINER SQL | MODIFIES SQL DATA | READS SQL DATA | NOSQL} | SQL SECURITY {DEFINER | INVOKER} | COMMENT comentario. Sirve para crear una rutina. Permite ver la información de nuestras rutinas. Permite modificar rutinas. Permite eliminar rutinas.

¿Para qué sirve el siguiente código? DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name. Sirve para crear una rutina. Permite ver la información de nuestras rutinas. Permite modificar rutinas. Permite eliminar rutinas.

La sintaxis para la gestión de errores es: DECLARE {CONTINUE | EXIT | UNDO} ERROR FOR {SQLSTATE sqlstate_code | MySQL error code | name_condition} instrucciones_del_manejador. Verdadero. Falso.

Si tenemos el siguiente código: 01: DELIMITER // 02: DROP PROCEDURE IF EXISTS bloques // 03: CREATE PROCEDURE bloques () 04: BEGIN 05: DECLARE v INT DEFAULT 400; 06: BEGIN 07: DECLARE v INT; 08: SET V = 100; 09: SELECT V; 10: SET V = V + 100; 11: END 12: SELECT v; 13: SET V = V + 100; 14: END // 15: DELIMITER;. En la línea 12 mostrará 400. En la línea 9 mostrará 200. En la línea 12 mostrará 200. En la línea 9 mostrará 500.

Las rutinas pueden incluirse en otras funciones o procedimientos así como en el interior de sentencias SQL como SELECT, UPDATE, DELETE y INSERT. Verdadero. Falso.

Dado el siguiente código: DELIMITER // DROP PROCEDURE IF EXISTS bucle // CREATE PROCEDURE bucle () BEGIN DECLARE y INT UNSIGNED; SET y = 0; elbucle: LOOP SET y = y + 1; SELECT 'Valor de y =' + y AS y; IF y <= 4 THEN Leave elbucle; END IF END LOOP elbucle; END // DELIMITER ;. El bucle se repetirá 1 vez. El bucle se repetirá 3 veces. El bucle se repetirá 5 veces. El bucle se repetirá 4 veces.

Ordene la frase correctamente: Un [ ] es un [ ] que [ ] cuando se verifica una condición tras una [ ] generada por el [ ]. [servidor] [handler] [bloque_de_instrucciones_SQL] [se_ejecuta] [excepción].

Teniendo en cuenta la sintaxis general de rutina, relaciona: Indica si las sentencias modifican o no los dato. Especifica si contiene sentencias SQL o no. Determina si debe ejecutarse con permisos del creador (definer) o quien invoca (invoker). Indica si es determinista o no, es decir, si siempre produce el mismo resultado.

Relaciona los comandos con su descripción: Si queremos ver si el procedimiento existe podemos utiliza. Si queremos cargar la rutina, tendremos que hacer. Una vez tenemos la rutina cargada, la ejecutaremos así.

Si tenemos el siguiente código: DELIMITER // DROP PROCEDURE IF EXISTS bucle // CREATE PROCEDURE bucle () BEGIN DECLARE i TINYINT UNSIGNED; SET i = 0; elbucle: REPEAT SET i = i + 1; SELECT 'Valor de i =' + i AS i; UNTIL i < 4 END REPEAT elbucle; END // DELIMITADOR. El bucle se repetirá 2 veces. El bucle se repetirá 1 vez. El bucle se repetirá 3 veces. El bucle se repetirá 4 veces.

La sintaxis de la condición IF es: IF condición1 THEN instrucciones [ELSE instrucciones] [ELSEIF condición2 THEN instrucciones ....] END IF;. Verdadero. Falso.

Relaciona los manejadores de errores con su significado: Permite poner fin al bloque de instrucciones o programa donde se genera la excepción o error. Es un manejador reconocido pero que no está soportado. La excepción o error no interrumpe el código del procedimiento.

La sintaxis de la condición CASE es: CASE expresión WHEN valor1 THEN instrucciones [ELSE instrucciones] [WHEN valor2 THEN instrucciones ...] [ELSE instrucciones] END CASE;. Verdadero. Falso.

A partir del siguiente código, relaciona: 01: DELIMITER // 02: 03: DROP PROCEDURE IF EXISTS cursor // 04: CREATE PROCEDURE cursor () 05: BEGIN 06: DECLARE v_id INT; 07: DECLARE v_alumno VARCHAR (30) 08: DECLARE c_alumnos CURSOR FOR 09: SELECT id, alumno / * SELECT * * / 10: FROM alumnos 11: WHERE id <= 2; / * - solo las 2 primeras filas * / 12: OPEN c_alumnes 13: alumnes_cursor: LOOP 14: FETCH c_alumnes INTO v_id, v_alumne; 15: / * aquí va el tratamiento recuperado de los datos * / 16: / * solo las visualizamos de momento * / 17: SELECT v_id, v_alumne; 18: END LOOP alumnes_cursor; 19: CLOSE c_alumnes; 20: 21: END // 22: 23: DELIMITER ;. ¿Qué pasa en la línea 14?. ¿Qué pasa entre la línea 8 y 11?. ¿Dónde se cierra el cursor?. ¿Dónde se produce la apertura del cursor?.

Si tenemos el siguiente código: 01: DELIMITER // 02: DROP PROCEDURE IF EXISTS bloques // 03: CREATE PROCEDURE bloques () 04: BEGIN 05: DECLARE v INT DEFAULT 400; 06: BEGIN 07: DECLARE v INT; 08: SET V = 100; 09: SELECT V; 10: SET V = V + 100; 11: END 12: SELECT v; 13: SET V = V + 100; 14: END // 15: DELIMITER; ¿En qué línea el SELECT nos mostrará 400?. En la línea 12. En la línea 9. En la línea 13. En ninguna.

Relaciona cada condición con nombre predefinida de MySQL con su subconjunto: Subconjunto de códigos SQLSTATE, representando los códigos que empiezan por 02. Subconjunto de códigos SQLSTATE, representando los códigos que empiezan por 01. Subconjunto de códigos SQLSTATE, representando los códigos que no empiezan por 01 o 02.

Teniendo en cuenta la sintaxis general de rutina, CREATE PROCEDURE sp_name ([parameter [...]]) (Characteristlc ...] routine_body CREATE FUNCTION sp_name ([parameter [, ...]]) RETURNS type [Characteristic ...] routine_body parameter: [IN | OUT | INOUT] param_name type type: Any valid MySQL data type Características: LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } Relaciona los opciones con su significado: Nombre de la rutina almacenada. Indica si siempre produce el mismo resultado o no. Cuerpo de la rutina formado generalmente por sentencias SQL. Parámetros que en general se caracterizan por un tipo y un nombre.

¿Es correcta esta sintaxis general en rutinas? CREATE PROCEDURE sp_name ([parameter [ , ...]]) (characteristlc ... ] routine_body CREATE FUNCTION sp_name ( [parameter[ , .. . ]]) RETURNS type [characteristic ... ] routine_body parameter : [ IN | OUT | INOUT ] param_name type type: Any valid MySQL data type characteristic: LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER }. Verdadero. Falso.

Si tenemos el siguiente código: DELIMITER // DROP PROCEDURE IF EXISTS condicional // CREATE PROCEDURE condicional(IN v_forma_pago VARCHAR(30)) // BEGIN CASE v_forma_pago WHEN 'metal' THEN SELECT 'Forma de pago: metálico'; WHEN 'tarjeta' THEN SELECT 'Forma de pago: tarjeta'; ELSE SELECT 'Forma de pago: transferencia'; END CASE; END // DELIMITER ; Indica la opción incorrecta: Para v_forma_pago = 'transferencia' mostrará 'Forma de pago: transferencia'. Para v_forma_pago = 'Bitcoin' mostrará 'Forma de pago: transferencia'. Para v_forma_pago = 'metálico' mostrará 'Forma de pago: metálico'. Para v_forma_pago = 'tarjeta' mostrará 'Forma de pago: tarjeta'.

Denunciar Test