¿Qué son las claves externas en las bases de datos SQL?

¿Qué son las claves externas en las bases de datos SQL?

Las claves externas permiten a los administradores de bases de datos identificar fácilmente las diferentes conexiones que existen dentro de un sistema de administración de bases de datos SQL.





SQL realiza operaciones matemáticas sobre datos dentro de un sistema de administración de bases de datos. Estas bases de datos contienen diferentes tablas y cada una almacena datos sobre una entidad específica. Si tiene una base de datos de alquiler de coches, una entidad (o tabla) en esa base de datos serán los clientes (que almacenará todos los datos personales de cada cliente).





Estas tablas de base de datos contienen filas y columnas, donde cada fila alberga un registro y cada columna contiene datos específicos de atributos.





En un sistema de gestión de bases de datos, cada registro (o fila) debe ser único.

Claves primarias

Aunque la estipulación es que cada registro en una tabla debe ser distinto, este no es siempre el caso. Continuando con el ejemplo de la base de datos de alquiler de coches, si la base de datos contiene dos clientes, cada uno de los cuales tiene el nombre de John Brown, se puede esperar que un John Brown devuelva un Mercedes-Benz que no alquiló.



La creación de una clave principal mitigará este riesgo. En un sistema de administración de bases de datos SQL, una clave principal es un identificador único que distingue un registro de otro.

dónde conseguir piezas de computadora baratas

Por lo tanto, todos los registros de un sistema de administración de bases de datos SQL deben tener una clave principal.





Usar claves primarias en una base de datos

Para incluir claves primarias en un sistema de administración de bases de datos usando SQL, simplemente puede agregarlo como un atributo normal al crear una nueva tabla. Entonces, la tabla de clientes contendrá cuatro atributos (o columnas):

  • CarOwnerID (que almacenará la clave principal)
  • Primer nombre
  • Apellido
  • Número de teléfono

Relacionado: Cómo crear una tabla en SQL





Ahora, cada registro de cliente que ingrese a la base de datos tendrá un número de identificación único, así como un nombre, apellido y número de teléfono. El número de teléfono no es lo suficientemente exclusivo como para ser una clave principal, porque aunque es exclusivo de una persona a la vez, una persona puede cambiar fácilmente su número, lo que significa que ahora pertenecería a otra persona.

Un registro con un ejemplo de clave principal

|_+_|

El código SQL anterior agregará un nuevo registro al preexistente Clientes mesa. La siguiente tabla muestra la nueva tabla de clientes con los dos registros de John Brown.

La clave externa

Ahora tiene claves principales que distinguen de manera única a un arrendatario de otro. El único problema es que, en la base de datos, no existe una conexión real entre cada John Brown y el coche que alquila.

Por tanto, aún existe la posibilidad de cometer un error. Aquí es donde entran en juego las claves externas. El uso de una clave principal para resolver el problema de la ambigüedad de propiedad solo se puede lograr si la clave principal funciona como clave externa.

¿Qué es una clave externa?

En un sistema de administración de bases de datos SQL, una clave externa es un identificador único o una combinación de identificadores únicos que conectan dos o más tablas en una base de datos.

De los cuatro sistemas de administración de bases de datos SQL que existen, el sistema de administración de bases de datos relacionales es el más popular. Al decidir qué tabla en una base de datos relacional debe tener una clave externa, primero debe identificar qué tabla es el sujeto y cuál es el objeto en su relación.

Volviendo a la base de datos de alquiler de automóviles, para conectar a cada cliente con el automóvil correcto, deberá comprender que un cliente (el sujeto) alquila un automóvil (el objeto). Por lo tanto, la clave externa debe estar en la tabla de autos.

El código SQL que genera una tabla con una clave externa es ligeramente diferente de la norma.

Creación de una tabla con un ejemplo de clave externa

|_+_|

Como puede ver en el código anterior, una clave externa debe identificarse explícitamente como tal, junto con una referencia a la clave principal que se está conectando a la nueva tabla.

vida útil media de un macbook pro

Relacionado: La hoja de referencia de los comandos SQL esenciales para principiantes

Para agregar un registro a la nueva tabla, deberá asegurarse de que el valor en el campo de clave externa coincida con el valor en el campo de clave principal de la tabla original.

Agregar un registro con un ejemplo de clave externa

|_+_|

