option
Cuestiones
ayuda
daypo
buscar.php

BBDD2 Todo UF3

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
BBDD2 Todo UF3

Descripción:
Todas las pacs de la bbdd2 del 2021 de la UF3

Fecha de Creación: 2021/04/26

Categoría: Otros

Número Preguntas: 41

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

Las bases de datos, nos permiten crear distintos usuarios y otorgarles privilegios. Los permisos que asignemos a cada usuario, se corresponderán con las tareas que tengan que realizar en la BBDD del aplicativo. Es importante gestionar bien los usuarios y sus permisos para aplicar una base de seguridad en nuestro aplicativo, aunque esta se gestione por diferentes partes del aplicativo, la parte de almacenamiento de los datos es fundamental! De las siguientes opciones que se muestran en el ejercicio, selecciona la cláusula que te permite crear un usuario. CREATE USER. SHOW USER. IDENTIFIED BY USER. GRANT USER.

Ordena esta sentencia de código que nos permite dar privilegios a un usuario: GRANT. (NombrePersona, tlf, CP). SELECT. ON. juanma@localhostClientes. TO. clientes.

Completa los siguientes huecos para la creación de un usuario: CREATE ________ Manuel IDENTIFIED ________ ManuPsw QUOTA UNLIMITED ON users ________ OPERADOR;. user - by - profile. by - user - profile. session - by - profile. session - user - return.

Además de crear distintos usuarios y otorgarles privilegios, las bases de datos también nos permiten eliminar permisos. Los permisos otorgados a un determinado usuario, son las acciones que este puede realizar, estos permisos pueden ser modificados o incrementados según sea necesario. Ordena las siguientes opciones (siendo 1 el primer valor) de tal manera que formen una sentencia para eliminar permisos a un determinado usuario: Insert. REVOKE. On. sastreria. *. ana@localhost. from.

Las BBDD, nos brindan la posibilidad de actualización de un usuario. Completa los siguientes huecos para dar permisos de selección y actualización de un usuario a campos de una tabla: GRANT SELECT, _______ (nombreCliente, Telefono) _______ Jardineria.Clientes _______ ANTONIO;. update - on - to. on - update - to. to - update - to. update - on - return.

Tenemos un usuario llamado "profe1", una tabla llamada "notas" que tiene 4 campos (nif_alumno, nombre_alumno, nota_examen, nota_final) y queremos que el usuario "profe1" pueda tener permisos de selección y actualización solo del campo "nota_final" de la tabla "notas". Completa los huecos de la siguiente sentencia para dar el permiso correspondiente al usuario: GRANT SELECT, _______ ( _______ ) _______ Nota_final.Notas ________ ________ ;. update - nota_final - on - notas - to - profe1. on - nota_final - update - notas - to - profe1. update - to - on - notas - nota_final - profe1. update - nota_final - on - notas - profe1- nota_final.

El lenguaje PL/SQL (Procedural Language/ Structure Query Language) tiene una serie de características Indica las características correctas: Solo utiliza procedimientos. Estructuras de control de flujo. Uso de variables. No controla los errores y ni las excepciones. Soporta Programación Orientada a Web (POW). Integrado con SQL.

Los usuarios de Oracle, tienen ciertas restricciones a la hora de crearlos y ciertas características que debemos saber Relaciona cada término con su definición: Su longitud máxima no debe sobrepasar los 30 caracteres. Espacio que posee el usuario para almacenar su información y límite de almacenamiento. Son los diferentes recursos de los que dispone el usuario del sistema. Concesión de funciones que pueden realizar los usuarios. Debe ser único e irrepetible. Tablespace.

Al instalar Oracle tenemos por defecto diferentes cuentas con permisos diferentes Relaciona cada término con su definición: Contiene el mismo rol que la anterior y, por defecto, tiene una serie de tablas ya creadas. System. Sysman. Sys. DBSMNP.

Al instalar Oracle tenemos por defecto diferentes cuentas con permisos diferentes Relaciona cada término con su definición: Realiza tareas administrativas utilizando Enterprise Manager. System. Sysman. Sys. DBSMNP.

Al instalar Oracle tenemos por defecto diferentes cuentas con permisos diferentes Relaciona cada término con su definición: Funciona como administrador de la base de datos (rol de DBA) y no interesa modificar su esquema. System. Sysman. Sys. DBSMNP.

Al instalar Oracle tenemos por defecto diferentes cuentas con permisos diferentes Relaciona cada término con su definición: Controla la aplicación Enterprise Manager. System. Sysman. Sys. DBSMNP.

