> ## Documentation Index
> Fetch the complete documentation index at: https://apuntes.simulab.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Bases de datos: temas, ideas clave y simuladores

> Bases de datos relacionales y SQL: tablas, claves primarias y foráneas, consultas SELECT, JOIN, agregados y GROUP BY, índices, normalización y transacciones.

Una base de datos guarda la información de una aplicación de forma organizada, segura y consultable por muchos usuarios a la vez. En las **bases de datos relacionales**, los datos se reparten en tablas relacionadas por claves, y se manejan con **SQL**, el lenguaje estándar para consultarlas y modificarlas.

## Las ideas clave del bloque

### Tablas y claves

Cada tabla describe un tipo de entidad. La **clave primaria** identifica cada fila; la **clave foránea** la enlaza con otra tabla.

### SQL es declarativo

Se pide **qué** datos se quieren (`SELECT ... FROM ... WHERE ...`) y el gestor decide **cómo** obtenerlos, usando índices y optimizando el orden de las operaciones.

### Diseño sin repeticiones

La **normalización** reparte los datos para que cada hecho se guarde en un solo sitio y no aparezcan incoherencias al modificarlos.

### Todo o nada

Las **transacciones** agrupan operaciones que deben ejecutarse juntas (propiedades ACID), como sacar dinero de una cuenta e ingresarlo en otra.

## Orden recomendado

**1. SQL**

Crear tablas, consultas, JOIN, agrupación, índices, normalización y transacciones.

## Temas de este bloque

> [card] [SQL](https://apuntes.simulab.es/programacion/bases-datos/sql.md)
>
> Introducción a SQL y bases de datos relacionales: tablas, claves primarias y foráneas, CREATE TABLE, INSERT, UPDATE y DELETE, consultas SELECT con WHERE, ORDER BY y LIMIT, funciones de agregado, GROUP BY y HAVING, JOIN (INNER, LEFT), subconsultas, índices, normalización y transacciones, con ejemplos.

## Simuladores relacionados en Simulab

> [card] [Tablas hash](https://simulab.es/programacion/tablas-hash)
>
> Inserción, colisiones y búsqueda en una tabla hash.

> [card] [Estructuras de datos](https://simulab.es/programacion/estructuras-datos)
>
> Árboles de búsqueda, la base de los índices.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.