4. Bases de datos para el tratamiento de la información

MF0978_2: Gestión de Archivos

Introducción a las bases de datos

Las bases de datos son herramientas fundamentales para el almacenamiento, organización y recuperación eficiente de la información en entornos empresariales.

¿Qué es una base de datos?

Una base de datos es un conjunto estructurado de datos que se organizan de forma que puedan ser fácilmente accedidos, gestionados y actualizados.

Las bases de datos modernas se diseñan para ofrecer:

  • Almacenamiento eficiente de grandes volúmenes de información
  • Acceso rápido a los datos
  • Integridad y consistencia de la información
  • Seguridad y control de acceso
  • Facilidad para compartir datos entre diferentes aplicaciones y usuarios

Evolución histórica

Década Avance
1960s Primeras bases de datos jerárquicas y de red
1970s Modelo relacional (E.F. Codd) y SQL
1980s Bases de datos comerciales y sistemas de gestión
1990s Bases de datos orientadas a objetos
2000s Bases de datos NoSQL y Big Data
2010s Bases de datos en la nube y NewSQL

Importancia en la gestión documental

Las bases de datos son esenciales en la gestión documental moderna porque:

  • Permiten catalogar y clasificar grandes volúmenes de documentos
  • Facilitan la búsqueda y recuperación mediante metadatos
  • Mejoran el control de versiones de documentos
  • Posibilitan el acceso simultáneo por múltiples usuarios
  • Garantizan la seguridad mediante permisos granulares
  • Permiten la integración con sistemas de gestión documental

Ventajas frente a sistemas tradicionales de archivo

Búsqueda avanzada

Permite realizar consultas complejas combinando múltiples criterios, lo que sería imposible en archivos físicos.

Integridad de datos

Garantiza la consistencia mediante restricciones y validaciones automáticas que evitan errores humanos.

Acceso concurrente

Múltiples usuarios pueden consultar y modificar información simultáneamente sin conflictos.

Análisis de datos

Facilita la generación de informes, estadísticas y visualizaciones para la toma de decisiones.

Actualización eficiente

Permite modificar datos masivamente con operaciones automatizadas, reduciendo errores y tiempo.

Seguridad avanzada

Control de acceso granular, cifrado y auditoría de operaciones para proteger información sensible.

Conceptos básicos de bases de datos

Para trabajar eficientemente con bases de datos es necesario comprender una serie de conceptos fundamentales que constituyen la base teórica de estos sistemas.

Terminología esencial

Dato
Unidad mínima de información que representa un hecho, concepto o entidad del mundo real.
Campo
Unidad básica de almacenamiento que contiene un tipo específico de dato (texto, número, fecha, etc.).
Registro
Conjunto de campos relacionados que representan una entidad completa (por ejemplo, los datos de una persona).
Tabla
Colección de registros del mismo tipo organizados en filas (registros) y columnas (campos).
Clave primaria
Campo o conjunto de campos que identifican de manera única cada registro en una tabla.
Clave foránea
Campo que establece una relación con la clave primaria de otra tabla.
Índice
Estructura que mejora la velocidad de recuperación de datos en una tabla.

Componentes de un sistema de base de datos

1. Sistema Gestor de Base de Datos (SGBD)

Software que permite crear, mantener y utilizar bases de datos. Ejemplos: MySQL, Oracle, SQL Server, PostgreSQL.

2. Base de datos

Conjunto de datos estructurados y relacionados entre sí.

3. Lenguaje de consulta

Permite interactuar con la base de datos. El más común es SQL (Structured Query Language).

4. Aplicaciones

Programas que interactúan con la base de datos para ofrecer funcionalidades al usuario final.

5. Usuarios

Personas que utilizan la base de datos, con diferentes niveles de acceso y permisos.

Modelo Entidad-Relación

El modelo entidad-relación (E-R) es una herramienta para el diseño de bases de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.

Entidades

Objetos o conceptos del mundo real sobre los que se quiere almacenar información. Se representan como rectángulos en un diagrama E-R.

Ejemplos: Cliente, Producto, Factura, Empleado.

Atributos

Propiedades o características que describen a las entidades. Se representan como óvalos conectados a su entidad.

Ejemplos: Nombre, Dirección, Fecha de nacimiento, Precio.

Relaciones

Asociaciones entre entidades. Se representan como rombos conectados a las entidades relacionadas.

Ejemplos: Un cliente realiza un pedido, un empleado pertenece a un departamento.

Tipos de relaciones

  • Uno a uno (1:1): Un registro en la tabla A se relaciona con exactamente un registro en la tabla B.
  • Uno a muchos (1:N): Un registro en la tabla A se relaciona con varios registros en la tabla B.
  • Muchos a muchos (N:M): Varios registros en la tabla A se relacionan con varios registros en la tabla B. Requiere una tabla intermedia.

Normalización de bases de datos

La normalización es un proceso que consiste en aplicar una serie de reglas a las tablas de una base de datos para minimizar la redundancia y mejorar la integridad de los datos.

Forma Normal Descripción
Primera Forma Normal (1FN) Elimina grupos repetitivos y garantiza que cada campo contenga un solo valor atómico (no divisible).
Segunda Forma Normal (2FN) Cumple 1FN y todos los atributos no clave dependen completamente de la clave primaria.
Tercera Forma Normal (3FN) Cumple 2FN y no existen dependencias transitivas (atributos que dependen de otros atributos no clave).
Forma Normal de Boyce-Codd (FNBC) Versión más estricta de 3FN que trata casos especiales de dependencias funcionales.
Cuarta Forma Normal (4FN) Elimina dependencias multivaluadas no triviales.
Quinta Forma Normal (5FN) Trata con dependencias de unión y descomposiciones sin pérdida de información.

Consideraciones prácticas

En la práctica, la mayoría de las bases de datos se normalizan hasta la tercera forma normal (3FN), que ofrece un buen equilibrio entre integridad de datos y rendimiento. En algunos casos, puede ser necesario "desnormalizar" ciertas partes de la base de datos para mejorar el rendimiento de consultas frecuentes.

Tipos de bases de datos

Existen diversos tipos de bases de datos, cada uno con características específicas que los hacen adecuados para diferentes necesidades y contextos de uso.

Clasificación según el modelo de datos

Las bases de datos relacionales organizan los datos en tablas (relaciones) con filas y columnas. Se basan en el modelo relacional propuesto por E.F. Codd en 1970 y utilizan SQL como lenguaje estándar.

Características principales:
  • Estructura basada en tablas relacionadas entre sí
  • Garantía de integridad referencial
  • Soporte para transacciones ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad)
  • Lenguaje SQL estandarizado
  • Escalabilidad vertical (aumentando recursos del servidor)
Ejemplos de SGBD relacionales:
  • MySQL / MariaDB
  • PostgreSQL
  • Oracle Database
  • Microsoft SQL Server
  • IBM Db2
Casos de uso ideales
  • Sistemas de gestión empresarial (ERP, CRM)
  • Aplicaciones financieras y contables
  • Sistemas de gestión documental estructurados
  • Aplicaciones con datos altamente estructurados
  • Sistemas que requieren integridad transaccional

Las bases de datos NoSQL (Not Only SQL) surgieron como alternativa a las bases de datos relacionales para manejar grandes volúmenes de datos no estructurados o semiestructurados, con esquemas flexibles y alta escalabilidad horizontal.

Tipos de bases de datos NoSQL
  • Documentales: Almacenan datos en documentos tipo JSON o BSON (MongoDB, CouchDB)
  • Clave-valor: Almacenan pares de clave-valor simples (Redis, DynamoDB)
  • Columnares: Almacenan datos por columnas en lugar de filas (Cassandra, HBase)
  • De grafos: Optimizadas para datos interconectados (Neo4j, Amazon Neptune)
Características principales
  • Esquemas flexibles o sin esquema
  • Alta escalabilidad horizontal (añadiendo más servidores)
  • Optimizadas para operaciones específicas
  • Consistencia eventual (vs. consistencia inmediata)
  • Mejor rendimiento para ciertos tipos de consultas
  • Diseñadas para Big Data y aplicaciones web a gran escala
Casos de uso ideales: Redes sociales, análisis de big data, aplicaciones IoT, catálogos de productos, aplicaciones en tiempo real, sistemas de recomendación, gestión de contenidos.

Bases de datos en memoria

Almacenan datos principalmente en la memoria RAM para acceso ultrarrápido.

Ejemplos: Redis, Memcached, SAP HANA

Usos: Caché, análisis en tiempo real, aplicaciones de alto rendimiento

Bases de datos orientadas a objetos

Almacenan datos como objetos, similar a la programación orientada a objetos.

Ejemplos: ObjectDB, db4o, ObjectStore

Usos: Aplicaciones con modelos de datos complejos, CAD, sistemas multimedia

Bases de datos temporales

Especializadas en gestionar datos con dimensión temporal, manteniendo históricos de cambios.

Ejemplos: TimeScale DB, InfluxDB

Usos: Series temporales, monitorización, datos financieros históricos

Bases de datos NewSQL

Combinan las ventajas de las bases de datos relacionales (ACID) con la escalabilidad de NoSQL.

Ejemplos: Google Spanner, CockroachDB, NuoDB

Usos: Aplicaciones que requieren escalabilidad y consistencia transaccional

Clasificación según su ubicación

Bases de datos locales

Se instalan y ejecutan en equipos o servidores locales de la organización.

Ventajas:
  • Control total sobre los datos
  • No dependen de conexión a internet
  • Mayor seguridad potencial
  • Sin costes recurrentes de suscripción
Desventajas:
  • Requieren mantenimiento propio
  • Costes iniciales de hardware
  • Escalabilidad limitada
  • Acceso remoto más complejo

Bases de datos en la nube

Servicios de bases de datos alojados en la nube y accesibles a través de internet.

Ventajas:
  • Escalabilidad bajo demanda
  • Reducción de costes de infraestructura
  • Mantenimiento gestionado
  • Alta disponibilidad y redundancia
  • Acceso desde cualquier ubicación
Desventajas:
  • Dependencia de la conexión a internet
  • Posibles problemas de latencia
  • Costes recurrentes
  • Menor control sobre los datos

Bases de datos híbridas

Combinan elementos de bases de datos locales y en la nube para aprovechar las ventajas de ambos enfoques.

Características:
  • Datos críticos almacenados localmente
  • Datos menos sensibles o copias de seguridad en la nube
  • Sincronización entre entornos
  • Balanceo de cargas entre local y nube
Escenarios de uso:
  • Organizaciones con requisitos de cumplimiento estrictos
  • Empresas en transición hacia la nube
  • Sistemas con necesidades de alta disponibilidad
  • Entornos con cargas de trabajo variables

Criterios para seleccionar el tipo de base de datos adecuado

La elección del tipo de base de datos debe basarse en:

  • Naturaleza de los datos: Estructurados, semiestructurados o no estructurados
  • Volumen de datos: Cantidad de información a almacenar y tasa de crecimiento
  • Patrones de acceso: Frecuencia de lecturas vs. escrituras, tipos de consultas
  • Requisitos de rendimiento: Tiempo de respuesta, número de transacciones por segundo
  • Escalabilidad: Crecimiento previsto y picos de carga
  • Presupuesto: Costes iniciales vs. costes operativos
  • Requisitos de seguridad y cumplimiento: Normativas aplicables, sensibilidad de los datos

Operaciones básicas con bases de datos

Las operaciones básicas que se pueden realizar con bases de datos se conocen comúnmente como operaciones CRUD (Create, Read, Update, Delete). Estas cuatro operaciones fundamentales son la base de cualquier sistema de gestión de información.

CRUD: El acrónimo fundamental

CRUD es un acrónimo que representa las cuatro operaciones básicas que se pueden realizar con datos persistentes:

  • Create (Crear): Añadir nuevos registros a la base de datos.
  • Read (Leer): Consultar o recuperar información existente.
  • Update (Actualizar): Modificar registros existentes.
  • Delete (Eliminar): Borrar registros de la base de datos.

SQL: Lenguaje estándar para bases de datos relacionales

SQL (Structured Query Language) es el lenguaje estándar para interactuar con bases de datos relacionales. Permite realizar todas las operaciones CRUD mediante comandos específicos.