Oracle nos permite definir ciertas clausulas para los usuarios ¿sabes cuáles son? Identifica las clausulas y sus respectivas definiciones correctas. REVOKE: Sirve para eliminar solo los roles otorgados al usuario. GRANT: Ofrece la posibilidad a un usuario de acceder, manipular o ejecutar objetos concretos (tablas, vistas, secuencias, procedimientos, funciones o paquetes). EXECUTE: Permite al usuario ejecutar rutinas almacenadas. ALTER TABLE: Modifica o borra rutinas almacenadas.

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”. RESOURCE. CONNECT. DBA.

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 únicamente el privilegio “CREATE SESSION” (que permite conectar a la base de datos). RESOURCE. CONNECT. DBA.

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 todos los privilegios del sistema mediante la opción “WITH ADMIN OPTION”. RESOURCE. CONNECT. DBA.

Según el rol que tenga cada usuario, se podrán realizar diferentes acciones, según permita el rol. Revisa la siguiente sentencia de código para quitar privilegios de SELECT de la tabla NOTAS al usuario ALUMNO. ¿Es correcta? REVOKE SELECT ON notas TO alumno;. No. "ON" es incorrecto. La sentencia es con WITH. No. Para quitar privilegios se usa DROP. No. "TO" es incorrecto. La sentencia es con FROM. Es correcta.

Se requiere realizar un código que permita crear una vista, asignar permisos y realizar una conexión. Rellena los espacios en blanco, de tal forma que el código realice la creación de una vista, asigne permisos y realice una conexión. CREATE _______ dept_201 AS (SELECT emp_id, name, department, hire_date) FROM gbd.employees _______ department = 201; _______ SELECT ON rocket.dep_201 ________ mgr200; conn gbd/gbd.bdg _______ SELECT _______ gbd.alumns _______ rocket _______ GRANT OPTION;. view - where - grant - to - grant - on - to - with. grant - where - grant - to - view - on - to - with. view - with - grant - to - grant - on - to - where. view - to - grant - to - grant - on - to - with.

Dependiendo del rol que tengas en la base de datos, puedes tener ciertos privilegios o no. Identifica los beneficios que se dan a la hora de trabajar con roles: Maneja los privilegios de forma estática, es decir, si se modifican los privilegios asociados al rol dichos privilegios no se actualizan en todos los usuarios. Simplifican el manejo de privilegios. Disponibilidad selectiva de privilegios. Los roles asignados a un usuario pueden ser activados o desactivados temporalmente y se pueden proteger con clave. El uso de roles aumenta el número de “GRANT” almacenados en el diccionario de datos, por lo que mejora la productividad. A un rol se le pueden asignar diferentes permisos. Un rol sólo puede ser asignado a un usuario.

Vamos a ver las herramientas que nos proporciona el gestor de bases de datos para automatizar tareas. Identifica las variables que NO son de PL/SQL: Compuesto. HOST. BIND. LOB. Escalar.

Un usuario puede configurar su sesión y su perfil con las variables SESSION y PROFILE. Veamos cómo hacerlo. Rellena este fragmento de código para crear un perfil que permita solo 2 sesiones activas de forma simultanea, con tiempo ilimitado de CPU para una sesión, 10 minutos máximo de inactividad y 2 horas como máximo teniendo la sesión activa. CREATE _______ PERFILALUMNO LIMIT SESSIONS_PER_USER 2 CPU_PER_ _______ UNLIMITED _______ _TIME 10 _______ _TIME 120;. profile - session - idle - connect. session - profile - idle - connect. connect - session - idle - profile. idle - session - profile - connect.

Sobre la configuración de usuarios y las variables de entrada/salida Veamos su explicación relacionando conceptos. Une cada concepto con su definición de valores de entrada/salida: El valor viene del proceso de llamada, es un dato de entrada y su valor no se cambia. Es el valor por defecto. IN. OUT. IN / OUT.

Sobre la configuración de usuarios y las variables de entrada/salida Veamos su explicación relacionando conceptos. Une cada concepto con su definición de valores de entrada/salida: En una salida de programa sin error, el valor del argumento devuelve al proceso de llamada. IN. OUT. IN / OUT.

Sobre la configuración de usuarios y las variables de entrada/salida Veamos su explicación relacionando conceptos. Une cada concepto con su definición de valores de entrada/salida: Es una variable de entrada/salida. IN. OUT. IN / OUT.

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. Veamos cuáles son los más importantes. Relaciona cada característica con su definición respecto de los tipos de datos: 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.

Hay muchas funciones que nos permiten trabajar con Oracle. Identifica que función de Oracle, NO es correcta: Sysdate. User. Rowid. NLS_Session_Parameters. DAUL.

Vamos a ver la forma de programar en bases de datos Oracle y qué mejor que verlo en código. Completa el siguiente código con las palabras clave: DECLARE v_nom empleados.nombre%TYPE; v_ape empleados.apellido%TYPE; BEGIN _______ nombre, apellido INTO v_nom, v_ape FROM empleados WHERE documento = 23564390; ________ ('Nombre: ' || v_nom || 'Apellido: ' || v_ape); ________ WHEN ________ THEN dbms_output.put_line ('No existe empleado con ese DNI'); WHEN OTHERS THEN dbms_output.put_line ('otros errores'); END;. select - dbms_output.put_line - exception - no_data_found. exception - dbms_output.put_line - select - no_data_found. select - no_data_found - exception - dbms_output.put_line. select - exception - dbms_output.put_line - no_data_found.

Hay varias estructuras de flujo para trabajar la programación en BBDD: IF, LOOP, CASE, etc. Gracias a unos ejemplos, veamos cómo se trabaja el código. Completa estos códigos de control de flujo: DECLARE fecha_nac DATE := '11-06-1982'; salario NUMBER := 1000; BEGIN IF fecha_nac < '11-06-1982' THEN salario := salario * 1.15; ________ salario := salario * 1.05; END IF; dbms_output.put_line(salario); END; ----- DECLARE numero NUMBER := 0; mes VARCHAR2(20); BEGIN numero := № CASE numero WHEN 1 THEN mes := 'Enero'; _______ 2 THEN mes := 'Febrero'; WHEN 3 THEN mes := 'Marzo'; WHEN 4 THEN mes := 'Abril'; ELSE mes := 'Otro'; END _______ ; dbms_output.put_line(mes); END; ----- DECLARE total NUMBER := 0; cont NUMBER := 0; BEGIN _______ cont := cont + 1; total := total + cont * cont; EXIT _______ total > 250; END LOOP; dbms_output.put_line (total); END;. else - when - case - loop - when. when - else - case - loop - when. else - when - loop - case - when. loop - when - case - else - when.

Centrándonos en variables de salida en Oracle. Identifica qué características de SET SERVEROUTPUT ON son las correctas: Es una librería de PL/SQL. Activa el visionado de los mensajes por consola. Activar la salida de DBMS. Nos sirve para insertar datos en la tabla.

Ahora nos centraremos directamente en la programación con procedimientos y funciones. Completa el siguiente código con las palabras clave sobre procedimientos: CREATE OR REPLACE PROCEDURE ajustar_sueldo ( doc_emp ________ empleados.documento%TYPE, porcentaje IN NUMBER ) IS ________ UPDATE empleados ________ sueldo = sueldo + sueldo * porcentaje / 100 ________ documento = doc_emp; END;. in - begin - set - where. begin - in - set - where. in - begin - where - set. on - begin - set - where.

Completa el siguiente código con las palabras clave sobre funciones para calcular la cantidad total de un producto: CREATE OR REPLACE FUNCTION ventas_producto ( id_prod NUMBER ) _______ NUMBER IS total NUMBER(6); BEGIN _______ SUM(cantidad) INTO total FROM detalle WHERE prod_num = id_prod; IF total IS NULL _______ total := 0; END IF; _______ total; END;. return - select - then - return. select - return - then - return. return - select - return - then. connect - select - then - return.

Vamos a trabajar con tablas. Tenemos que tener claro, cómo debemos crear una tabla y trabajar con ella. Indica la opción de por qué este código puede dar error: CREATE TABLE empleados( id_cambio NUMBER(5), descripcion_cambio VARCHAR2(100), fecha_cambio DATA, PRIMARY KEY ( id_cambio ) );. Falta definir la foreign key. Hay un tipo de dato no válido. La primary key no es correcta. Falta definir un objeto.

Un cursor nos permitirá recorrer fila a fila, leer y modificar un conjunto de resultados. Indica qué característica es incorrecta sobre cursores: Con cada cursor implícito debe existir la palabra clave “INTO”. Las variables que reciben los datos devueltos por el cursor tienen que contener un tipo diferente de dato que las columnas de la tabla. Los cursores implícitos no necesitan declaración. Los cursores implícitos solo pueden devolver una única fila. En caso de que se devuelva más de una fila (o ninguna fila) se producirá una excepción. No se preocupe si aún no sabe que es una excepción, le valdrá conocer que es el medio por el que PL/SQL gestiona los errores.

Dentro de la programación de funciones y procedimientos, tenemos que controlar las transacciones y errores para que la ejecución de los programas no se quede colgada. Completa el siguiente código con las palabras adecuadas: DECLARE nombre VARCHAR(20); BEGIN SELECT nombre INTO nombre FROM empleados _______ documento = 9; EXCEPTION _______ no_data_found OR _______ THEN dbms_output.put_line('El error es: ' || sqlcode); dbms_output.put_line(sqlerrm); _______ ;. where - when - too_many_rows - end. when - where - too_many_rows - end. where - when - others - end. where - when - too_many_rows - return.

