Diferencia entre clave primaria y clave foránea
Tanto la clave primaria como la foránea se utilizan en los sistemas de gestión de bases de datos relacionales (RDBMS), donde la clave primaria es un campo identificado de forma única que puede utilizarse como referencia para relacionar las tablas del sistema de base de datos. Por otro lado, la clave foránea no es un campo único, y se utiliza para conectar con la clave primaria de alguna otra tabla dentro de la misma base de datos. A diferencia de una clave primaria, un campo de clave foránea puede contener valores NULL en él.
Comparación cabeza a cabeza entre clave primaria y clave foránea (Infografía)
A continuación se muestran las 6 principales diferencias entre clave primaria y clave foránea:
Inicia tu curso gratuito de desarrollo de software
Desarrollo web, lenguajes de programación, Pruebas de software & otros
Diferencias entre la clave primaria y la clave extranjera
Discutiremos algunas de las principales diferencias clave entre la clave primaria y la clave extranjera:
- La Clave Primaria identifica los registros de una tabla de forma única, mientras que la Clave Foránea se utiliza para enlazar las tablas, es decir.e., la Clave Primaria de otra tabla.
- La columna de la Clave Primaria en una tabla no puede tener valores Nulos y siempre debe tener valores únicos. Sin embargo, la clave foránea de la tabla puede contener valores nulos y también puede tener valores duplicados.
- Una tabla sólo puede tener una clave primaria, mientras que puede haber más de una clave foránea para una tabla.
- El índice se crea automáticamente para la clave primaria, mientras que, para la clave foránea, los índices no se crean automáticamente.
- Es fácil eliminar la restricción de la clave foránea aunque haga referencia a la clave primaria. Pero la eliminación de la restricción de clave primaria puede crear registros con registros hijos que no tienen ningún registro padre.
Tabla comparativa de clave primaria vs clave foránea
La siguiente tabla resume las comparaciones entre clave primaria vs clave foránea:
Clave primaria | Clave foránea Key |
La Clave Primaria de una tabla en RDBMS puede ser una sola columna o puede comprender más de una columna, que se utiliza para identificar cada fila de una tabla de forma única. En el caso de la clave primaria que consta de más de una columna, los datos de cada columna se utilizan para decidir la unicidad de una fila. Una tabla en RDMBS sólo puede tener una Clave Primaria. | La Clave Foránea puede ser una sola columna o puede consistir en más de una columna en una tabla que se utiliza para referirse a la Clave Primaria de otra tabla. La Clave Foránea puede ser utilizada para enlazar las tablas en RDBMS. A diferencia del atributo Clave Primaria, una tabla en RDBMS puede tener más de una Clave Foránea. | Hay algunas condiciones que deben cumplirse para que una columna sea una Clave Primaria en una tabla. Una de las condiciones es que la Clave Primaria debe contener un valor único para cada registro. Así que no se puede permitir que una tabla en RDBMS tenga valores duplicados para dos filas para el atributo de Clave Primaria. | A diferencia de la Clave Primaria de una tabla en RDBMS, la Clave Foránea puede contener valores duplicados. Esto permite tener valores duplicados para las filas de una tabla para el atributo de clave foránea. |
La otra condición para que una columna satisfaga ser una Clave Primaria es que no debe contener valores Nulos. | Pero la Clave Foránea de una tabla en RDBMS puede contener valores Nulos. |
Una Clave Primaria se especifica mientras se define la tabla, y es obligatorio definir la Clave Primaria. | A diferencia de la Clave Primaria, no hay una definición específica de la tabla para denotar una Clave que sea Clave Foránea. |
No es posible eliminar la restricción de Clave Primaria de una Tabla Padre con la Clave Foránea de la Tabla Hija referida a ella. Por tanto, hay que eliminar primero la Tabla Hija antes de eliminar la Tabla Padre. | Pero si necesitamos eliminar la restricción de Clave Foránea de una tabla, se puede eliminar de la Tabla Hija aunque haga referencia a la Clave Primaria de la Tabla Padre. |
La Clave Primaria se indexa automáticamente, es decir, la Clave Primaria se almacena en un índice para una tabla, y este índice ayuda en la administración del requisito de unicidad, y debido a esto, los valores de la clave extranjera se refieren fácilmente a los valores de la Clave Primaria correspondiente. | En un caso de Clave Foránea, los índices no se crean automáticamente y normalmente; el Administrador de la Base de Datos los define. |
Conclusión
Las Claves Primarias y Foráneas no sólo implementan diferentes tipos de integridad sino que también crean relaciones entre tablas. Las claves primarias y foráneas también garantizan que las columnas de la relación deben contener valores coincidentes y se mantienen registros únicos en la tabla. El sistema de gestión de bases de datos relacionales funciona eficazmente gracias a la presencia de la clave primaria y la clave foránea.
La restricción de la clave primaria ayuda a aplicar la integridad de los datos de forma automática, ya que impide insertar o actualizar una fila de datos duplicada. El uso de las restricciones de clave evita que se elimine la fila de la tabla de clave primaria de la tabla padre para que no se creen registros hijos para los que no hay registro padre. Además, cuando se elimina o actualiza una fila con referencia a la clave primaria en la tabla padre, la integridad referencial se mantiene mediante la clave foránea. Las Claves tienen un papel vital en el establecimiento de vínculos entre las tablas de la base de datos y también dentro de la tabla.
Artículos recomendados
Esta es una guía sobre Clave Primaria vs Clave Foránea. Aquí discutimos las diferencias de clave primaria vs clave foránea con infografía y tabla comparativa. También puede pasar por nuestros otros artículos sugeridos para aprender más –
- WebLogic vs WebSphere
- ROLAP vs MOLAP vs HOLAP
- SQL Keys
- Travis vs Jenkins