Skip to content

2.0 Introducción

Las bases de datos relacionales tienen dos diferencias claves con respecto a la forma de almacenar datos que hemos visto hasta ahora:

  1. Estructura de tablas: Los datos se organizan en tablas que tienen filas y columnas, donde cada fila representa un registro único y cada columna representa un atributo del registro.
  2. Relaciones entre tablas: Las tablas pueden estar relacionadas entre sí a través de claves primarias y foráneas, lo que permite establecer conexiones entre diferentes conjuntos de datos.

Vamos a verlo con un ejemplo simple usando dos tablas.

Clientes

ID Nombre Email Dirección
1 Juan xyz@gmail.com Calle Falsa 123
2 Ana abc@gmail.com Calle Real 456
3 Luis 123@gmail.com Calle Verde 789
4 Ana 987@gmail.com Calle Azul 101

Pedidos

ID Cliente_ID Producto Cantidad Fecha
1 1 Laptop 1 2023-10-01
2 2 Smartphone 2 2023-10-02
3 1 Tablet 1 2023-10-03
4 3 Monitor 1 2023-10-04
5 2 Teclado 1 2023-10-05
6 1 Ratón 1 2023-10-06
7 3 Impresora 1 2023-10-07

En estas tablas podemos observar:

  • La tabla "Clientes" tiene una columna ID que sirve para identificar de manera única a cada cliente.
  • La tabla "Pedidos" tiene una columna Cliente_ID que hace referencia al ID de la tabla Clientes.

Ventajas de las bases de datos relacionales

Usar este tipo de bases de datos ofrece varias ventajas:

  • Integridad de los datos: Las relaciones entre tablas ayudan a mantener la consistencia de los datos.
  • Flexibilidad: Se pueden realizar consultas complejas para obtener información relacionada entre diferentes tablas.
  • Escalabilidad: Las bases de datos relacionales pueden manejar grandes volúmenes de datos y son adecuadas para aplicaciones empresariales, almacenar datos en ficheros se vuelve ineficiente a medida que crece la cantidad de información.
  • Seguridad: Permiten definir permisos y roles para controlar el acceso a los datos.
  • Normalización: Ayudan a reducir la redundancia de datos al dividir la información en tablas relacionadas, lo que mejora la eficiencia del almacenamiento y la actualización de datos.
  • Soporte para transacciones: Permiten realizar operaciones que involucran múltiples tablas de manera segura, asegurando que todas las operaciones se completen correctamente o ninguna lo haga, manteniendo la integridad de los datos.
  • Lenguaje de consulta estructurado (SQL): Proporcionan un lenguaje estándar para interactuar con los datos, lo que facilita la creación, lectura, actualización y eliminación de registros.
  • Soporte para índices: Permiten crear índices en columnas específicas para mejorar el rendimiento de las consultas, acelerando el acceso a los datos.
  • Soporte para vistas: Permiten crear vistas que son consultas predefinidas sobre una o más tablas, facilitando la obtención de información específica sin necesidad de escribir consultas complejas cada vez.
  • Integración con aplicaciones: Las bases de datos relacionales son ampliamente utilizadas y tienen soporte en muchas aplicaciones y lenguajes de programación, lo que facilita su integración en sistemas existentes.

Tipos de relaciones

Cuando empieces a relacionar tablas, es importante entender los diferentes tipos de relaciones que pueden existir entre ellas:

  • Uno a uno (1:1): Cada registro en la primera tabla se relaciona con un único registro en la segunda tabla. Por ejemplo, una persona puede tener un único DNI asociado.
  • Uno a muchos (1:N): Un registro en la primera tabla puede estar relacionado con múltiples registros en la segunda tabla. Por ejemplo, un escritor puede haber escrito varios libros.
  • Muchos a muchos (N:M): Los registros en la primera tabla pueden estar relacionados con múltiples registros en la segunda tabla y viceversa. Por ejemplo, los pokemon pueden tener múltiples tipos y un tipo puede pertenecer a múltiples pokemon. Para manejar este tipo de relaciones, se suele crear una tabla intermedia que contenga las claves primarias de ambas tablas relacionadas.