sábado, 20 de noviembre de 2010

DBA1 PARCIAL 5

1.¿Cuál de las siguientes sentencias muestra la definición de la vista EMP_VIEW que fue creada basada en la tabla EMP?

DESCRIBE emp

DESCRIBE view emp_view

SELECT text
FROM user_views
WHERE view_name= 'EMP_VIEW'; (CORRECTA)

SELECT view_text
FROM my_views
WHERE view_name= 'EMP_VIEW';

2.¿Qué vista del diccionario de datos debería consultar para ver los privilegios de objeto sobre columnas asignados el usuario con que está conectado?

USER_TAB_PRIVS_MADE

USER_TAB_PRIVS

USER_COL_PRIVS_MADE

USER_COL_PRIVS (CORRECTA)

3. ¿Cuál de las siguientes afirmaciones es correcta?

Un rol puede ser otorgado como máximo a 1000 usuarios.
Un usuario puede tener como máximo 10 roles otorgados.
Los privilegios son otorgados a los roles a través del comando CREATE ROLE.
Un usuario puede tener asignado varios roles y varios usuarios pueden tener asignado un mismo rol. (CORRECTA)

4. Teniendo en cuenta el siguiente comando:
CREATE SYNONYM employees for ed.employees;
¿Cuál de las siguientes afirmaciones es correcta?

El usuario ED no tiene que prefijar más el nombre del objeto con el nombre de su esquema.
Solo el usuario que crea el sinónimo se evita de prefijar el nombre del objeto con el nombre del esquema. (CORRECTA)
La necesidad de prefijar el nombre del objeto con su esquema se elimina para todos los usuarios.
El objeto ahora puede ser accedido por todos los usuarios.

5. Durante la creación de una vista es posible asegurarse que las filas que se agreguen a la tabla base a través de la vista, sean accesibles posteriormente para dicha vista. ¿Qué opción permite realizar lo expresado anteriormente?

WHERE
WITH READ ONLY
WITH CHECK OPTION (CORRECTA)
CREATE OR REPLACE VIEW

6. ¿Cuál de los siguientes comandos crea un nuevo usuario?

CREATE USER susan;
CREATE OR REPLACE USER susan;
CREATE USER susan IDENTIFIED BY blue; (CORRECTA)
CREATE OR REPLACE USER susan IDENTIFIED BY blue;

7. ¿Cuál de las siguientes afirmaciones es correcta con relación a la cláusula WITH GRANT OPTION?

Permite otorgar privilegios de DBA.
Permite otorgar privilegios sobre columnas específicas de una tabla.
Es usada para otorgar privilegios de objeto en columnas que pertenecen a una clave ajena. (foreign key).
Habilita al usuario que recibió un privilegio con esta cláusula otorgárselo a otros usuarios y roles. (CORRECTA)

8. Luego de ejecutar el siguiente comando SQL:
CREATE USER scott IDENTIFIES by tiger;
¿Qué privilegios posee el usuario SCOTT ?

Ningún privilegio (CORRECTA)
Únicamente el privilegio de SELECT.
Únicamente el privilegio CONNECT.
Todos los privilegios del usuario que lo creo.

9. ¿Qué vista del diccionario de datos se debe consultar para ver los privilegios de actualización sobre columnas de tablas?

ALL_TABLES.
ALL_COL_PRIVS_RECD. (CORRECTA)
ALL_OBJECTS.
TABLE_PRIVILEGES.

10. ¿Cuál de las siguientes afirmaciones acerca de las vistas es correcta?

Una vista se puede crear como de solo lectura. (CORRECTA)
Una vista no puede contener la cláusula ORDER BY dentro de la sentencia SELECT.
Una vista no puede ser creada con una cláusula GROUP BY en la sentencia SELECT.
Una vista debe tener definidos alias para los nombres de las columnas de la sentencia SELECT.

11. Teniendo en cuenta la vista EMP_DEPT_VU que contiene tres columnas de las tablas EMPLOYEES y DEPARTMENTS:
EMPLOYEE_ID, EMPLOYEE_NAME AND DEPARTMENT_NAME.
Si se desea modificar la vista para agregarle una cuarta columna, MANAGER_ID de tipo de dato NUMBER de la tabla EMPLOYEES.
¿Cuál de los siguientes comandos es valido para realizar esta tarea?

MODIFY VIEW emp_dept_vu (ADD manager_id NUMBER);

ALTER VIEW emp_dept_vu AS
SELECT employee_id, employee_name,
department_name, manager_id
FROM employee e, departments d
WHERE e.department_id = d.department_id;

MODIFY VIEW emp_dept_vu AS
SELECT employee_id, employee_name,
department_name, manager_id
FROM employees e, departments d
WHERE e.department_id = d.department_id;

CREATE OR REPLACE VIEW emp_dept_vu AS
SELECT employee_id, employee_name,
department_name, manager_id
FROM employees e, departments d
WHERE e.department_id = d.department_id; (CORRECTA)

12. ¿Cuál de los siguientes comando crea la vista EMP_VU basada en la tabla EMPLOYEES, la cual le permita a los usuarios manipular solo los registros de los empleados que trabajan en el departamento 10 o 20?

CREATE VIEW emp_vu AS
SELECT *
FROM employees
WHERE department_id IN (10,20);

CREATE VIEW emp_vu AS
SELECT *
FROM employees
WHERE department_id IN (10,20)
WITH READ ONLY;

CREATE VIEW emp_vu AS
SELECT *
FROM employees
WHERE department_id IN (10,20)
WITH CHECK OPTION; (CORRECTA)

CREATE FORCE VIEW emp_vu AS
SELECT *
FROM employees
WHERE department_id IN (10,20);

13. El usuario Maria tiene una vista llamada EMP_DEPT_LOC_VU basada sobre las tablas EMPLOYEES, DEPARTMENTS, y LOCATIONS. Ella le otorgó el privilegio de SELECT al usuario SCOTT sobre esta vista.
¿Cuál de las siguientes opciones tiene disponible el usuario SCOTT para eliminar la necesidad de calificar la vista con el nombre del usuario MARIA. EMP_DEP_LOC_VU cada vez que la vista es referenciada?

Scott puede crear un sinónimo para la vista EMP_DEPT_LOC_VU usando el siguiente comando:
CREATE PRIVATE SYNONYM EDL_VU FOR maria.EMP DEPT_LOC_VU;
Y luego prefijar el nombre de las columnas con este sinónimo.
Scott puede crear un sinónimo para la vista EMP_DEPT_LOC_VU usando el siguiente comando:
CREATE SYNONYM EDL_VU FOR maria.EMP_DEPT_LOC_VU;
Y luego prefijar el nombre de las columnas con este sinónimo. (CORRECTA)
Scott no puede crear un sinónimo sobre las vistas de María. Ella le debería crear un sinónimo privado para la vista y luego otorgarle permiso de SELECT sobre el sinónimo al usuario SCOTT.
Scott no puede crear un sinónimo porque los mismos solo se crean sobre tablas.

14. ¿Cuál de las siguientes afirmaciones acerca de las secuencias es correcta?

La pseudo columna NEXTVAL se utiliza para obtener el próximo valor que debería ser generado para una secuencia, sin actualizar la secuencia al valor retornado.
La pseudo columna CURRVAL se utiliza para obtener el último valor para una secuencia, sin afectar futuros valores a ser generados para la secuencia.
La pseudo columna NEXTVAL se utiliza para obtener el próximo valor que debería ser generado para una secuencia actualizando la secuencia al valor retornado.
Las opciones B y C son correctas. (CORRECTA)

15. ¿Como se puede obtener la definición de la vista EMP_DEPT_VU (la sentencia SELECT con la cual la vista fue creada), la cual ya fue creada?

Utilizando el comando DESCRIBE EMP_DEPT_VU.
Consultando la vista del diccionario de datos USER_OBJECTS en donde el nombre del objeto es EMP_DEPT_VU y el tipo es VIEWS.
Utilizando el comando DESCRIBE VIEW EMP_DEPT_VU.
Consultando la vista del diccionario de datos USER_VIEWS el registro correspondiente a la vista EMP_DEPT_VU. (CORRECTA)

16. El privilegio del sistema CREATE VIEW. ¿Cuál de las siguientes tares le permite realizar al usuario que posee dicho privilegio?

Crear una vista solo sobre tablas que creadas por él.
Crear una vista sobre cualquier esquema.
Crear una vista sobre su esquema. (CORRECTA)
Ninguna de las anteriores.


17. Teniendo en cuenta el siguiente comando, el cual crea la tabla sales
CREATE TABLE sales
(purchase-no NUMBER(9) CONSTRAINT sale-purchase-no-pk PRIMARY KEY,
costumer-id NUMBER(9) CONSTRAINT sale-customer-id-nk NOT NULL);
¿Qué índice o índices se crean en forma automática para esta tabla?

No se crea ningún índice.
Un índice para la columna purchase-no. (CORRECTA)
Un índice para la columna customer-no.
Se crea un índice para cada columna.

18. ¿Cuál de los siguientes privilegios es un privilegio del sistema?

Drop any table (CORRECTA)
DELETE
ALTER
INDEX

19. Evalúe los siguientes comandos SQL:

CREATE ROLE manager;
CREATE ROLE clerk;
CREATE ROLE inventory;
CREATE USER scott IDENTIFIED BY tiger;
GRANT inventory TO clerk;
GRANT clerk TO manager;
GRANT inventory TO scott;
¿A cuantos roles tendrá acceso el usuario SCOTT?
0
1 (CORRECTA)
2
3

20. El usuario Scott ha olvidado su clave. ¿Qué comando se debe ejecutar para asignarle una nueva clave al usuario?

Scott debe ejecutar el comando ALTER USER scott PASSOWRD BY lion;
El DBA debe ejecutar el comando ALTER USER scott IDENTIFIED BY lion (CORRECTA)
Scott debe ejecutar el comando ALTER USER scott IDENTIFIED BY lion
El DBA debe ejecutar el comando CHANGE password to lion WHERE "user=scott";

21. ¿Qué sentencia creará una secuencia que comienza con valor 0 y generara cada vez un número menor que el anterior?

create sequence desc_seq start with 0 increment by -1 maxvalue 1; (CORRECTA)
create sequence desc_seq increment by -1;
create sequence desc_seq start with 0 increment by -1;
las secuencias solamente pueden crecer de forma positiva.

22. ¿Cuál es la vista del diccionario de datos contiene información sobre la definición de una vista?

MY_VIEWS.
USER_VIEWS. (CORRECTA)
SYSTEM_VIEWS.
USER_TAB_VIEWS.

23. Una vez que se crea una secuencia, es posible acceder a sus valores mediante las pseudocolumnas CURRVAL y NEXTVAL. ¿Cuál es el comportamiento de las mismas?

Al acceder a CURRVAL en una consulta, el valor de la secuencia es incrementado y almacenado en NEXTVAL.
NEXTVAL se utiliza para obtener el próximo valor de la secuencia el cual se almacena en CURRVAL. (CORRECTA)
En ambientes multiusuario el uso de NEXTVAL debe realizarse con precaución para no otorgar el mismo número de secuencia a dos usuarios distintos.
Ninguna de las anteriores

24. Se necesita crear la secuencia patient_id_seq para utilizarla en la columna que es clave primaria de la tabla PATIENT. La secuencia deberá comenzar en 1000, con un máximo valor de 999999999, nunca reusar un número e incrementarse de a uno. ¿Qué comando se debería ejecutar para completar esta tarea?

CREATE SEQUENCE patient_id_seq
START WITH 1000
MAXVALUE 999999999
NOCYCLE; (CORRECTA)

CREATE SEQUENCE patient_id_seq
START WITH 1000
MAXVALUE 999999999
STEP BY 1;

CREATE SEQUENCE patient_id_seq ON PATIENT(patient_id)
MINVALUE 1000
MAXVALUE 999999999
INCREAMENT BY 1
NO CYCLE;

Ninguno de los anteriores.

No hay comentarios:

Publicar un comentario