Operación Comando SQL Descripción Ejemplo
Create INSERT INTO Añade nuevos registros a una tabla existente. INSERT INTO clientes (nombre, email) VALUES ('Ana López', 'ana@correo.com');
Read SELECT Recupera datos de una o varias tablas. SELECT nombre, email FROM clientes WHERE id = 101;
Update UPDATE Modifica registros existentes. UPDATE clientes SET email = 'nuevo@correo.com' WHERE id = 101;
Delete DELETE Elimina registros de una tabla. DELETE FROM clientes WHERE id = 101;

Otros comandos SQL importantes

Definición de estructura
  • CREATE DATABASE: Crea una nueva base de datos
  • CREATE TABLE: Crea una nueva tabla
  • ALTER TABLE: Modifica la estructura de una tabla
  • DROP TABLE: Elimina una tabla
Control de datos
  • COMMIT: Confirma una transacción
  • ROLLBACK: Revierte los cambios de una transacción
  • GRANT: Asigna permisos a usuarios
  • REVOKE: Retira permisos a usuarios

Herramientas para trabajar con bases de datos

Existen diversas aplicaciones y herramientas que facilitan las operaciones con bases de datos sin necesidad de escribir código SQL directamente.

Los gestores gráficos proporcionan una interfaz visual para realizar operaciones con bases de datos sin necesidad de escribir código SQL directamente.

Características comunes:
  • Visualización de la estructura de tablas y relaciones
  • Interfaces para crear, editar y eliminar tablas
  • Editores visuales de consultas
  • Herramientas de importación y exportación
  • Gestión de usuarios y permisos
Ejemplos populares
  • phpMyAdmin (MySQL/MariaDB)
  • pgAdmin (PostgreSQL)
  • SQL Server Management Studio
  • Oracle SQL Developer
  • DBeaver (multiplataforma)
  • HeidiSQL (Windows)

Las suites ofimáticas también ofrecen soluciones para crear y gestionar bases de datos simples, adecuadas para usuarios sin conocimientos técnicos avanzados.

Microsoft Access

Sistema de gestión de bases de datos relacionales incluido en algunas versiones de Microsoft Office.

  • Interfaces visuales para crear tablas y relaciones
  • Formularios para entrada y edición de datos
  • Informes personalizados
  • Consultas mediante asistentes
LibreOffice Base

Alternativa de código abierto similar a Access, incluida en la suite LibreOffice.

  • Conexión a bases de datos existentes
  • Creación de formularios e informes
  • Consultas SQL o mediante asistente
  • Integración con otras aplicaciones LibreOffice

Generación de informes y exportación de datos

Generación de informes

Los informes son representaciones estructuradas de los datos para facilitar su análisis e interpretación.

Herramientas especializadas:
  • Crystal Reports: Herramienta profesional para la generación de informes
  • Jasper Reports: Biblioteca de código abierto para informes
  • Power BI: Herramienta de Microsoft para análisis y visualización
  • Tableau: Plataforma de análisis visual de datos
Tipos de informes comunes:
  • Informes tabulares (listados)
  • Informes estadísticos (resumen, agrupación)
  • Informes gráficos (visualizaciones)
  • Informes paramétricos (filtrados por el usuario)

Exportación de datos

La exportación permite transferir datos desde la base de datos a otros formatos para su uso en diferentes aplicaciones.

Formatos comunes de exportación:
  • CSV (Valores separados por comas): Formato simple y universal
  • Excel (XLS/XLSX): Para análisis en hojas de cálculo
  • PDF: Para distribución e impresión
  • XML: Para intercambio estructurado de datos
  • JSON: Para aplicaciones web e intercambio de datos
Consejo: Al exportar datos sensibles, asegúrate de aplicar medidas de seguridad como encriptación y control de acceso para proteger la información fuera del entorno de la base de datos.

Buenas prácticas en el trabajo con bases de datos

  • Documenta siempre la estructura: Mantén diagramas y diccionarios de datos actualizados.
  • Realiza copias de seguridad regularmente: Establece políticas de respaldo acordes a la importancia de los datos.
  • Usa transacciones para operaciones complejas: Las transacciones garantizan la integridad de los datos.
  • Optimiza las consultas: Una consulta mal diseñada puede consumir muchos recursos.
  • Establece políticas de seguridad: Controles de acceso, encriptación y auditoría.
  • Valida los datos: Implementa restricciones y validaciones para mantener la calidad de la información.