option
Cuestiones
ayuda
daypo
buscar.php

Ilerna BBDD B

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Ilerna BBDD B

Descripción:
Toda UF3 por orden

Fecha de Creación: 2024/01/03

Categoría: Informática

Número Preguntas: 52

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

¿Cuál de las siguientes afirmaciones sobre los roles en una base de datos es cierta?. Los roles son exclusivos de MySQL y no se utilizan en Oracle. Los roles permiten asignar permisos a nivel de columna. Los roles son conjuntos de privilegios que se pueden asignar a usuarios. Los roles simplifican la administración de usuarios, pero no pueden contener privilegios.

Los roles en la administración de bases de datos solo pueden contener un tipo de permiso. Verdadero. Falso.

¿Cuál de las siguientes opciones describe correctamente la administración de usuarios en una base de datos Oracle?. Los usuarios se crean utilizando la sentencia CREATE DATABASE USER. Los usuarios no pueden ser eliminados una vez creados. Los usuarios principales no requieren contraseñas. La gestión de usuarios se realiza mediante el comando CREATE USER.

¿Cuál es el propósito de los perfiles de usuario en una base de datos?. Establecer restricciones y límites para el uso de la base de datos por parte de un usuario. Asignar roles a los usuarios. Controlar el acceso a la base de datos en función de la dirección IP del usuario. Definir el nombre de usuario y la contraseña.

La administración de usuarios en bases de datos nunca requiere el uso de contraseñas para las conexiones. Verdadero. Falso.

Completa los siguientes huecos para dar permisos de selección y actualización de un usuario a campos de una tabla: GRANT SELECT, (1) (nombreCliente, Telefono) (2) Jardineria.Clientes (3) ANTONIO;. (2). (3). (1).

¿Cuál es la diferencia principal entre los privilegios SYSDBA y SYSOPER en Oracle?. SYSDBA permite visualizar datos, mientras que SYSOPER no lo permite. SYSDBA solo puede realizar tareas operativas básicas, mientras que SYSOPER tiene control total sobre la base de datos. SYSDBA tiene un control total sobre la base de datos, mientras que SYSOPER permite realizar tareas operativas básicas sin poder visualizar los datos. SYSDBA y SYSOPER son equivalentes y pueden usarse indistintamente.

En un sistema de gestión de cuentas de usuario, una cuenta está en el estado "EXPIRED GRACE". El administrador del sistema ha otorgado un período de gracia de 7 días. Si el usuario no cambia su contraseña durante este período, ¿en qué estado se encontrará la cuenta después de esos 7 días?. OPEN (abierta). EXPIRED (expirada). LOCKED (bloqueada). EXPIRED & LOCKED (expirada y bloqueada).

¿Cuáles de las siguientes acciones pueden ser realizadas por un usuario con privilegios de solo lectura en una base de datos?. Puede acceder a datos de las vistas. Crear nuevas tablas en la base de datos. Eliminar registros de las tablas existentes. Realizar consultas SELECT en las tablas. Otorgar privilegios a otros usuarios. Realizar copias de seguridad de la base de datos.

¿Cuál de las siguientes acciones es un ejemplo de una medida de seguridad en la configuración de bases de datos?. Limitar el acceso a roles específicos de usuario. Desactivar completamente las medidas de seguridad. Proporcionar acceso de administrador a todos los usuarios. Compartir contraseñas en correos electrónicos no encriptados.

¿Cuál de las siguientes afirmaciones es cierta acerca de los privilegios en una base de datos?. Los privilegios son irrelevantes para la seguridad de la base de datos. Los privilegios permiten a los usuarios realizar acciones específicas en objetos de la base de datos. Los privilegios solo se pueden asignar de manera explícita, no a través de roles. Los privilegios solo se aplican a los administradores de la base de datos.

Los roles y perfiles en una base de datos son conceptos equivalentes y pueden usarse indistintamente. Verdadero. Falso.

Los perfiles en una base de datos se utilizan principalmente para controlar el uso de recursos del sistema, como la CPU y el espacio en disco. Verdadero. Falso.

