Section 14
(Responder todas las preguntas de esta sección)
1. ¿Qué afirmación es verdadera sobre una restricción FOREIGN KEY?
Una restricción FOREIGN KEY permite que se compruebe una lista de
valores permitidos antes de agregar un valor a la columna restringida.
Una columna FOREIGN KEY puede tener un tipo de dato distinto al de la
columna de clave primaria a la que hace referencia.
En una restricción FOREIGN KEY se necesita que la columna restringida
contenga valores existentes en la columna de clave única o primaria de
referencia de la tabla principal. (*)
Se crea automáticamente un índice para una restricción FOREIGN KEY.
Incorrecto. Consulte la sección 14 de la lección 2.
(0/1) Puntos
2. Para suprimir automáticamente las filas de una tabla secundaria
cuando se suprime un registro principal utilice:
ON DELETE SET NULL
ON DELETE ORPHAN
ON DELETE CASCADE (*)
Ninguna de las anteriores
Correcto
(1/1) Puntos
3. ¿Qué debe existir en la tabla principal para que Oracle le permita
crear una restricción FOREIGN KEY a partir de una tabla secundaria?
Debe existir un índice en la tabla principal
Debe existir una restricción CHECK en la tabla principal.
En una restricción FOREIGN KEY se permite que la columna restringida
contenga valores existentes en la columna de clave primaria de la tabla
principal.
Debe existir una restricción PRIMARY o UNIQUE KEY en la tabla
principal. (*)
Correcto
(1/1) Puntos
4. 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 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 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 CONSTRAINT 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 FOREIGN KEY REFERENCES donors(donor_id),
pledge_date DATE,
amount_pledged NUMBER,
amount_paid NUMBER,
payment_dt DATE);
Correcto
(1/1) Puntos
5. Debe aplicar una relación entre la columna LOC_ID de la tabla
FACILITY y la misma columna de la tabla MANUFACTURER. ¿Qué tipo de
restricción debería definir en la columna LOC_ID?
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY (*)
Correcto
Section 14
(Responder todas las preguntas de esta sección)
6. Evalúe esta sentencia CREATE TABLE:
CREATE TABLE customers
(customer_id NUMBER,
customer_name VARCHAR2(25),
address VARCHAR2(25),
city VARCHAR2(25),
region VARCHAR2(25),
postal_code VARCHAR2(11),
CONSTRAINT customer_id_un UNIQUE(customer_id),
CONSTRAINT customer_name_nn NOT NULL(customer_name));
¿Por qué esta sentencia falla cuando se ejecuta?
Los tipos de dato NUMBER necesitan valores de precisión.
La sentencia CREATE TABLE NO define un valor PRIMARY KEY.
Las restricciones UNIQUE se deben definir a nivel de columna.
Las restricciones NOT NULL NO SE PUEDEN definir a nivel de tabla. (*)
Correcto
(1/1) Puntos
7. ¿Cuál de los siguientes no es un tipo de restricción de Oracle válido?
UNIQUE KEY
PRIMARY KEY
EXTERNAL KEY (*)
NOT NULL
Correcto
(1/1) Puntos
8. Una tabla debe tener al menos una restricción no nula y una
restricción única. ¿Verdadero o falso?
VERDADERO
FALSO (*)
Correcto
(1/1) Puntos
9. ¿A qué dos niveles se pueden agregar las restricciones Primary Key,
Foreign Key, Unique Key y Check Constraints? (Seleccione dos opciones)
(Elija todas las respuestas correctas)
Tabla (*)
Campo nulo
Diccionario
Fila
Columna (*)
Correcto
(1/1) Puntos
10. ¿Qué afirmación es verdadera sobre las restricciones?
Las restricciones UNIQUE son idénticas a las restricciones PRIMARY KEY.
Una sola columna solo puede tener aplicada una restricción.
Las restricciones PRIMARY KEY solo se pueden especificar a nivel de
columna.
Las restricciones NOT NULL solo se pueden especificar a nivel de
columna. (*)
Incorrecto. Consulte la sección 14 de la lección 1.
Section 14
(Responder todas las preguntas de esta sección)
11. Debe agregar una restricción PRIMARY KEY a la tabla
DEPARTMENTS. ¿Qué sentencia debería utilizar?
ALTER TABLE departments
ADD CONSTRAINT dept_id_pk PRIMARY KEY (dept_id); (*)
ALTER TABLE departments
ADD CONSTRAINT PRIMARY KEY dept_id_pk (dept_id);
ALTER TABLE departments
ADD CONSTRAINT dept_id_pk PK (dept_id);
ALTER TABLE departments
ADD PRIMARY KEY dept_id_pk (dept_id);
Correcto
(1/1) Puntos
12. ¿Qué sentencia debería utilizar para agregar una restricción
FOREIGN KEY a la columna DEPARTMENT_ID de la tabla EMPLOYEES
para hacer referencia a la columna DEPARTMENT_ID de la tabla
DEPARTMENTS?
ALTER TABLE employees
ADD CONSTRAINT dept_id_fk FOREIGN KEY (department_id)
REFERENCES departments(department_id); (*)
ALTER TABLE employees
ADD FOREIGN KEY CONSTRAINT dept_id_fk ON (department_id)
REFERENCES departments(department_id);
ALTER TABLE employees
MODIFY COLUMN dept_id_fk FOREIGN KEY (department_id)
REFERENCES departments(department_id);
ALTER TABLE employees
ADD FOREIGN KEY departments(department_id) REFERENCES
(department_id);
Correcto
(1/1) Puntos
13. Examine las estructuras de las tablas PRODUCTS y SUPPLIERS.
PRODUCTS:
PRODUCT_ID NUMBER NOT NULL, PRIMARY KEY
PRODUCT_NAME VARCHAR2 (25)
SUPPLIER_ID NUMBER FOREIGN KEY to SUPPLIER_ID of the SUPPLIER
table
LIST_PRICE NUMBER (7,2)
COST NUMBER (7,2)
QTY_IN_STOCK NUMBER
QTY_ON_ORDER NUMBER
REORDER_LEVEL NUMBER
REORDER_QTY NUMBER
SUPPLIERS:
SUPPLIER_ID NUMBER NOT NULL, PRIMARY KEY
SUPPLIER_NAME VARCHAR2 (25)
ADDRESS VARCHAR2 (30)
CITY VARCHAR2 (25)
REGION VARCHAR2 (10)
POSTAL_CODE VARCHAR2 (11)
Evalúe esta sentencia:
ALTER TABLE suppliers
DISABLE CONSTRAINT supplier_id_pk CASCADE;
¿Para qué tarea debería emitir esta sentencia?
Para desactivar cualquier restricción de integridad dependiente en la
columna SUPPLIER_ID de la tabla SUPPLIERS (*)
Para borrar la restricción FOREIGN KEY en la tabla PRODUCTS
Para eliminar todas las referencias a restricciones a la tabla PRODUCTS
Para eliminar todas las referencias a restricciones a la tabla SUPPLIERS
Para desactivar cualquier restricción de integridad dependiente en la
columna SUPPLIER_ID de la tabla PRODUCTS
Correcto
(1/1) Puntos
14. Debe eliminar la restricción EMP_FK_DEPT de la tabla EMPLOYEE de
su esquema. ¿Qué sentencia debería utilizar?
ALTER TABLE employees REMOVE CONSTRAINT EMP_FK_DEPT;
ALTER TABLE employees DROP CONSTRAINT EMP_FK_DEPT; (*)
DELETE CONSTRAINT EMP_FK_DEPT FROM employees;
DROP CONSTRAINT EMP_FK_DEPT FROM employees;
Correcto
(1/1) Puntos
15. La tabla DEPARTMENTS contiene las siguientes columnas:
DEPARTMENT_ID NUMBER, Primary Key
DEPARTMENT_ABBR VARCHAR2(4)
DEPARTMENT_NAME VARCHAR2(30)
MANAGER_ID NUMBER
La tabla EMPLOYEES contiene las siguientes columnas:
EMPLOYEE_ID NUMBER
LAST_NAME VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
DEPARTMENT_ID NUMBER
JOB_ID NUMBER
MANAGER_ID NUMBER
SALARY NUMBER(9,2)
HIRE_DATE DATE
Evalúe esta sentencia:
ALTER TABLE employees
ADD CONSTRAINT REFERENTIAL (manager_id) TO
departments(manager_id);
¿Qué afirmación es verdadera?
La sentencia ALTER TABLE crea una restricción referencial de la tabla
EMPLOYEES a la tabla DEPARTMENTS.
La sentencia ALTER TABLE crea una restricción referencial de la tabla
DEPARTMENTS a la tabla EMPLOYEES.
La sentencia ALTER TABLE se ejecuta correctamente, pero NO vuelve a
crear una restricción referencial.
La sentencia ALTER TABLE falla porque la cláusula ADD CONSTRAINT
contiene un error de sintaxis. (*)
Correcto