Saltar al contenido

Llave primaria y foranea

diciembre 27, 2021
Llave primaria y foranea

clave primaria

Una tabla suele tener una columna o combinación de columnas que contienen valores que identifican de forma exclusiva cada fila de la tabla. Esta columna, o columnas, se denomina clave primaria (PK) de la tabla y refuerza la integridad de la entidad de la tabla. Dado que las restricciones de clave primaria garantizan la exclusividad de los datos, suelen definirse en una columna de identidad.

Cuando se especifica una restricción de clave primaria para una tabla, el motor de la base de datos refuerza la unicidad de los datos creando automáticamente un índice único para las columnas de clave primaria. Este índice también permite un acceso rápido a los datos cuando se utiliza la clave primaria en las consultas. Si se define una restricción de clave primaria en más de una columna, los valores pueden estar duplicados dentro de una columna, pero cada combinación de valores de todas las columnas en la definición de la restricción de clave primaria debe ser única.

Una clave foránea (FK) es una columna o combinación de columnas que se utiliza para establecer y hacer cumplir un vínculo entre los datos de dos tablas para controlar los datos que pueden almacenarse en la tabla de clave foránea. En una referencia de clave externa, se crea un vínculo entre dos tablas cuando la columna o columnas que contienen el valor de clave primaria de una tabla son referenciadas por la columna o columnas de otra tabla. Esta columna se convierte en clave ajena en la segunda tabla.

clave primaria y clave ajena con ejemplo

Una clave externa es un conjunto de atributos de una tabla que hace referencia a la clave primaria de otra tabla. La clave ajena vincula estas dos tablas. Otra forma de decirlo: En el contexto de las bases de datos relacionales, una clave ajena es un conjunto de atributos sujetos a un cierto tipo de restricciones de dependencia de inclusión, concretamente una restricción que consiste en que las tuplas que consisten en los atributos de la clave ajena en una relación, R, también deben existir en alguna otra relación (no necesariamente distinta), S, y además esos atributos también deben ser una clave candidata en S.[1][2][3] En palabras más sencillas, una clave ajena es un conjunto de atributos que hace referencia a una clave candidata. Por ejemplo, una tabla llamada TEAM puede tener un atributo, MEMBER_NAME, que es una clave ajena que hace referencia a una clave candidata, PERSON_NAME, en la tabla PERSON. Dado que NOMBRE_DE_MIEMBRO es una clave foránea, cualquier valor que exista como nombre de un miembro en EQUIPO debe existir también como nombre de una persona en la tabla PERSONA; en otras palabras, cada miembro de un EQUIPO es también una PERSONA.

La tabla que contiene la clave ajena se denomina tabla hija, y la tabla que contiene la clave candidata se denomina tabla referenciada o matriz[4] En el modelado e implementación relacional de bases de datos, una clave candidata es un conjunto de cero o más atributos, cuyos valores están garantizados como únicos para cada tupla (fila) de una relación. El valor o la combinación de valores de los atributos de la clave candidata para cualquier tupla no puede duplicarse para ninguna otra tupla en esa relación.

clave compuesta

Las claves primarias siempre tienen que ser únicas, las claves foráneas tienen que permitir valores no únicos si la tabla es una relación de uno a muchos. Está perfectamente bien utilizar una clave foránea como clave primaria si la tabla está conectada por una relación uno a uno, no una relación uno a muchos. Si quiere que el mismo registro de usuario tenga la posibilidad de tener más de un registro de perfil relacionado, utilice una clave primaria distinta, de lo contrario, quédese con lo que tiene.

Sin embargo, hay casos en los que no podrá realizar estos cambios en la tabla a la que hace referencia. En este caso no hay ningún problema en utilizar la clave foránea como clave primaria. Podría ser útil tener una clave compuesta que consista en una clave primaria única autoincrementable y la clave foránea.

Actualmente estoy trabajando en un sistema en el que los usuarios pueden iniciar sesión y generar un código de registro para utilizarlo con una aplicación. Por razones que no voy a explicar, no puedo simplemente añadir las columnas necesarias a la tabla de usuarios. Así que estoy yendo por una ruta de uno a uno con la tabla de códigos.

diferencia entre clave primaria y clave foránea con ejemplo

Kris ha escrito cientos de artículos en su blog y muchos cursos online. Le encanta ayudar a otros a aprender SQL.{«email»: «Dirección de correo electrónico no válida», «url»: «Dirección del sitio web no válida», «required»: «Falta el campo obligatorio»}¿Estás listo para empezar a aprender SQL SERVER, pero no sabes por dónde empezar? No hay nada peor que estar entusiasmado por aprender una nueva herramienta pero no saber por dónde empezar, perder el tiempo aprendiendo las características equivocadas y sentirse abrumado.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad