lunes, 16 de abril de 2012

Clave foranea

En el contexto de bases de datos relacionales, una clave foránea o clave ajena (o Foreign Key FK) es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla maestra o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada.
Los valores en una fila de las columnas referendo deben existir solo en una fila en la tabla referenciada. Así, una fila en la tabla referendo no puede contener valores que no existen en la tabla referenciada. De esta forma, las referencias pueden ser creadas para vincular o relacionar información. Esto es una parte esencial de la normalización de base de datos. Múltiples filas en la tabla referendo pueden hacer referencia, vincularse o relacionarse a la misma fila en la tabla referenciada. Mayormente esto se ve reflejado en una relación uno (tabla maestra o referenciada) a muchos (tabla hija o referendo).
La tabla referendo y la tabla referenciada pueden ser la misma, esto es, la clave foránea remite o hace referencia a la misma tabla. Esta clave externa es conocida en SQL:2003 como auto-referencia o clave foránea recursiva. Una tabla puede tener múltiples claves foráneas y cada una puede tener diferentes tablas referenciadas. Cada clave foránea es forzada independientemente por el sistema de base de datos. Por tanto, las relaciones en cascada entre tablas pueden realizarse usando claves foráneas. Configuraciones impropias de las claves foráneas o primarias o no forzar esas relaciones son frecuentemente la fuente de muchos problemas para la base de datos o para el modelamiento de los mismos.

No hay comentarios:

Publicar un comentario