El Universo de las Llaves
Garantizando la Integridad y las Relaciones
1. Llave Primaria (Primary Key - PK)
Es la columna (o conjunto de columnas) que identifica de forma única cada fila en una tabla.
- Reglas de Oro: No puede contener valores NULOS (`NOT NULL`) y sus valores deben ser únicos (`UNIQUE`).
- Una tabla solo puede tener una Llave Primaria.
- Es el pilar sobre el que se construyen las relaciones y los índices.
2. Llaves Candidatas y Alternas
Antes de elegir una PK, a menudo existen varias opciones válidas.
- Una Llave Candidata es cualquier columna o conjunto de columnas que podría ser la PK (es única y no nula).
- Una tabla puede tener varias llaves candidatas.
- Se elige una para ser la PK. Las demás se convierten en Llaves Alternas, y se les suele aplicar una restricción `UNIQUE`.
El Debate: Llaves Naturales vs. Subrogadas
Llave Natural
Un dato del mundo real (DNI, Email, ISBN).
- Pro: Intuitivo, tiene significado de negocio.
- Contra: ¡Puede cambiar! (un email), puede ser complejo (múltiples columnas), puede no ser 100% único.
Llave Subrogada (Artificial)
Un ID numérico sin significado de negocio.
- Pro: Estable (nunca cambia), simple (un entero), rendimiento óptimo en JOINS.
- Contra: Requiere un JOIN para ver datos significativos.
Veredicto: Las llaves subrogadas son la opción preferida en la mayoría de los diseños modernos por su estabilidad.
3. Llave Foránea (Foreign Key - FK)
Es una columna que apunta a la Llave Primaria de otra tabla. Es el pilar de la integridad referencial.
- Propósito: Asegura que un valor en la tabla "hija" exista en la tabla "padre".
- Acciones Referenciales (`ON DELETE`):
- `RESTRICT`: Impide eliminar al padre si tiene hijos (defecto).
- `CASCADE`: Si se elimina al padre, se eliminan los hijos.
- `SET NULL`: Si se elimina al padre, la FK de los hijos se pone a NULO.
4. Llave Única (Unique Key)
Asegura que todos los valores en una columna sean únicos, al igual que una PK.
- Diferencia Clave con la PK: Puede permitir un valor NULO (en la mayoría de los motores de BD).
- Una tabla puede tener múltiples restricciones `UNIQUE`, pero solo una `PRIMARY KEY`.
- Caso de Uso: Para Llaves Alternas (ej. email, DNI) cuando la PK es un ID subrogado.
5. Llave Compuesta (Composite Key)
Es una llave primaria formada por dos o más columnas. La combinación de los valores de estas columnas debe ser única para cada fila.
- Uso Principal: En tablas de unión que resuelven relaciones de muchos a muchos (N:M).
- En el ejemplo, la combinación de `estudiante_id` y `curso_id` es única. Un estudiante no puede inscribirse dos veces en el mismo curso.
¿Por Qué es Crucial para la Analítica?
Para un Analista o Científico de Datos, entender las llaves del sistema de origen (OLTP) es fundamental, aunque trabaje con modelos desnormalizados (OLAP).
- La Base de los `JOIN`s: Un `JOIN` incorrecto por no entender una relación PK-FK puede duplicar o perder datos, invalidando cualquier análisis.
- Garantía de Calidad: Las llaves aseguran la integridad de los datos en el origen. El analista debe confiar en que los datos que consume son consistentes gracias a estas reglas.
- Entendimiento del Negocio: Las relaciones definidas por las llaves modelan las reglas del negocio. Entenderlas es entender cómo funciona la empresa.