Diagramas Entidad-Relaci贸n
El Plano de tu Base de Datos
驴Qu茅 es un Diagrama Entidad-Relaci贸n (ERD)?
Es una representaci贸n visual de la estructura de una base de datos. Muestra las "cosas" que queremos almacenar y c贸mo se conectan entre s铆.
Es el lenguaje universal que usan desarrolladores, analistas y arquitectos para dise帽ar y discutir modelos de datos antes de escribir una sola l铆nea de SQL.
- Componentes Clave: Entidades, Atributos y Relaciones.
Niveles de Abstracci贸n de un ERD
Conceptual
Vista de alto nivel. Muestra las entidades principales y sus relaciones. No incluye atributos ni llaves. Ideal para entender el negocio.
L贸gico
M谩s detallado. Incluye todas las entidades, atributos, llaves primarias y for谩neas. Es independiente del motor de base de datos.
F铆sico
El m谩s detallado. Incluye tipos de datos espec铆ficos (VARCHAR, INT), nombres de 铆ndices y restricciones. Adaptado a un motor de BD concreto.
Cardinalidad: Uno a Uno (1:1)
Una instancia de la Entidad A solo puede estar relacionada con una y solo una instancia de la Entidad B, y viceversa.
- Ejemplo: Un `USUARIO` tiene un 煤nico `PERFIL_DE_USUARIO`.
- Implementaci贸n: La llave primaria de una tabla es tambi茅n la llave for谩nea en la otra.
- Uso: Poco com煤n. Se usa para separar datos por seguridad, rendimiento o para evitar columnas NULAS masivas.
Cardinalidad: Uno a Muchos (1:N)
Una instancia de la Entidad A puede estar relacionada con cero, una o muchas instancias de la Entidad B. Pero una instancia de B solo puede estar relacionada con una de A.
- Ejemplo: Un `CLIENTE` puede tener muchos `PEDIDOS`, pero cada `PEDIDO` pertenece a un 煤nico `CLIENTE`.
- Implementaci贸n: Se a帽ade una llave for谩nea en la tabla del lado "Muchos" (Pedidos) que apunta a la llave primaria del lado "Uno" (Clientes).
- Es la relaci贸n m谩s com煤n en bases de datos.
Cardinalidad: Muchos a Muchos (N:M)
Una instancia de la Entidad A puede estar relacionada con muchas instancias de la Entidad B, y viceversa.
- Ejemplo: Un `ESTUDIANTE` puede inscribirse en muchos `CURSOS`, y un `CURSO` puede tener muchos `ESTUDIANTES`.
- Importante: Este tipo de relaci贸n no se puede implementar directamente en una base de datos relacional.
Resolviendo la Relaci贸n Muchos a Muchos
Para implementar una relaci贸n N:M, se crea una tercera tabla llamada Tabla de Uni贸n (o de enlace).
Esta tabla (`INSCRIPCIONES`) contiene las llaves for谩neas de las dos tablas originales (`ESTUDIANTE` y `CURSO`). Su llave primaria suele ser una llave compuesta por ambas llaves for谩neas.
驴Por Qu茅 es Crucial para la Anal铆tica?
Para un Analista o Cient铆fico de Datos, un ERD es el mapa del tesoro.
- Navegaci贸n de Datos: Te dice qu茅 tablas existen y, lo m谩s importante, c贸mo unirlas correctamente para responder a preguntas de negocio.
- Validaci贸n de L贸gica: Permite verificar si una consulta tiene sentido. Si no hay una ruta entre dos tablas en el ERD, probablemente no deber铆as unirlas directamente.
- Comunicaci贸n: Es la herramienta perfecta para discutir con los ingenieros de datos sobre qu茅 informaci贸n necesitas y d贸nde encontrarla.