Antes de aprender la diferencia entre la clave principal y la clave externa, aprendamos:
¿Qué son las llaves?
Las claves son atributos que le ayudan a identificar una fila (tupla) en una relación (tabla). Le permiten encontrar la relación entre dos tablas. Las claves le ayudan a identificar de forma única una fila en una tabla mediante una combinación de una o más columnas en esa tabla. La clave de la base de datos también es útil para encontrar un registro o una fila únicos de la tabla.
¿Qué es la relación de base de datos?
La relación de la base de datos son asociaciones entre una o más tablas que se crean mediante declaraciones de combinación. Se utiliza para recuperar datos de la base de datos de manera eficiente. Existen principalmente tres tipos de relaciones: 1) Uno a uno, 2) Uno a muchos, 3) Muchos a muchos.
¿Qué es la clave principal?
Una restricción de clave primaria es una columna o grupo de columnas que identifica de manera única cada fila en la tabla del sistema de administración de base de datos relacional. No puede ser un duplicado, lo que significa que el mismo valor no debe aparecer más de una vez en la tabla.
Una tabla puede tener más de una clave principal. La clave principal se puede definir a nivel de columna o de tabla. Si crea una clave primaria compuesta, debe definirse a nivel de tabla.
¿Qué es la clave externa?
La clave externa es una columna que crea una relación entre dos tablas. El propósito de la clave externa es mantener la integridad de los datos y permitir la navegación entre dos instancias diferentes de una entidad. Actúa como una referencia cruzada entre dos tablas, ya que hace referencia a la clave principal de otra tabla. Todas las relaciones de la base de datos deben estar respaldadas por una clave externa.
DIFERENCIAS CLAVE:
- Una restricción de clave primaria es una columna que identifica de forma única cada fila en la tabla del sistema de administración de base de datos relacional, mientras que la clave externa es una columna que crea una relación entre dos tablas.
- La clave principal nunca acepta valores nulos, mientras que la clave externa puede aceptar varios valores nulos.
- Puede tener solo una clave principal en una tabla, mientras que puede tener varias claves externas en una tabla.
- El valor de la clave principal no se puede eliminar de la tabla principal, mientras que el valor de la clave externa se puede quitar de la tabla secundaria.
- No hay dos filas que puedan tener valores idénticos para una clave principal, por otro lado, una clave externa puede contener valores duplicados.
- No hay limitación para insertar los valores en la columna de la tabla mientras inserta cualquier valor en la tabla de clave externa, asegúrese de que el valor esté presente en una columna de una clave principal.
¿Por qué utilizar la clave principal?
Estos son los contras / beneficios de usar la clave principal:
- El objetivo principal de la clave principal es identificar todos y cada uno de los registros en la tabla de la base de datos.
- Puede utilizar una clave principal cuando no permite que nadie introduzca valores nulos.
- Si elimina o actualiza registros, se llevará a cabo la acción que especificó para garantizar la integridad de los datos.
- Realice la operación de restricción para rechazar la operación de eliminación o actualización de la tabla principal.
- Los datos se organizan en una secuencia de índice agrupado siempre que organiza físicamente la tabla DBMS.
¿Por qué utilizar Foreign Key?
Estas son las razones importantes por las que se usa una clave externa:
- Las claves externas le ayudan a migrar entidades utilizando una clave principal de la tabla principal.
- Una clave externa le permite vincular dos o más tablas juntas.
- Hace que los datos de su base de datos sean consistentes.
- Se puede usar una clave externa para hacer coincidir una columna o combinación de columnas con la clave principal en una tabla principal.
- La restricción de clave externa de SQL se utiliza para asegurarse de que la integridad referencial del padre de datos coincida con los valores de la tabla secundaria.
Ejemplo de clave principal
Sintaxis:
A continuación se muestra la sintaxis de la clave principal:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Aquí,
- Table_Name es el nombre de la tabla que tiene que crear.
- Column_Name es el nombre de la columna que tiene la clave principal.
Ejemplo:
StudID | Rollo No | Nombre de pila | Apellido | Correo electrónico |
---|---|---|---|---|
1 | 11 | Tomás | Precio | Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo. |
2 | 12 | Mella | Wright | Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo. |
3 | 13 | Dana | Natan | Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo. |
En el ejemplo anterior, hemos creado una tabla de estudiantes con columnas como StudID, Roll No, First Name, Last Name y Email. StudID se elige como clave principal porque puede identificar de forma única otras filas en la tabla.
Ejemplo de clave externa
Sintaxis:
A continuación se muestra la sintaxis de Foreign Key:
CREATE TABLE