Para trabajar con cursores, debemos aprender qué palabras reservadas tenemos para recorrer nuestras variables. Relaciona cada atributo sobre los cursores con su definición correspondiente: Devuelve un valor booleano, “TRUE” si está abierto el cursor o “FALSE” si está cerrado. Devuelve un valor booleano, “TRUE” si tras la recuperación más reciente no se recuperó ninguna fila. Devuelve un valor booleano, “TRUE” si tras la recuperación más reciente se recuperó una fila. Retorna el número de filas devueltas hasta el momento.

Vamos a poner un ejemplo en código de cursores donde vamos a ver el funcionamiento de los mismos. Completa el código de excepciones creadas por el usuario: DECLARE _________ EXCEPTION; valor NUMBER; BEGIN valor := -1; IF valor < 0 THEN _________ valor_negativo; END IF; EXCEPTION WHEN valor_negativo THEN _________ ('El valor no puede ser negativo'); END;. valor_negativo - raise - dbms_output.put_line. raise - valor_negativo - dbms_output.put_line. valor_negativo - dbms_output.put_line - raise. order - raise - dbms_output.put_line.

Vamos a analizar el código de los siguientes procedimientos para ver su correcto funcionamiento... Identifica el motivo por el que este procedimiento da error: CREATE OR REPLACE PROCEDURE sumaruno ( num3 IN OUT NUMBER ) AS BEGIN num3 := num2 + 1; END;. Ninguna de las anteriores. Deberían declararse como FUNCTION. La variable num2 debe declararse. La variable num3 debe ser solo de entrada.

Seguimos practicando con cursores... Ahora desarrollemos el siguiente código. Completa el siguiente código con las palabras adecuadas: SET ____________ ON; DECLARE CURSOR cempleado ____________ SELECT nombre, apellido FROM empleados; vnombre VARCHAR2(50); vapellido VARCHAR2(50); BEGIN OPEN cempleado; LOOP FETCH ___________ INTO vnombre, vapellido; EXIT WHEN cempleado%notfound; dbms_output.put_line('Nombre: ' || vnombre || ' apellido: ' || vapellido); END LOOP; ___________ cempleado; END;. SERVEROUTPUT - is - cempleado - end - close. cempleado - is - empleado - end - close. SERVEROUTPUT - is - empleado - end - close. SERVEROUTPUT - is - cempleado - close - end.

Para seguir practicando con cursores Completa el siguiente código: DECLARE lugar_var dept.lugar%TYPE; deptnum dept.dept_no%TYPE; sin_datos ___________ ; CURSOR lugares IS SELECT lugar ___________ dept WHERE dept.dept_no = deptnum; BEGIN deptnum := 20; ___________ lugares; FETCH lugares INTO lugar_var; IF ( ___________ %notfound ) ___________ RAISE sin_datos; END IF; dbms_output.put_line ('LUGAR: ' || lugar_var); CLOSE lugares; EXCEPTION WHEN sin_datos THEN ______________ ('No se han encontrado datos'); WHEN OTHERS THEN dbms_output.put_line ('Otro tipo de error'); END;. exception - from - open - lugares - then - dbms_output.put_line. from - exception - open - lugares - then - dbms_output.put_line. connect - from - open - lugares - then - dbms_output.put_line. on - from - open - lugares - then - put_line.

Los triggers (disparadores) son funcionalidades que se lanzan de forma automática en determinadas acciones que realizara la base de datos. Son muy utilizados para completar datos en tablas de registros, tablas con claves foráneas, etc... Centrándonos ahora en la parte de los disparadores o triggers. Indica cuáles de estas afirmaciones sobre triggers son correctas: Realizar cambios en la base de datos de forma que el usuario debe autorizar esos cambios. Forzar reglas de integridad que son difíciles de definir a partir de constraints. Generar automáticamente valores de columnas derivadas en base a un valor proporcionado por una sentencia. Sincronizar el mantenimiento de tablas duplicadas que están localizadas en nodos iguales de una base de datos en paralelo.

Completa el siguiente código sobre triggers: CREATE OR __________ TRIGGER empleados_fechabaja_fechaalta BEFORE INSERT OR UPDATE OF fechaalta, fechabaja ON empleado FOR __________ ROW BEGIN IF ( :new.fechabaja IS NOT NULL ) AND ( :new.fechabaja <= :new.fechaalta ) __________ raise_application_error (-20600, 'La fecha de la baja debe ser nula o mayor que la fecha de alta'); __________ IF; END;. replace - each - then - end. each - replace - then - end. replace - each - end - then. order - each - then - end.

Denunciar Test