En Oracle, la cuenta de usuario "SYSTEM" no tiene privilegios administrativos y solo contiene tablas y vistas administrativas predefinidas. Verdadero. Falso.

Oracle tiene una serie de roles predefinidos para ayudar a la administración de las BBDD. Relaciona los roles predefinidos con sus características: Incluye “CREATE CLUSTER”, “CREATE INDEXTYPE”, “CREATE OPERATOR”, “CREATE PROCEDURE”, “CREATE SEQUENCE”, “CREATE TABLE”, “CREATE TIGGER” y “CREATE TYPE”. Incluye únicamente el privilegio “CREATE SESSION” (que permite conectar a la base de datos). Incluye todos los privilegios del sistema mediante la opción “WITH ADMIN OPTION”.

En plsql Se requiere realizar un código que haga lo siguiente: Crear un usuario "profesor_m2" con la contraseña "p1234 Asignar privilegio de selección de datos a una viasta llamada "v_notas_m2", al usuario "profesor_m2" Crear un rol llamado "rol_profesor" Asignarle al rol los privilegios de create session y de selección a las tabla alumnos Asignar el rol al usuario profesor Eliminar el privilegio de seleccionar a la tabla alumnos Rellena los espacios en blanco con la palabra exacta del siguiente código, de tal forma que el código realice correctamente los pasos anteriores: CREATE 1 profesor_m2 2 BY p1234; GRANT SELECT ON v_notas_m2 3 profesor_m2; CREATE 4 rol_profesor; GRANT CREATE 5 TO rol_profesor; GRANT 6 ON alumnos TO rol_profesor; 7 rol_profesor TO profesor_m2; 8 SELECT ON alumnos FROM rol_profesor;. 1. 2. 3. 4. 5. 6. 7. 8.

¿Cuál es uno de los beneficios clave de utilizar vistas personalizadas en una base de datos?. Las vistas personalizadas mejoran la seguridad de la base de datos al ocultar todas las tablas subyacentes. Las vistas personalizadas permiten almacenar datos de manera eficiente y reducen la necesidad de tablas físicas. Las vistas personalizadas aceleran las consultas al evitar la necesidad de escribir consultas SQL complejas. Las vistas personalizadas facilitan la eliminación de registros duplicados de las tablas subyacentes.

Cuál de las siguientes afirmaciones sobre las vistas personalizadas en bases de datos es correcta?. Las vistas personalizadas son objetos virtuales que muestran datos de una o varias tablas, pero no almacenan datos por sí mismas. Las vistas personalizadas son siempre físicas y almacenan datos en una tabla. Las vistas personalizadas son similares a las tablas, pero no permiten operaciones de consulta. Las vistas personalizadas se utilizan para eliminar datos de las tablas subyacentes.

Las vistas personalizadas almacenan físicamente los datos en una tabla separada. Verdadero. Falso.

Las vistas personalizadas aceleran las consultas al evitar la necesidad de escribir consultas SQL complejas. Verdadero. Falso.

Los roles en Oracle pueden tener un nombre no único en la base de datos. Verdadero. Falso.

En Oracle, un rol puede tener privilegios específicos y también heredar todos los privilegios de otro rol al que esté asignado. Verdadero. Falso.

Los bloques anónimos en PL/SQL son fragmentos de código que se almacenan en la estructura de la BD y para ejecutarlo solo es necesario introducirlos en la consola como si se tratase de SQL. Verdadero. Falso.

Relaciona cada concepto con su definición de valores de entrada/salida: Es una forma de pasar valores a un subprograma (como una función o procedimiento) en PL/SQL. Cuando un subprograma se ejecuta con éxito, puede devolver valores al proceso que lo llamó utilizando este tipo de variables. Puedes pasar un valor al subprograma como dato de entrada, y el subprograma también puede modificar ese valor y devolverlo como dato de salida.

Si estás ejecutando código en la consola o SQL Developer y deseas que un bloque de código se ejecute, debes incluir el símbolo "/" al final de ese bloque. Sin el "/", la consola o SQL Developer esperará más líneas de código antes de ejecutar nada. Verdadero. Falso.

Relaciona cada característica con su definición respecto de los tipos de datos: Los tipos de datos que nos podemos encontrar a la hora de trabajar con las bases de datos y automatizar tareas, son muy variados y nos permiten definir nuestras variables. Almacena cadenas de caracteres de longitud variable, tamaño máximo 2 Gb. Dirección física de una fila de la BDD. Almacena objetos binarios. Almacena “TRUE”, “FALSE” o “NULL”. Almacena objetos binarios de hasta 2 Gb.

En PL/SQL, la modularidad se logra dividiendo un problema complejo en problemas más simples mediante el uso de procedimientos y funciones. Verdadero. Falso.

¿Cuál de las siguientes partes es requerida como obligatoria en un bloque de PL/SQL?. Parte de declaraciones. Parte ejecutable. Parte de tratamiento de excepciones. Todas las anteriores.

La estructura WHILE en PL/SQL permite repetir un conjunto de instrucciones un número concreto de veces sin tener en cuenta ninguna condición. Verdadero. Falso.

¿Cuál de las siguientes estructuras de control se utiliza en condicionales, para ejecutar un conjunto de instrucciones dependiendo de si se cumple una condición?. Estructura repetitiva básica. Sentencia CASE. Estructura WHILE. Todas las anteriores.

Completa el siguiente código con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Suma de Números Pares Bloque que calcula la suma de los números pares del 1 al 10 utilizando un bucle FOR y muestra el resultado por pantalla. DECLARE suma NUMBER := 0; -- Inicializa una variable para almacenar la suma BEGIN FOR i IN 1..10 (1) -- Itera del 1 al 10 IF i MOD 2 = 0 (2) -- Verifica si el número es par usando el operador MOD suma (3) suma + i; -- Si es par, suma el número a la variable suma END IF; (4) LOOP; ( ) ('La suma de los números pares del 1 al 10 es: ' || suma); -- Muestra el resultado END; /. (1). (2). (3). (4). (5).

La estructura FOR en PL/SQL solo se puede usar cuando conocemos de antemano el número de repeticiones que queremos realizar. Verdadero. Falso.

Completa el siguiente código con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Contador de Números Primos Bloque que cuenta y muestra por pantalla la cantidad de números primos en un rango específico (del 1 al 20). DECLARE contador NUMBER := 0; -- Inicializa un contador es_primo BOOLEAN; -- Variable para verificar si un número es primo (1) FOR num (2) 1..20 LOOP -- Itera del 1 al 20 es_primo := TRUE; -- Suponemos que el número es primo hasta que se demuestre lo contrario IF num <= 1 THEN -- 1 y números negativos no son primos es_primo := FALSE; ELSE (3) divisor IN 2..TRUNC(SQRT(num)) LOOP -- Itera para verificar si el número es divisible por otros números IF num MOD divisor = 0 THEN -- Si es divisible, no es primo es_primo := (4); EXIT; -- Sal del bucle interno END IF; (5) LOOP; END IF; IF es_primo THEN -- Si sigue siendo primo, aumenta el contador contador (6) contador + 1; END IF; END LOOP; DBMS_OUTPUT.PUT_LINE('La cantidad de números primos del 1 al 20 es: ' || contador); -- Muestra el resultado END; /. (1). (2). (3). (4). (5). (6).

¿Cuál es el propósito de la sentencia SET SERVEROUTPUT ON en Oracle Database?. Habilitar la ejecución de bloques PL/SQL. Desactivar la visualización de mensajes en la consola. Activar la visualización de mensajes en la consola. Definir variables de entorno en la base de datos.

Las funciones en PL/SQL no pueden tener parámetros de entrada. Verdadero. Falso.

¿Qué se utiliza en la declaración de un procedimiento o función para indicar que un parámetro es de entrada y no se modificará en el procedimiento?. IN. IN OUT. IS. OUT.

En la especificación de un procedimiento o función (antes de poner IS o AS) se definen las variables locales a utilizar en el cuerpo del subprograma. Verdadero. Falso.

¿Cuál es la principal diferencia entre un procedimiento y una función en PL/SQL?. Los procedimientos pueden dar o no un valor de salida, mientras que las funciones siempre devuelven un valo. Los procedimientos pueden tener parámetros, mientras que las funciones no. Los procedimientos no pueden contener sentencias SQL, mientras que las funciones sí. Los procedimientos no pueden ser reutilizados, mientras que las funciones sí.

Enunciado 1. Supongamos que tenemos dos tablas relacionadas: una tabla llamada empleados que almacena información sobre los empleados de una empresa y otra tabla llamada salarios que almacena información sobre los salarios de los empleados. A continuación, se muestra cómo se crean estas tablas: -- Creación de la tabla 'empleados' CREATE TABLE empleados ( empleado_id NUMBER PRIMARY KEY, nombre VARCHAR2(50), apellido VARCHAR2(50), departamento VARCHAR2(50) ); -- Creación de la tabla 'salarios' CREATE TABLE salarios ( salario_id NUMBER PRIMARY KEY, empleado_id NUMBER, salario_anual NUMBER, FOREIGN KEY (empleado_id) REFERENCES empleados(empleado_id) ); Sobre el Enunciado 1 Completa el siguiente código de un procedimiento con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Procedimiento que toma un ID de empleado como parámetro de entrada y muestra el nombre y el apellido del empleado correspondiente. CREATE OR REPLACE (1) obtener_nombre_apellido( empleado_id_param (2) NUMBER ) AS v_nombre empleados.nombre%TYPE; v_apellido empleados.apellido%TYPE; (3) SELECT nombre, apellido INTO v_nombre, v_apellido FROM empleados (4) empleado_id = empleado_id_param; DBMS_OUTPUT.PUT_LINE('Nombre: ' || v_nombre); DBMS_OUTPUT.PUT_LINE('Apellido: ' || (5)); END obtener_nombre_apellido; /. (1). (2). (3). (4). (5).

Sobre el Enunciado 1 Completa el siguiente código de una función con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Función que toma un ID de empleado como parámetro de entrada y calcula y devuelve el salario mensual promedio del empleado correspondiente. CREATE OR REPLACE FUNCTION calcular_salario_promedio_mensual( empleado_id_param IN NUMBER ) RETURN NUMBER IS v_salario_anual salarios.salario_anual%TYPE; v_salario_mensual NUMBER; BEGIN SELECT salario_anual INTO v_salario_anual FROM salarios WHERE empleado_id = empleado_id_param; v_salario_mensual := v_salario_anual / 12; RETURN v_salario_mensual; END calcular_salario_promedio_mensual; /. (1). (2). (3). (4). (5).

Siempre se debe declarar una excepción no-predefinida antes de usarla. Verdadero. Falso.

¿Qué excepción se produce si una sentencia SELECT devuelve más de una fila en una operación que espera un único registro?. ZERO_DIVIDE. TOO_MANY_ROWS. TWO_MORE_ROWS. NO_DATA_FOUND.

Los cursores implícitos necesitan ser declarados antes de ser utilizados. Verdadero. Falso.

¿Qué tipo de cursor se utiliza para operaciones SELECT INTO que devuelven un único registro?. Implícito. Explícito. No se utiliza cursor. Declarado.

Completa el siguiente código con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Excepciones: Bloque PL/SQL que intente dividir dos números. Si el denominador es cero, capture la excepción y muestre un mensaje personalizado. (1) num1 NUMBER := 10; num2 NUMBER := 0; result NUMBER; BEGIN (2) := num1 / num2; EXCEPTION WHEN (3) THEN DBMS_OUTPUT.PUT_LINE('Error: División por cero.'); END; /. (1). (2). (3).

Completa el siguiente código con las palabras clave: Consejo: Ejecuta tu código resultante para verificar que tienes las respuestas correctas Tenemos la estructura de la tabla employees que contiene la información de los empleados: CREATE TABLE employees ( employee_id NUMBER(6) PRIMARY KEY, employee_name VARCHAR2(50), hire_date DATE, job_title VARCHAR2(50), manager_id NUMBER(6), salary NUMBER(8, 2), department_id NUMBER(4) ); Cursor explícito: Bloque PL/SQL que utilice un cursor explícito para recuperar y mostrar todos los nombres de los empleados DECLARE CURSOR c_emp IS SELECT employee_name (1) employees; v_emp_name employees.employee_name%TYPE; BEGIN (2) c_emp; LOOP (3) c_emp INTO v_emp_name; EXIT WHEN c_emp%(4); DBMS_OUTPUT.PUT_LINE('Nombre del empleado: ' || v_emp_name); END LOOP; CLOSE (5); END; /. (1). (2). (3). (4). (5).

Los triggers pueden contener llamadas a funciones o procedimientos almacenados. Verdadero. Falso.

¿Qué tipo de trigger se ejecuta antes de que se realice la operación de la base de datos?. AFTER. DURING. BEFORE. INSTEAD OF.

En un sistema de gestión de ventas, tienes las tablas ventas y vendedores. Implementaste un trigger que automáticamente calcula y actualiza el total de ventas de un vendedor en la tabla vendedores cada vez que se registra una nueva venta en la tabla ventas. Para hacer esto, el trigger se activa después de cada inserción en la tabla ventas y suma todos los montos de las ventas del vendedor correspondiente en la tabla ventas, actualizando el total en la tabla vendedores. Dado este escenario y el trigger, CREATE OR REPLACE TRIGGER trg_recalcular_ventas AFTER INSERT ON ventas FOR EACH ROW DECLARE v_total DECIMAL(10, 2); BEGIN SELECT SUM(monto) INTO v_total FROM ventas WHERE vendedor_id = :NEW.vendedor_id; UPDATE vendedores SET total_ventas = v_total WHERE vendedor_id = :NEW.vendedor_id; END; / ¿es cierto que este enfoque es el más eficiente para mantener actualizado el total de ventas de cada vendedor?. Verdadero. Falso.

Estás desarrollando un sistema de gestión de inventario y decides usar un trigger para mantener un registro de las veces que un producto ha sido actualizado en la base de datos y poder rastrear las actualizaciones de productos. ¿Cuál de las siguientes opciones sería la mejor manera de implementar este trigger?. Crear un trigger AFTER UPDATE que incremente un contador cada vez que un producto es actualizado. Crear un trigger BEFORE UPDATE que almacene una copia del producto en una tabla de historial antes de que se realice cualquier cambio. Crear un trigger AFTER INSERT que incremente un contador cada vez que se añade un nuevo producto. Crear un trigger BEFORE DELETE que almacene una copia del producto en una tabla de historial antes de eliminarlo.

Completa el siguiente código con las palabras adecuadas: Tenemos la tabla "products" y queremos un trigger que actualice la fecha de última modificación de cada registro que se ha modificado en la tabla "products". CREATE TABLE products ( product_id NUMBER PRIMARY KEY, product_name VARCHAR2(50), price NUMBER, last_modified DATE ); CREATE OR REPLACE (1) update_last_modified (2) UPDATE (3) products FOR (4) ROW BEGIN (5).last_modified := SYSDATE; END; /. (1). (2). (3). (4). (5).

Completa el siguiente código con las palabras adecuadas: Crea un trigger que se ejecute antes de intentar eliminar un productos, si el producto tiene un precio mayor a 1000, no permita la eliminación y muestre un mensaje de error. Si el producto tiene un precio de 1000 o menos, entonces se guardará el backup antes de eliminarlo en "products_backup" que tiene los mismos campos que la tabla "products" CREATE TABLE products_backup( product_id NUMBER PRIMARY KEY, product_name VARCHAR2(50), price NUMBER, last_modified DATE ); CREATE OR REPLACE TRIGGER backup_deleted_product BEFORE (1) ON products FOR EACH (2) BEGIN -- Si el producto tiene un precio mayor a 1000, no permitimos la eliminación IF (3).price (4) 1000 THEN RAISE_APPLICATION_ERROR(-20001, 'No se permite eliminar productos con un precio mayor a 1000.'); (5) -- Si el producto tiene un precio de 1000 o menos, guardamos el backup -- Insertamos el registro en la tabla de respaldo (6) INTO products_backup (7)(:OLD.product_id,:OLD.product_name,:OLD.price, :OLD.last_modified); END IF; END; /. (1). (2). (3). (4). (5). (6). (7).

Denunciar Test