Clave principal y clave externa

Anonim

Las claves son elementos fundamentales de la base de datos relacional porque establecen una relación entre un par de tablas y aseguran que cada registro en una tabla se identifique de forma única. Las claves tienen un significado más particular que el establecimiento de relaciones; también ayudan con la integridad referencial y son un componente importante de la integridad a nivel de tabla. Las tablas almacenan grandes cantidades de datos en ellas, que generalmente se extienden a miles de registros, todos ellos sin clasificar y desorganizados. Obtener un dato particular de esos numerosos registros puede ser difícil a veces o a veces imposible. Aquí es donde las llaves vienen a la imagen. Aquí, estudiaremos las dos claves muy importantes del esquema de base de datos relacional y la diferencia entre ellas: Clave principal y Clave externa.

¿Qué es una clave primaria?

Una clave principal es una clave especial que identifica de forma única cada registro en una tabla. Es muy importante en la base de datos relacional tener un identificador único en cada fila de una tabla y la clave principal es justo lo que necesita para identificar de forma única una tupla dentro de una tabla. Una tupla representa un conjunto de atributos de valor en una base de datos relacional. Una clave principal puede referirse a una columna o un conjunto de columnas en una tabla de base de datos relacional usada para identificar implícitamente todos los registros en la tabla. La clave principal debe ser única para cada registro, ya que actúa como un identificador único y no debe contener valores nulos. Cada base de datos debe tener una y solo una clave primaria.

¿Qué es una clave externa?

Una clave externa se refiere a un campo o una colección de campos en un registro de base de datos que identifica de manera única un campo clave de otro registro de base de datos en otra tabla. En términos simples, establece un enlace entre registros en dos tablas diferentes en una base de datos. Puede ser una columna en una tabla que apunta a las columnas de clave primaria, lo que significa que una clave externa definida en una tabla se refiere a la clave principal de otra tabla. Las referencias son cruciales en las bases de datos relacionales para establecer vínculos entre registros, lo cual es esencial para clasificar las bases de datos. Las claves externas desempeñan un papel importante en la normalización de bases de datos relacionales, especialmente cuando las tablas necesitan acceder a otras tablas.

Diferencia entre clave principal y clave externa

Conceptos básicos de la clave principal frente a la clave externa

Una clave principal es una clave especial en una base de datos relacional que actúa como un identificador único para cada registro, lo que significa que identifica de forma única cada fila / registro en una tabla y su valor debe ser único para cada fila de la tabla. Una clave externa, por otro lado, es un campo en una tabla que vincula dos tablas juntas. Se refiere a una columna o un grupo de columnas que identifica de forma única una fila de otra tabla o la misma tabla.

Relación de clave primaria vs clave externa

Una clave principal identifica de forma exclusiva un registro en la tabla de base de datos relacional, mientras que una clave externa se refiere al campo en una tabla que es la clave principal de otra tabla. Una clave principal debe ser única y solo se permite una clave primaria en una tabla que debe definirse, mientras que se permite más de una clave externa en una tabla.

Valores duplicados de clave principal frente a clave externa

Una clave principal es una combinación de restricciones ÚNICAS y No nulas, por lo que no se puede permitir que valores duplicados tengan un campo de clave principal en una tabla de base de datos relacional. No se permiten dos filas para llevar valores duplicados para un atributo de clave primaria. A diferencia de una clave principal, la clave externa puede contener valores duplicados y una tabla en una base de datos relacional puede contener más que una clave externa.

NULL de clave principal vs clave externa

Una de las principales diferencias entre los dos es que, a diferencia de las claves primarias, las claves externas también pueden contener valores NULL. Una tabla en una base de datos relacional puede tener solo una clave principal que no permite valores NULL.

Tabla temporal de clave primaria vs clave externa

Una restricción de clave principal se puede definir implícitamente en tablas temporales y sus variables, mientras que una restricción de clave externa no se puede aplicar en tablas temporales locales o globales.

Eliminación de la clave principal frente a la clave externa

Un valor de clave principal no se puede eliminar de la tabla principal, a la que se hace referencia como clave externa en la tabla secundaria. Primero debe eliminar la tabla secundaria antes de eliminar la tabla principal. Por el contrario, un valor de clave externa se puede eliminar de la tabla secundaria incluso si el valor se refiere a la clave principal de la tabla principal.

Clave primaria frente a clave externa: Cuadro de comparación

Resumen de los versos de clave primaria Clave externa

Las claves desempeñan un papel crucial en la existencia de un esquema de base de datos para establecer enlaces entre tablas y dentro de una tabla. Las claves establecen relaciones y aplican diferentes tipos de integridad, especialmente la integridad a nivel de tabla y nivel de relación. Por un lado, se aseguran de que la tabla contenga registros únicos y que los campos que usa para establecer una relación entre las tablas deben contener valores coincidentes. La clave principal y la clave externa son los dos tipos de claves más importantes y comunes que se utilizan en las bases de datos relacionales. Una clave principal es una clave especial que se utiliza para identificar de forma única los registros en una tabla, mientras que una clave externa se utiliza para establecer una relación entre dos tablas. Ambos son idénticos en estructura pero desempeñan diferentes roles en el esquema de base de datos relacional.