El código anterior crea un nuevo registro en el nuevo Carros tabla, produciendo el siguiente resultado.

Tabla de coches

En la tabla anterior, puede identificar al John Brown correcto que alquila un Mercedes-Benz por la clave externa en el registro.

Claves extranjeras avanzadas

Hay otras dos formas de utilizar una clave externa en una base de datos.

Si mira hacia atrás en la definición de clave externa anterior, encontrará que dice que una clave externa puede ser un identificador único o una combinación de identificadores únicos.

Volviendo al ejemplo de la base de datos de alquiler de automóviles, verá que crear un nuevo registro (del mismo automóvil) cada vez que un cliente alquila ese automóvil, anula el propósito de la Carros mesa. Si los coches están a la venta y se venden a un solo cliente una vez, la base de datos existente es perfecta; pero dado que los autos son de alquiler, hay una mejor manera de representar estos datos.

Claves compuestas

Una clave compuesta tiene dos o más identificadores únicos. En una base de datos relacional, habrá casos en los que el uso de una única clave externa no representará suficientemente las relaciones que existen dentro de esa base de datos.

En el ejemplo del alquiler de coches, el enfoque más práctico es crear una nueva tabla que almacene los detalles del alquiler. Para que la información de la tabla de alquiler de coches sea útil, debe conectarse tanto con el coche como con las mesas de los clientes.

Crear una tabla con claves externas compuestas

|_+_|

El código anterior describe un punto importante; aunque una tabla en una base de datos SQL puede tener más de una clave externa, solo puede tener una única clave primaria. Esto se debe a que solo debe haber una forma única de identificar un registro.

Es necesario combinar los tres atributos en la tabla para tener una clave única. Un cliente puede alquilar más de un automóvil el mismo día (por lo que Identificación del cliente y Fecha de alquiler no es una buena combinación) más de un cliente también puede alquilar el mismo automóvil el mismo día (por lo que Número de licencia y Fecha de alquiler no es una buena combinación).

Sin embargo, la creación de una clave compuesta que dice qué cliente, qué automóvil y qué día es una excelente clave única. Esta clave única representa tanto una clave externa compuesta como una clave primaria compuesta.

cómo tomar fotos de retrato iphone 7

Claves primarias extranjeras

Oh, sí, las claves primarias externas salen. Aunque no tiene un nombre oficial, una clave externa también puede ser una clave principal en la misma tabla. Esto sucede cuando crea una nueva tabla que contiene datos especializados sobre una entidad existente (o registro en otra tabla).

Digamos que Fred (que trabaja en la empresa de alquiler de coches) está en la base de datos de la empresa debajo de la tabla de empleados. Después de unos años, se convierte en supervisor y se agrega a la mesa de supervisores.

Fred sigue siendo un empleado y seguirá teniendo el mismo número de identificación. Entonces, la identificación de empleado de Fred ahora está en la tabla de supervisor como una clave externa que también se convertirá en una clave principal en esa tabla (ya que no tiene sentido crear un nuevo número de identificación para Fred ahora que es supervisor).

Ahora puede identificar claves externas en bases de datos SQL

Las claves externas conectan diferentes tablas dentro de una base de datos SQL. En este artículo, puede ver qué es una clave externa, cómo funciona y por qué es importante tenerlas en una base de datos. También comprende las formas básicas, e incluso más complejas, de las claves externas.

Si cree que las claves externas son interesantes, tendrá un día de campo cuando comience a usar el proyecto y las operaciones de selección para consultar sus bases de datos SQL.

Cuota Cuota Pío Correo electrónico Aprenda a usar las operaciones de proyecto y selección en SQL

Familiarícese con las bases de datos relacionales SQL al comprender las operaciones de Proyecto y Selección con estos ejemplos.

Leer siguiente
Temas relacionados
  • Programación
  • Programación
  • SQL
  • base de datos
Sobre el Autor Kadeisha Kean(21 Artículos publicados)

Kadeisha Kean es desarrolladora de software Full-Stack y redactora técnica / tecnológica. Tiene la habilidad distintiva de simplificar algunos de los conceptos tecnológicos más complejos; produciendo material que puede ser fácilmente entendido por cualquier novato en tecnología. Le apasiona escribir, desarrollar software interesante y viajar por el mundo (a través de documentales).

Más de Kadeisha Kean

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse