viernes, 11 de noviembre de 2016

FOREIGN KEY

Restricción FOREIGN KEY 
La restricción FOREIGN KEY (o de integridad referencial) designa una columna o una combinación de columnas como clave ajena y establece una relación entre una clave primaria o una clave única en la misma tabla o en una tabla diferente.
En el ejemplo de la diapositiva, DEPARTMENT_ID se ha definido como clave ajena en la tabla EMPLOYEES (tabla dependiente o secundaria); hace referencia a la columna DEPARTMENT_ID de la tabla DEPARTMENTS (tabla referenciada o principal). 
Instrucciones 
Un valor de clave ajena debe corresponder con un valor existente de la tabla principal o ser NULL
Las claves ajenas se basan en valores de datos y son punteros puramente lógicos, más que físicos. 

Las restricciones FOREIGN KEY se pueden definir en los niveles de restricción de columna o de tabla. Una clave ajena compuesta se debe crear mediante la definición de nivel de tabla. 
El ejemplo de la diapositiva define una restricción FOREIGN KEY en la columna DEPARTMENT_ID de la tabla EMPLOYEES, mediante sintaxis de nivel de tabla. El nombre de la restricción es EMP_DEPTID_FK. 
La clave ajena también se puede definir en el nivel de columna, siempre que la restricción se base en una sola columna. La sintaxis difiere en que no aparecen las palabras clave FOREIGN KEY. Por ejemplo: 
CREATE TABLE employees 
(... 
department_id NUMBER(4) CONSTRAINT emp_deptid_fk 
REFERENCES departments(department_id), 
... 
)

Restricción FOREIGN KEY : Palabras Clave 
La clave ajena se define en la tabla secundaria y la tabla que contiene la tabla referenciada es la tabla principal. La clave ajena se define mediante una combinación de las siguientes palabras clave: 
  • FOREIGN KEY  se utiliza para definir la columna en la tabla secundaria en el nivel de restricción de tabla. 
  • REFERENCES identifica la tabla y la columna en la tabla principal. 
  • ON DELETE CASCADE indica que cuando se suprime una fila en la tabla principal, las filas dependientes en la tabla secundaria también se suprimen. 
  • ON DELETE SET NULL convierte valores de clave ajena en valores nulos cuando se elimina el valor principal. 
El comportamiento por defecto se denomina regla de restricción, que desautoriza la actualización o la supresión de datos referenciados. 
Sin las opciones ON DELETE CASCADE u ON DELETE SET NULL, la fila de la tabla principal no se puede suprimir si se hace referencia a ella en la tabla secundaria. 
  • FOREIGN KEY: Define la columna de la tabla secundaria en el nivel de restricción de tabla 
  • REFERENCES: Identifica la tabla y la columna de la tabla principal 
  • ON DELETE CASCADE: Suprime las filas dependientes de la tabla secundaria si se suprime una fila de la tabla principal 
  • ON DELETE SET NULL: Convierte valores clave de clave ajena dependientes en valores nulos 




Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?