Prueba: DP Database Programming with SQL - Examen
Final
Revise las respuestas, los resultados y las puntuaciones de las preguntas
que se muestran a continuación. Las respuestas correctas están marcadas
con un asterisco (*).
Section 12
(Responder todas las preguntas de esta sección)
1. Una sentencia de inserción en varias tablas se puede insertar en más de
una tabla. (¿Verdadero o falso?)
VERDADERO (*)
FALSO
Correcto
(1/1) Puntos
2. Con MERGE se ejecutan __________ y __________ a la vez.
UPDATE; SELECT
UPDATE; DELETE
INSERT; SELECT
INSERT; UPDATE (*)
Correcto
(1/1) Puntos
3. Un empleado tiene el apellido 'King' en la tabla employees. ¿Cuántas filas
se suprimirán de la tabla employees con la siguiente sentencia?
DELETE FROM employees
WHERE last_name = 'king';
No se suprimirá ninguna fila, ya que no hay ningún empleado que coincida
con la cláusula WHERE. (*)
Todas las filas con el valor last_name = 'King' se suprimirán.
Todas las filas de la tabla employees se suprimirán.
Se suprimirá una, ya que existe un empleado llamado King.
Incorrecto. Consulte la sección 12 de la lección 2.
(0/1) Puntos
4. Si está ejecutando una sentencia UPDATE con una subconsulta, ¿DEBE
ser una subconsulta correlacionada? (Verdadero o falso)
VERDADERO
FALSO (*)
Correcto
(1/1) Puntos
5. Examine las estructuras de las tablas PLAYERS, MANAGERS y TEAMS:
PLAYERS:
PLAYER_ID NUMBER Primary Key
LAST_NAME VARCHAR2 (30)
FIRST_NAME VARCHAR2 (25)
TEAM_ID NUMBER
MGR_ID NUMBER
SIGNING_BONUS NUMBER(9,2)
SALARY NUMBER(9,2)
MANAGERS:
MANAGER_ID NUMBER Primary Key
LAST_NAME VARCHAR2 (20)
FIRST_NAME VARCHAR2 (20)
TEAM_ID NUMBER
TEAMS:
TEAM_ID NUMBER Primary Key
TEAM_NAME VARCHAR2 (20)
OWNER_LAST_NAME VARCHAR2 (20)
OWNER_FIRST_NAME VARCHAR2 (20)
¿En cuál de las situaciones se necesitaría una subconsulta para devolver el
resultado deseado?
Para mostrar cada jugador, su manager, y el nombre de su equipo para
todos los equipos con un valor de ID superior a 5000
Para mostrar el salario mínimo y máximo de los jugadores de cada equipo
Para mostrar los nombres de los managers de todos los equipos de un
determinado propietario (*)
Para mostrar los nombres de cada jugador del equipo Lions
Correcto
(1/1) Puntos
6. Una de las vendedoras, Janet Roper, le ha informado de que se ha casado
recientemente y le ha solicitado que actualice su nombre en la base de
datos de empleados. Su nuevo apellido es Cooper. Janet es la única persona
con el apellido Roper contratada por la compañía. La tabla EMPLOYEES
contiene estas columnas y todos los datos se almacenan en minúsculas:
EMPLOYEE_ID NUMBER(10) PRIMARY KEY
LAST_NAME VARCHAR2(20)
FIRST_NAME VARCHAR2(20)
DEPARTMENT_ID VARCHAR2 (20)
HIRE_DATE DATE
SALARY NUMBER(10)
¿Qué sentencia UPDATE le permitirá cumplir su objetivo?
UPDATE employees
SET last_name = 'cooper'
WHERE last_name = 'roper'; (*)
UPDATE employees
SET cooper = 'last_name'
WHERE last_name = 'roper';
UPDATE employees
SET last_name = 'roper'
WHERE last_name = 'cooper';
UPDATE employees last_name = 'cooper'
WHERE last_name = 'roper';
Incorrecto. Consulte la sección 12 de la lección 2.
(0/1) Puntos
7. ¿Se puede insertar más de una fila a la vez utilizando una sentencia
INSERT con una cláusula VALUES?
No, no hay nada parecido a INSERT... VALUES.
No, solo puede crear una fila a la vez cuando se utiliza la cláusula
VALUES. (*)
Sí, puede mostrar tantas filas como desee; solo tiene que recordar separar
las filas con comas.
Correcto
(1/1) Puntos
8. Al insertar una fila nueva, la palabra clave null se puede incluir en la lista
de valores para cualquier columna que permita valores nulos. ¿Verdadero o
falso?
VERDADERO (*)
FALSO
Correcto
(1/1) Puntos
Section 13
(Responder todas las preguntas de esta sección)
9. Evalúe la estructura de la tabla EMPLOYEE:
EMPLOYEE_ID NUMBER(9)
LAST_NAME VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
DEPARTMENT_ID NUMBER(9)
MANAGER_ID NUMBER(9)
SALARY NUMBER(7,2)
¿Qué sentencia debería utilizar para aumentar la longitud de la columna
LAST_NAME a 35 si la columna contiene actualmente 200 registros?
ALTER employee TABLE
ALTER COLUMN (last_name VARCHAR2(35));
ALTER TABLE employee
RENAME last_name VARCHAR2(35);
NO PUEDE aumentar el ancho de la columna LAST_NAME.
ALTER TABLE employee
MODIFY (last_name VARCHAR2(35)); (*)
Correcto
(1/1) Puntos
10. Debe truncar la tabla EMPLOYEES. La tabla EMPLOYEES no está en su
esquema. ¿Con qué privilegio debe contar para truncar la tabla?
El privilegio del sistema CREATE ANY TABLE
El privilegio del sistema TRUNCATE ANY TABLE
El privilegio del sistema ALTER ANY TABLE
El privilegio del sistema DROP ANY TABLE (*)
Incorrecto. Consulte la sección 13 de la lección 3.
(0/1) Puntos
Section 13
(Responder todas las preguntas de esta sección)
11. Los comentarios se pueden agregar a una tabla utilizando la sentencia
COMMENT ON TABLE. Los comentarios que se agregan se incluyen entre:
Corchetes { }
Comillas dobles " "
Paréntesis ( )
Comillas simples ' ' (*)
Correcto
(1/1) Puntos
12. La tabla TEAMS contiene estas columnas:
TEAM_ID NUMBER(4) Primary Key
TEAM_NAME VARCHAR2(20)
MGR_ID NUMBER(9)
La tabla TEAMS está vacía actualmente. Es necesario permitir que los
usuarios incluyan caracteres de texto en los valores de identificación del
manager. ¿Qué sentencia debería utilizar para implantar esto?
ALTER TABLE teams
REPLACE (mgr_id VARCHAR2(15));
ALTER teams TABLE
MODIFY COLUMN (mgr_id VARCHAR2(15));
ALTER TABLE teams
MODIFY (mgr_id VARCHAR2(15)); (*)
ALTER teams
MODIFY (mgr_id VARCHAR2(15));
NO PUEDE modificar el tipo de dato de la columna MGR_ID.
Correcto
(1/1) Puntos
13. La acción FLASHBACK TABLE to BEFORE DROP puede restaurar solo la
estructura de la tabla, pero no sus datos al estado en que se encontraban
antes de borrar la tabla. ¿Verdadero o falso?
VERDADERO
FALSO (*)
Incorrecto. Consulte la sección 13 de la lección 3.
(0/1) Puntos
14. ¿Qué sentencia NO es verdadera sobre una columna?
Puede modificar el tipo de dato de una columna si la columna contiene
datos no nulos. (*)
Puede convertir una columna de tipo de dato CHAR en el tipo de dato
VARCHAR2.
Puede convertir una columna de tipo de dato DATE en una columna
VARCHAR2.
Puede aumentar el ancho de una columna CHAR.
Correcto
(1/1) Puntos
15. Desea crear una tabla denominada TRAVEL que sea secundaria de la
tabla EMPLOYEES. ¿Cuáles de las siguientes afirmaciones debería emitir?
CREATE TABLE travel
(destination_id primary key, departure_date date, return_date date, emp_id
REFERENCES employees (emp_id));
CREATE TABLE travel
(destination_id number primary key, departure_date date, return_date date,
t.emp_id = e.emp_id);
CREATE TABLE travel
(destination_id number primary key, departure_date date, return_date date,
emp_id number(10) REFERENCES employees (emp_id)); (*)
CREATE TABLE travel
(destination_id number primary key, departure_date date, return_date date,
JOIN emp_id number(10) ON employees (emp_id));
Correcto
(1/1) Puntos
16. Evalúe esta sentencia CREATE TABLE:
CREATE TABLE line_item ( line_item_id NUMBER(9), order_id NUMBER(9),
product_id NUMBER(9));
Es miembro del rol SYSDBA, pero está conectado con su propio esquema.
Emite este sentencia CREATE TABLE. ¿Qué afirmación es verdadera?
Ha creado la tabla en el esquema SYSDBA.
Ha creado la tabla LINE_ITEM en el esquema SYS.
Ha creado la tabla LINE_ITEM en el esquema público.
Ha creado la tabla en su esquema. (*)
Correcto
(1/1) Puntos
17. ¿Qué sentencia CREATE TABLE fallará?
CREATE TABLE time (time_id NUMBER(9));
CREATE TABLE date (date_id NUMBER(9)); (*)
CREATE TABLE time_date (time NUMBER(9));
CREATE TABLE date_1 (date_1 DATE);
Correcto
(1/1) Puntos
18. ¿Cómo qué tipo de dato se debe definir una columna que se utilizará
para almacenar datos binarios de hasta 4 GB de tamaño?
LONG
NUMBER
LONGRAW
BLOB (*)
Correcto
(1/1) Puntos
19. ¿Qué sentencia es verdadera sobre los tipos de dato?
El tipo de dato CHAR se debería definir con un tamaño que no sea
demasiado grande para los datos que contiene (o que podría contener)
para ahorrar espacio en la base de datos. (*)
El tipo de dato BFILE almacena los datos de caracteres hasta cuatro GB en
la base de datos.
El tipo de dato TIMESTAMP es un tipo de dato de carácter.
El tipo de dato VARCHAR2 se debería utilizar para datos de caracteres de
longitud fija.
Correcto
(1/1) Puntos
Section 14
(Responder todas las preguntas de esta sección)
20. Una tabla solo puede tener definida una restricción de clave única.
¿Verdadero o falso?
VERDADERO
FALSO (*)
Correcto
(1/1) Puntos
21. ¿Qué afirmación es verdadera sobre la restricción NOT NULL?
La restricción NOT NULL se debe definir a nivel de columna. (*)
La restricción NOT NULL necesita que una columna contenga valores
alfanuméricos.
La restricción NOT NULL se puede definir a nivel de columna o a nivel de
tabla.
La restricción NOT NULL impide que una columna contenga valores
alfanuméricos.
Correcto
(1/1) Puntos
22. ¿Cuál de los siguientes no es un tipo de restricción de Oracle válido?
EXTERNAL KEY (*)
NOT NULL
UNIQUE KEY
PRIMARY KEY
Correcto
(1/1) Puntos
23. Debe agregar una restricción PRIMARY KEY a la tabla DEPARTMENTS.
¿Qué sentencia debería utilizar?
ALTER TABLE departments
ADD CONSTRAINT PRIMARY KEY dept_id_pk (dept_id);
ALTER TABLE departments
ADD CONSTRAINT dept_id_pk PRIMARY KEY (dept_id); (*)
ALTER TABLE departments
ADD PRIMARY KEY dept_id_pk (dept_id);
ALTER TABLE departments
ADD CONSTRAINT dept_id_pk PK (dept_id);
Correcto
(1/1) Puntos
24. ¿Cuál es la sintaxis para la eliminación de una restricción PRIMARY KEY y
todas sus restricciones dependientes?
ALTER TABLE table_name
DROP CONSTRAINT constraint_name CASCADE; (*)
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
DROP CONSTRAINT table_name (constraint_name);
ALTER TABLE table_name
DROP CONSTRAINT FOREIGN KEY CASCADE;
Incorrecto. Consulte la sección 14 de la lección 3.
(0/1) Puntos
25. Evalúe la estructura de la tabla DONATIONS.
DONATIONS:
PLEDGE_ID NUMBER NOT NULL, Primary Key
DONOR_ID NUMBER Foreign key to DONOR_ID column of DONORS table
PLEDGE_DT DATE
AMOUNT_PLEDGED NUMBER (7,2)
AMOUNT_PAID NUMBER (7,2)
PAYMENT_DT DATE
¿Qué sentencia CREATE TABLE debería utilizar para crear la tabla
DONATIONS?
CREATE TABLE donations
(pledge_id NUMBER PRIMARY KEY,
donor_id NUMBER FOREIGN KEY REFERENCES donors(donor_id),
pledge_date DATE,
amount_pledged NUMBER,
amount_paid NUMBER,
payment_dt DATE);
CREATE TABLE donations
(pledge_id NUMBER PRIMARY KEY NOT NULL,
donor_id NUMBER FOREIGN KEY donors(donor_id),
pledge_date DATE,
amount_pledged NUMBER(7,2),
amount_paid NUMBER(7,2),
payment_dt DATE);
CREATE TABLE donations
pledge_id NUMBER PRIMARY KEY,
donor_id NUMBER FOREIGN KEY donor_id_fk REFERENCES
donors(donor_id),
pledge_date DATE,
amount_pledged NUMBER(7,2),
amount_paid NUMBER(7,2),
payment_dt DATE;
CREATE TABLE donations
(pledge_id NUMBER PRIMARY KEY,
donor_id NUMBER CONSTRAINT donor_id_fk REFERENCES
donors(donor_id),
pledge_date DATE,
amount_pledged NUMBER(7,2),
amount_paid NUMBER(7,2),
payment_dt DATE); (*)
Correcto
(1/1) Punt
26. ¿Cuál de las siguientes palabras clave de restricción FOREIGN KEY
identifica la tabla y columna en la tabla principal?
REFERENTIAL
REFERENCES (*)
RESEMBLES
ON DELETE CASCADE
Correcto
(1/1) Puntos
Section 15
(Responder todas las preguntas de esta sección)
27. La tabla CUSTOMER_FINANCE contiene estas columnas:
CUSTOMER_ID NUMBER(9)
NEW_BALANCE NUMBER(7,2)
PREV_BALANCE NUMBER(7,2)
PAYMENTS NUMBER(7,2)
FINANCE_CHARGE NUMBER(7,2)
CREDIT_LIMIT NUMBER(7)
Ejecuta esta sentencia:
SELECT ROWNUM "Rank", customer_id, new_balance
FROM (SELECT customer_id, new_balance FROM customer_finance)
WHERE ROWNUM <= 25
ORDER BY new_balance DESC;
¿Qué afirmación es verdadera?
Los 25 valores de saldo nuevo más altos se mostraron de mayor a menor.
La sentencia no se ha ejecutado porque la cláusula ORDER BY NO utiliza la
columna Top-n.
La sentencia no se ha ejecutado porque se ha utilizado una vista en línea.
La sentencia no devolverá necesariamente los 25 valores de saldo nuevo
más altos, ya que la vista no tiene una cláusula ORDER BY. (*)
Correcto
(1/1) Puntos
28. Un análisis de los N superiores es capaz de clasificar un juego de
resultados superiores o inferiores. ¿Verdadero o falso?
VERDADERO (*)
FALSO
Correcto
(1/1) Puntos
29. Se puede utilizar una vista para mantener un registro histórico de los
datos antiguos de las tablas subyacentes, de forma que, incluso aunque se
suprima una fila de una tabla, podrá seguir seleccionando la fila en la vista.
¿Verdadero o falso?
VERDADERO
FALSO (*)
Correcto
(1/1) Puntos
30. ¿Cuál de las siguientes palabras clave no se puede utilizar al crear una
vista?
HAVING
WHERE
ORDER BY
Todas son palabras clave válidas al crear vistas. (*)
Correcto
(1/1) Puntos
31. Administre una base de datos Oracle que contenga una tabla
denominada EMPLOYEES. Luke, un usuario de la base de datos, debe crear
un informe que incluya los nombres y las direcciones de todos los
empleados. Usted no desea otorgar acceso a Luke a la tabla EMPLOYEES
porque contiene datos confidenciales. ¿Cuál de las siguientes acciones
debería realizar en primer lugar?
Crear una vista. (*)
Crear una subconsulta.
Crear un índice.
Crear un informe para él.
Correcto
(1/1) Puntos
32. Debe crear una nueva vista en la tabla EMPLOYEES para actualizar la
información de salario para los empleados del departamento 50. Debe
asegurarse de que las operaciones DML en la vista no pueden cambiar los
valores de salario de otros departamentos. ¿Qué cláusula debería incluir en
la sentencia CREATE VIEW?
WITH READ ONLY
WITH CHECK OPTION (*)
FORCE
OR REPLACE
Correcto
(1/1) Puntos
33. Administra una base de datos Oracle. Jack gestiona el departamento de
ventas. Él y sus empleados a menudo estiman oportuno consultar la base
de datos para identificar a los clientes y sus pedidos. Él le ha pedido que
cree una vista que simplificará este procedimiento para sí mismo y su
personal. La vista no debe aceptar las operaciones INSERT, UPDATE o
DELETE. ¿Cuáles de las siguientes afirmaciones debería emitir?
CREATE VIEW sales_view
(SELECT c.companyname, c.city, o.orderid, o. orderdate, o.total
FROM customers c, orders o
WHERE c.custid = o.custid)
WITH READ ONLY;
CREATE VIEW sales_view
AS (SELECT c.companyname, c.city, o.orderid, o. orderdate, o.total
FROM customers c, orders o
WHERE c.custid = o.custid)
WITH READ ONLY; (*)
CREATE VIEW sales_view
AS (SELECT c.companyname, c.city, o.orderid, o. orderdate, o.total
FROM customers c, orders o
WHERE c.custid = o.custid);
CREATE VIEW sales_view
AS (SELECT companyname, city, orderid, orderdate, total
FROM customers, orders
WHERE custid = custid)
WITH READ ONLY;
Correcto
(1/1) Puntos
34. ¿Cuál de las siguientes operaciones DML no está permitida al utilizar
una vista simple creada como de solo lectura?
INSERT
UPDATE
DELETE
Todo lo anterior (*)
Correcto
(1/1) Puntos
Section 16
(Responder todas las preguntas de esta sección)
35. Evalúe esta sentencia CREATE SEQUENCE:
CREATE SEQUENCE line_item_id_seq INCREMENT BY -1;
¿Qué afirmación es verdadera?
La secuencia generará valores descendentes secuenciales. (*)
El valor inicial de la secuencia LINE_ITEM_ID_SEQ será -1.
El valor mínimo de LINE_ITEM_ID_SEQ será el valor de entero más pequeño
posible.
La sentencia no se ejecutará correctamente.
Correcto
(1/1) Puntos
36. Crea una tabla CUSTOMERS en la que el valor CUSTOMER_ID se designa
como clave primaria. Desea que los valores que se introducen en la
columna CUSTOMER_ID se generen automáticamente. ¿Cuál de las
siguientes acciones debería realizar?
Especifique una restricción UNIQUE en la columna CUSTOMER_ID.
Cree una secuencia. (*)
No hacer nada. Oracle genera automáticamente valores únicos para las
columnas definidas como claves primarias.
Cree un sinónimo.
Correcto
(1/1) Puntos
37. Ver el valor más reciente recuperado de una secuencia denominada
"my_seq" a la que debe hacer referencia:
my_seq.(currval)
my_seq.currval (*)
my_seq.nextval
my_seq.(lastval)
Correcto
(1/1) Puntos
38. ¿Qué sentencia debería utilizar para eliminar el índice LAST_NAME_IDX
en la columna LAST_NAME de la tabla EMPLOYEES?
DROP INDEX last_name_idx; (*)
DROP INDEX last_name_idx(last_name);
ALTER TABLE employees
DROP INDEX last_name_idx;
DROP INDEX last_name_idx(employees.last_name);
Correcto
(1/1) Puntos
39. Existen los siguientes índices en la tabla EMPLOYEES:
Un índice único en la columna de clave primaria EMPLOYEE_ID
Un índice no único en la columna JOB_ID
Un índice compuesto en las columnas FIRST_NAME y LAST_NAME.
Si se borra la tabla EMPLOYEES, ¿qué índices se borran automáticamente al
mismo tiempo?
Solo EMP_ID
Solo JOB_ID
Solo DEPT_ID
EMP_ID y JOB_ID
Todos los índices (*)
Correcto
(1/1) Puntos
40. Desea crear un índice compuesto en las columnas FIRST_NAME y
LAST_NAME de la tabla EMPLOYEES. ¿Con qué sentencia SQL se realizará
esta tarea?
CREATE INDEX fl_idx
ON employees(first_name || last_name);
CREATE INDEX fl_idx
ON employees(first_name,last_name); (*)
CREATE INDEX fl_idx
ON employees(first_name), employees(last_name);
CREATE INDEX fl_idx ON employees(first_name);
CREATE INDEX fl_idx ON employees(last_name);
Correcto
(1/1) Puntos
Section 17
(Responder todas las preguntas de esta sección)
41. La usuaria SUSAN crea una tabla EMPLOYEES y, a continuación, crea una vista
EMP_VIEW que solo muestra las columnas FIRST_NAME y LAST_NAME de
EMPLOYEES. El usuario RUDI debe poder ser capaz de acceder a los nombres de
los empleados, pero a ningún otro dato de EMPLOYEES. ¿Qué sentencia debería
ejecutar SUSAN para permitir esto?
CREATE SYNONYM emp_view FOR employees;
GRANT SELECT ON emp_view ONLY TO rudi;
SELECT * FROM emp_view FOR rudi;
GRANT SELECT ON emp_view TO rudi; (*)
Correcto
(1/1) Puntos
42. Un esquema es:
Recopilación de objetos, como tablas, vistas y secuencias. (*)
Necesario para manipular el contenido de los objetos de la base de datos.
Necesario para obtener acceso a la base de datos.
Grupo con nombre de privilegios relacionados otorgados a un usuario.
Correcto
(1/1) Puntos
43. Las funciones REGULAR EXPRESSION realizan exactamente la misma acción
que LIKE, ni más ni menos. (¿Verdadero o falso?)
VERDADERO
FALSO (*)
Correcto
(1/1) Puntos
44. Las funciones REGULAR EXPRESSION se pueden utilizar en tipos de dato CHAR,
CLOB y VARCHAR2? (Verdadero o falso)
VERDADERO (*)
FALSO
Correcto
(1/1) Puntos
45. El esquema del usuario BOB contiene una tabla EMPLOYEES. BOB ejecuta la
siguiente sentencia:
GRANT SELECT ON employees TO mary WITH GRANT OPTION;
¿Cuáles de las siguientes sentencias puede ejecutar ahora MARY
correctamente? (Seleccione dos opciones)
(Elija todas las respuestas correctas)
REVOKE SELECT ON bob.employees FROM bob;
SELECT FROM bob.employees; (*)
DROP TABLE bob.employees;
GRANT SELECT ON bob.employees TO PUBLIC; (*)
Correcto
(1/1) Puntos
46. ¿Qué función de Oracle simplifica el proceso de otorgamiento y revocación de
privilegios?
Esquema
Objeto
Diccionario de datos
Rol (*)
Correcto
(1/1) Puntos
47. ¿Qué vista de diccionario de datos muestra los privilegios del sistema que se
han otorgado a un usuario?
USER_TAB_PRIVS
USER_SYSTEM_PRIVILEGES
USER_SYSTEM_PRIVS
USER_SYS_PRIVS (*)
Incorrecto. Consulte la sección 17 de la lección 2.
(0/1) Puntos
Section 18
(Responder todas las preguntas de esta sección)
48. Si Oracle se bloquea, se deshacen automáticamente los cambios del usuario.
¿Verdadero o falso?
VERDADERO (*)
FALSO
Correcto
(1/1) Puntos
49. La fila de Steven King de la tabla EMPLOYEES tiene un valor EMPLOYEE_ID = 100
y SALARY = 24000. Un usuario emite las siguientes sentencias en el orden
mostrado:
UPDATE employees
SET salary = salary * 2
WHERE employee_id = 100;
COMMIT;
UPDATE employees
SET salary = 30000
WHERE employee_id = 100;
La sesión de la base de datos del usuario ahora termina de forma anormal.
¿Cuál es actualmente el salario de King en la tabla?
78000
24000
48000 (*)
30000
Correcto
(1/1) Puntos
Section 19
(Responder todas las preguntas de esta sección)
50. Las pruebas de unidades se realizan antes de que la base de datos pase a la
fase de producción para garantizar que un número aleatorio de requisitos de
negocio funcionen correctamente. ¿Verdadero o falso?
VERDADERO
FALSO (*)
Incorrecto. Consulte la sección 19 de la lección 1.
(0/1) Puntos