Los diseñadores de bases de datos hacen un uso amplio de las claves al desarrollar bases de datos relacionales. Entre las más comunes de estas claves están las claves primarias y las claves externas. Una clave externa de la base de datos es un campo en una tabla relacional que coincide con la columna de clave principal de otra tabla. Para comprender cómo funciona una clave externa, echemos un vistazo más de cerca a la idea de una base de datos relacional.
Algunos fundamentos de las bases de datos relacionales
En una base de datos relacional, los datos se almacenan en tablas que contienen filas y columnas, lo que facilita la búsqueda y la manipulación. Hay algunas matemáticas importantes detrás del concepto de una base de datos relacional (álgebra relacional, propuesta por E.F.
Codd en IBM en 1970), pero ese no es el tema de este artículo.
Por motivos prácticos (y no matemáticos), una base de datos relacional almacena datos relacionados en filas y columnas. Además, y aquí es donde se pone interesante, la mayoría de las bases de datos están diseñadas para que los datos de una tabla puedan acceder a los datos de otra tabla. Esta capacidad para crear relaciones entre tablas es el poder real de una base de datos relacional.
Uso de claves externas
La mayoría de las tablas, especialmente aquellas en bases de datos grandes y complejas, tienen claves primarias. Las tablas que están diseñadas para acceder a otras tablas también deben tener una clave externa.
Para usar la base de datos de Northwinds comúnmente citada, aquí hay un extracto de una tabla de productos:
| Identificación de producto | Nombre del producto | Categoria ID | CantidadPerU | Precio unitario |
|---|---|---|---|---|
| 1 | Chai | 1 | 10 cajas x 20 bolsas | 18.00 |
| 2 | Chang | 1 | Botellas de 24 a 12 onzas. | 19.00 |
| 3 | Jarabe de anís | 2 | 12 botellas de 550 ml. | 10.00 |
| 4 | Condimento Cajun del Chef Anton | 2 | 48 tarros de 6 oz | 22.00 |
| 5 | Mezcla de Gumbo del Chef Anton | 2 | 36 cajas | 21.35 |
| 6 | Difusión Boysenberry de la abuela | 2 | Frascos de 12 a 8 onzas | 25.00 |
| 7 | Peras secas orgánicas del tío Bob | 7 | 12 - 1 libra de paquetes. | 30.00 |
los Identificación de producto columna es la clave principal de esta tabla. Asigna una ID única a cada producto.
Esta tabla también contiene una columna de clave externa, Categoria ID. Cada producto en la tabla de Producto enlaza a una entrada en la tabla de Categorías que define la categoría de ese producto.
Tenga en cuenta este extracto de la tabla Categorías de la base de datos:
| Categoria ID | Nombre de la categoría | Descripción |
|---|---|---|
| 1 | Bebidas | Refrescos, cafés, tés, cervezas y cervezas. |
| 2 | Condimentos | Salsas dulces y saladas, condimentos, untables y condimentos. |
| 3 | Confecciones | Postres, dulces, y mollejas |
| 5 | Productos lácteos | Los quesos |
La columna Categoria ID es la clave principal de esta columna. (No tiene una clave externa porque no tiene necesidad de acceder a otra tabla). Todas las claves externas en la tabla de productos se vinculan con una clave principal en la tabla de categorías. Por ejemplo, al producto Chai se le asigna una categoría "Bebidas", mientras que el jarabe de anís se encuentra en la categoría Condimentos.
Este tipo de enlace crea innumerables formas de usar y reutilizar datos en una base de datos relacional.




