option
Cuestiones
ayuda
daypo
buscar.php

BBDD_B_UF3(Codigo)

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
BBDD_B_UF3(Codigo)

Descripción:
BBDD_B_UF3(Codigo)

Fecha de Creación: 2024/01/22

Categoría: Otros

Número Preguntas: 50

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

GRANT SELECT, ___1___ (nombreCliente, Telefono) __2__ Jardineria.Clientes __3__ ANTONIO;. 1. 2. 3.

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.

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.

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 objetos binarios de hasta 2 Gb. Dirección física de una fila de la BDD. Almacena objetos binarios. lmacena “TRUE”, “FALSE” o “NULL”. Almacena cadenas de caracteres de longitud variable, tamaño máximo 2 Gb.

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 __4__ IF; END LOOP; __5__ ('La suma de los números pares del 1 al 10 es: ' || suma); -- Muestra el resultado END; /. 1. 2. 3. 4. 5.

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.

Basado en las tablas de la Imagen. 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.

Basado en las tablas de la Imagen. Procedimiento que toma un ID de empleado como parámetro de entrada y muestra el nombre y el apellido del empleado correspondiente. 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 __1__ FUNCTION calcular_salario_promedio_mensual( empleado_id_param IN NUMBER ) __2__ NUMBER IS v_salario_anual salarios.salario_anual%TYPE; v_salario_mensual NUMBER; BEGIN SELECT salario_anual __3__ v_salario_anual FROM salarios WHERE empleado_id = empleado_id_param; v_salario_mensual __4__ v_salario_anual / 12; RETURN ___5____ l; END calcular_salario_promedio_mensual; /. 1. 2. 3. 4. 5.

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.

En la imagen tenemos la estructura de la tabla employees que contiene la información de los empleados: 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.

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.

stá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 INSERT que incremente un contador cada vez que se añade un nuevo producto. 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 BEFORE DELETE que almacene una copia del producto en una tabla de historial antes de eliminarlo. Crear un trigger AFTER UPDATE que incremente un contador cada vez que un producto es actualizado.

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 OR REPLACE __1__update_last_modified ___2___ UPDATE __3__ products FOR __4 ROW BEGIN __5__ .last_modified := SYSDATE; END; /. 1. 2. 3. 4. 5.

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 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.

DECLARE departamento DEPT.DEPT_NO%Type nombreVar DEPT.DNOMBREBRE%Type ciudadVar DEPT.LUGAR%Type ____1____ ; BEGIN departamento := &Numero_Departamento; SELECT DNOMBREBRE INTO nombreVar FROM DEPT WHERE DEPT_NO = ___2____ ; DBMS_OUTPUT.PUT_LINE('El departamento es ' || nombreVar); - se imprime en pantalla SELECT LUGAR INTO ciudadVAR FROM DEPT WHERE DEPT_NO = departamento _____3____ ('La ciudad actual es: ' || ciudadVar); - se imprime en pantalla ciudadVar := '&Nombre_ciudad'; UPDATE ____4___ SET DEPT.LUGAR = ciudadVar WHERE DEPT_NO = departamento; SELECT LUGAR INTO NUEVAciudadVar FROM DEPT WHERE DEPT_NO = departamento; DBMS_OUTPUT.PUT_LINE('La ciudad nueva es: ' || ___5___); END;. 1. 2. 3. 4. 5.

CREATE OR REPLACE ___1___ suma_hasta ((___2___ INT) RETURN INTEGER /* Devuelve la suma de los primeros N enteros*/ IS i INT; accum NUMBER; BEGIN i := 1; accum := __3__ ; WHILE i <= Nlim __4__ accum := accum + i ; i := i + 1; END LOOP; RETURN __5__ ; END;. 1. 2. 3. 4. 5.

¿Cual de las siguientes consultas es correcta?. GRANT ALL PRIVILEGES TO ilerna;. GRANT ALL PRIVILEGIS TO ilerna;. GRANT ALL TO ilerna. Ninguna de las anteriores es correcta.

¿Cual de las siguientes consultas es correcta?. USER ilerna ANTER DEFAULT TABLESPACE test. ALTER USER ilerna DEFAULT TABLESPACE test. ALTER ilerna DEFAULT test. Ninguna de las anteriores es correcta.

Rellena el recuadro 3. RETURN. SET. STORE. Ninguna es correcta.

¿Cual de las siguientes consultas es correcta?. GRANT SELECT TO Miguel. GRANT SELECT ON Alumnos TO Miguel. GRANT Alumnos TO Miguel. Ninguna es correcta.

CREATE OR REPLACE TRIGGER auditaemple BEFORE UPDATE OF salario ON emp FOR EACH ROW WHEN (:NEW salario > :OLD salario *1.1) BEGIN INSERT INTO auditaemple VALUES (( SELECT COUNT (*) FROM auditaemple), "El salario del empleado || :OLD.emp_no || ' antes era de ' ||:OLD.salario || ' y ahora sera de ' || :NEW.salario,sysdate); END;. No inserta datos en la tabla. inserta datos en la tabla. Actualiza y elimina datos en una tabla. Ninguna es correcta.

Rellena el hueco 5. IF. iterador. LOOP. Ninguna es correcta.

CREATE __1__ OPERATOR LIMIT SESSION _PER_USER 5 CPU_PER __2__ UNLIMITED IDLE_TIME 10 __3__TIME 120; Rellena el numero 3. USER. SESSION. CONNECT. Ninguna es correcta.

¿Cual de las siguientes consultas es correcta=. ALTER ejercicios SIZE 50M. ALTER TABLESPACE ejercicios SIZE 100M. ALTER DATABASE DATAFILE ' /oracleexe/app/oracle/oradate/XE/test01.dbf ' SIZE 100M. Ninguna es correcta.

CREATE OR REPLACE TYPE tipo_persona AS OBJECT ( id NUMBER, nombre VARCHAR2(20), telefonos listado) NOT FINAL; / Al final de la sentencia encontramos la clausula NOT FINAL, ¿Que significa?. Indica que se pueden generar mas tipos de objetos a partir de este. Indica que no puede ser utilizada hasta la ultima sentencia. Esa misma clase puede ser modificada ya que no es estatica. Ninguna es correcta.

CREATE ___1___ Manuel IDENTIFIED __2__ ManuPsw QUOTA UNLIMITED ON users __3___ OPERATOR Rellena 1. MEMBER. PROCEDURE. USER. Ninguna es correcta.

Rellena el cuadro superior. WHEN. ELSE. OR. Ninguna es correcta.

__1__ SELECT,INSERT,DELETE,UPDATE ___2__ atp.jugadores ___3___ francisco@localhost __4__ MAX QUERIES_PER_HOUR 20 MAX UPDATE_PER_HOUR 20 Rellena 2. TO. FROM. ON. Ninguna es correcta.

CREATE OR REPLACE TRIGGER auditaemple BEFORE UPDATE OF salario ON emp FOR EACH ROW WHEN (:NEW salario > :OLD salario *1.1) BEGIN INSERT INTO auditaemple VALUES (( SELECT COUNT (*) FROM auditaemple), "El salario del empleado || :OLD.emp_no || ' antes era de ' ||:OLD.salario || ' y ahora sera de ' || :NEW.salario,Sysdate); END; ¿Que valor nos devuelve la palabra reservada Sysdate?. La fecha actual. La hora actual. La fecha actual del sistema. Ninguna es correcta.

Rellena el cuadro de arriba. PROCEDURE. FUNCTION. TYPE. Ninguna es correcta.

¿Cual de las siguientes consultas es correcta?. DROP TABLESPACE ejercicios;. DEL TABLESPACE ejercicios;. DELETE TABLESPACE ejercicios;. Ninguna es correcta.

Rellena el primer cuadro. FUNCTION. OBJECT. PROCEDURE. Ninguna es correcta.

Rellema el segundo cuadro. VARCHAR. NUMBER. BINARY. Ninguna es correcta.

Rellena el hueco 3. varApellido. iterador. emp.apellido. Ninguna es correcta.

¿Cual de las siguientes opciones es correcta como llamada a un objeto?. Trabajador := NEW Persona(1,'Alberto','22/12/1989');. Trabajador = NEW Persona(1,'Alberto','22/12/1989');. Trabajador = Persona(1,'Alberto','22/12/1989');. Ninguna es correcta.

Indica por que este codigo da error. Falta definir un objeto. Falta definir la foreign key. la tabla ya existe. Ninguna es correcta.

CREATE ___1___ Manuel IDENTIFIED __2__ ManuPsw QUOTA UNLIMITED ON users __3___ OPERATOR Rellena 2. TO. WITH. BY. Ninguna es correcta.

Rellena el segundo cuadro. WHEN. ELSE. OR. Ninguna es correcta.

¿Que variable saca el PROCEDURE duplica?. num1. num0. Ambas son correctas. Ninguna es correcta.

Rellena el hueco 1. PROCEDURE. VIEW. FUNCTION. Ninguna es correcta.

¿Cual de las siguientes es correcta?. ALTER USER ilerna ACCOUNT UNLOCK;. ALTER ilerna ACCOUNT UNLOCK. ALTER USER ACCOUNT UNLOCK. Ninguna es correcta.

Que añadiriamos al comando CREATE TABLE si nos salta un error como que ya existe dicha tabla?. REPLACE (CREATE OR REPLACE TABLE). UPDATE(CREATE OR REPLACE TABLE). INSERT(CREATE OR REPLACE TABLE). DELETE(CREATE OR REPLACE TABLE).

Rellena el 3 cuadro. THEN. WHERE. WHEN. Ninguna es correcta.

Rellena el cuadro. DEREF. DREF. REF. Ninguna es correcta.

¿Que fallo en este codigo?. Error en linea 3 de PROCEDURE duplica. Mal declarado el segundo PROCEDURE. El primer PROCEDURE no se ejecuta bien antes de que empiece el segundo. Ninguna es correcta.

Rellena el primer cuadro. RENAME. REPLACE. RETURN. Ninguna es correcta.

¿Cual de las siguientes consultas es correcta. GRANT SESSION TO marta;. GRANT ALL TO ilerna;. GRANT CREATE SESSION,DROP ANY TABLE TO marta;. Ninguna es correcta.

FROM. UNDER. WITH. REFERENCE.

CREATE OR REPLACE TRIGGER auditaemple BEFORE UPDATE OF salario ON emp FOR EACH ROW WHEN (:NEW salario > :OLD salario *1.1) BEGIN INSERT INTO auditaemple VALUES (( SELECT COUNT (*) FROM auditaemple), "El salario del empleado || :OLD.emp_no || ' antes era de ' ||:OLD.salario || ' y ahora sera de ' || :NEW.salario,Sysdate); END; Si la instruccion de actualizcion realiza un incremento del salario superior al 10% ¿que accion realiza el disparador?. Actualiza y elimina datos en una tabla. Inserta datos en una tabla. No inserta datos en una tabla. Ninguna es correcta.

Denunciar Test