Bases de datos
APUNTES DE BASES DE DATOS
Módulo: Aplicaciones Ofimáticas - Ciclo Formativo de Grado Medio de Informática
1. CONCEPTOS BÁSICOS DE BASES DE DATOS
1.1 ¿Qué es una base de datos?
Una base de datos es un conjunto de datos pertenecientes a un mismo contexto, almacenados sistemáticamente para su posterior uso. En la actualidad, y debido al desarrollo tecnológico, la mayoría de las bases de datos están en formato digital, lo que ofrece un amplio rango de soluciones para la gestión de la información.
1.2 Ventajas de utilizar bases de datos
-
Independencia de los datos: La estructura de la base de datos se almacena de forma separada a la aplicación.
-
Reducción de la redundancia: Se evita la duplicidad de información.
-
Integridad de los datos: Se garantiza la calidad de la información.
-
Seguridad: Control de acceso a los datos según perfiles de usuarios.
-
Datos compartidos: Varios usuarios pueden utilizar la misma base de datos simultáneamente.
1.3 Tipos de bases de datos
-
Bases de datos relacionales: Organizan datos en tablas relacionadas entre sí (MySQL, PostgreSQL, HSQLDB).
-
Bases de datos no relacionales (NoSQL): No utilizan el modelo relacional (MongoDB, Cassandra).
-
Bases de datos orientadas a objetos: Almacenan objetos completos.
-
Bases de datos jerárquicas: Organizan los datos en una estructura de árbol.
2. SISTEMA GESTOR DE BASES DE DATOS (SGBD)
2.1 Definición
Un Sistema Gestor de Bases de Datos (SGBD) es un software específico que sirve de interfaz entre la base de datos, los usuarios y las aplicaciones. Permite crear, gestionar y administrar bases de datos, además de buscar y presentar la información.
2.2 Funciones principales
-
Definición de los datos
-
Manipulación de los datos
-
Seguridad e integridad
-
Control de concurrencia
-
Recuperación y respaldo
2.3 SGBD comunes
-
LibreOffice Base: Solución de código abierto para entornos educativos y pequeñas empresas.
-
MySQL: Popular en aplicaciones web.
-
PostgreSQL: Robusto y con amplias características.
-
HSQLDB: Motor predeterminado de LibreOffice Base.
-
Firebird: Motor alternativo para LibreOffice Base.
-
SQLite: Ligero para aplicaciones móviles y embebidas.
3. MODELO RELACIONAL
3.1 Elementos básicos
-
Tabla: Estructura fundamental que almacena los datos en filas y columnas.
-
Campo/Columna: Cada uno de los atributos que describen a una entidad.
-
Registro/Fila: Conjunto de campos que corresponden a una misma entidad.
-
Clave primaria: Campo o combinación de campos que identifica de forma única a cada registro.
-
Clave foránea: Campo que establece una relación con la clave primaria de otra tabla.
3.2 Relaciones entre tablas
-
Relación uno a uno (1:1): Un registro de la tabla A se relaciona con exactamente un registro de la tabla B.
-
Relación uno a muchos (1:N): Un registro de la tabla A se relaciona con varios registros de la tabla B.
-
Relación muchos a muchos (N:M): Varios registros de la tabla A se relacionan con varios registros de la tabla B (requiere una tabla intermedia).
3.3 Normalización
Proceso para organizar los datos eliminando redundancias e inconsistencias:
-
Primera Forma Normal (1FN): Eliminar grupos repetitivos.
-
Segunda Forma Normal (2FN): Cumplir 1FN y eliminar dependencias parciales.
-
Tercera Forma Normal (3FN): Cumplir 2FN y eliminar dependencias transitivas.
4. LIBREOFFICE BASE COMO SGBD
4.1 Introducción a LibreOffice Base
LibreOffice Base es el componente de bases de datos de la suite ofimática LibreOffice. Es una alternativa gratuita y de código abierto a Microsoft Access, que permite crear y gestionar bases de datos relacionales.
4.2 Interfaz de LibreOffice Base
-
Barra de menús y herramientas
-
Panel de tareas
-
Área de trabajo
-
Vista diseño vs. Vista datos
4.3 Motores de base de datos en LibreOffice Base
-
HSQLDB 2.0 (predeterminado): Integrado y funciona en memoria.
-
Firebird: Mayor rendimiento y capacidad.
-
Conexión a bases de datos externas: MySQL, PostgreSQL, dBase, etc.
4.4 Objetos de Base
-
Tablas: Almacenan los datos.
-
Consultas: Permiten extraer, filtrar y analizar datos específicos.
-
Formularios: Facilitan la entrada y visualización de datos.
-
Informes: Presentan los datos de forma organizada para su impresión.
-
Macros: Automatizan tareas repetitivas utilizando LibreOffice Basic.
4.5 Creación de tablas
-
Diseño de tablas (vista diseño)
-
Asistente para tablas
-
Definir campos y tipos de datos
-
Establecer clave primaria
-
Propiedades de los campos
-
Relaciones entre tablas
4.6 Tipos de datos en LibreOffice Base
-
Texto [VARCHAR]: Caracteres alfanuméricos (hasta 255).
-
Memo [LONGVARCHAR]: Texto largo.
-
Número [INTEGER, SMALLINT, BIGINT]: Valores numéricos enteros.
-
Decimal [DECIMAL, NUMERIC]: Valores numéricos con decimales.
-
Fecha/Hora [DATE, TIME, TIMESTAMP]: Fechas y horas.
-
Sí/No [BOOLEAN]: Valores booleanos.
-
Imagen [LONGVARBINARY]: Almacenamiento de imágenes.
-
Otros tipos: BINARY, VARBINARY, BLOB, etc.
5. CONSULTAS EN LIBREOFFICE BASE
5.1 Tipos de consultas
-
Consultas de selección: Muestran datos según criterios.
-
Consultas de acción: Modifican datos (creación, eliminación, actualización).
-
Consultas SQL directas: Uso del lenguaje SQL.
-
Vistas: Consultas guardadas como objetos.
5.2 Creación de consultas
-
Diseñador de consultas
-
Asistente para consultas
-
Vista SQL
5.3 Elementos de una consulta
-
Tablas y relaciones
-
Campos seleccionados
-
Criterios de selección
-
Ordenación
-
Agrupación
5.4 Operadores en consultas
-
Operadores de comparación: =, <, >, <=, >=, <>
-
Operadores lógicos: AND, OR, NOT
-
Operadores especiales: BETWEEN, IN, LIKE, IS NULL
5.5 Funciones en consultas SQL
-
Funciones de texto: SUBSTRING(), UPPER(), LOWER(), CONCAT(), etc.
-
Funciones de fecha: CURRENT_DATE, EXTRACT(), etc.
-
Funciones numéricas: SUM(), AVG(), COUNT(), MIN(), MAX(), etc.
-
Funciones condicionales: CASE, COALESCE(), etc.
6. FORMULARIOS EN LIBREOFFICE BASE
6.1 Propósito de los formularios
-
Interfaz amigable para el usuario
-
Control de la entrada de datos
-
Visualización personalizada de la información
6.2 Creación de formularios
-
Asistente para formularios
-
Vista diseño (modo diseño)
-
Formularios en blanco
6.3 Elementos de un formulario
-
Controles de texto
-
Botones
-
Casillas de verificación
-
Cuadros combinados y listas
-
Subformularios
-
Imágenes
6.4 Propiedades de formularios
-
Formato (colores, fuentes, etc.)
-
Datos (origen, filtros, etc.)
-
Eventos (acción al abrir, cerrar, etc.)
6.5 Personalización avanzada
-
Navegación entre registros
-
Validación de datos
-
Formato condicional
-
Uso de macros en formularios
7. INFORMES EN LIBREOFFICE BASE
7.1 Características de los informes
-
Diseñados para impresión
-
Presentación profesional de los datos
-
Agrupación y totalización
7.2 Creación de informes
-
Asistente para informes
-
Creación manual en Writer
-
Report Builder (herramienta avanzada)
7.3 Secciones de un informe
-
Encabezado y pie de informe
-
Encabezado y pie de página
-
Detalle
-
Encabezado y pie de grupo
7.4 Elementos de un informe
-
Campos de datos
-
Etiquetas
-
Líneas y rectángulos
-
Imágenes y logotipos
-
Gráficos
-
Fórmulas y cálculos
7.5 Report Builder
-
Interfaz avanzada para informes
-
Control preciso sobre el diseño
-
Funciones avanzadas
-
Exportación a múltiples formatos
8. INTEGRACIÓN CON OTRAS APLICACIONES DE LIBREOFFICE
8.1 Exportación e importación de datos
-
Formatos compatibles (CSV, TXT, XML, XLSX, etc.)
-
Proceso de importación
-
Proceso de exportación
-
Vinculación con fuentes de datos externas
8.2 Integración con Calc
-
Exportar tablas y consultas a Calc
-
Importar hojas de cálculo
-
Análisis de datos de Base en Calc
-
Filtros avanzados y tablas dinámicas
8.3 Integración con Writer
-
Combinación de correspondencia
-
Etiquetas
-
Informes personalizados
-
Campos de formulario
8.4 Otras integraciones
-
Impress (presentaciones con datos)
-
Draw (diagramas de base de datos)
-
Math (fórmulas en informes)
9. SEGURIDAD EN BASES DE DATOS CON LIBREOFFICE BASE
9.1 Importancia de la seguridad
-
Protección de datos sensibles
-
Prevención de pérdidas
-
Cumplimiento normativo (LOPD, RGPD)
9.2 Medidas de seguridad en Base
-
Contraseñas de base de datos
-
Cifrado
-
Permisos de usuario (cuando se conecta a SGBD externos)
-
Mecanismos de respaldo
9.3 Motores y seguridad
-
Ventajas de Firebird frente a HSQLDB en términos de seguridad
-
Configuración segura para conexiones externas
-
Limitaciones de seguridad en Base
9.4 Copias de seguridad
-
Importancia
-
Periodicidad
-
Verificación
-
Almacenamiento seguro
-
Proceso de restauración
10. EJERCICIOS PRÁCTICOS CON LIBREOFFICE BASE
10.1 Diseño de una base de datos para una tienda
-
Tablas necesarias: Productos, Categorías, Clientes, Ventas, Detalles_ventas
-
Relaciones entre tablas
-
Consultas útiles
-
Formularios e informes básicos
10.2 Gestión de un centro educativo
-
Tablas: Alumnos, Profesores, Asignaturas, Notas, Aulas
-
Consultas para obtener listas y estadísticas
-
Formulario de matrícula
-
Informe de calificaciones
10.3 Proyecto final: Desarrollo de una aplicación completa
-
Análisis de requisitos
-
Diseño de la base de datos
-
Implementación de tablas, consultas, formularios e informes
-
Pruebas y optimización
11. CARACTERÍSTICAS ESPECÍFICAS DE LIBREOFFICE BASE
11.1 Diferencias entre Base y otros SGBD
-
Ventajas frente a Microsoft Access
-
Limitaciones frente a sistemas más robustos
-
Compatibilidad entre plataformas
11.2 LibreOffice Base vs. dBase
-
Historia y evolución
-
Similitudes y diferencias
-
Migración de dBase a Base
11.3 Extensiones útiles para Base
-
Report Builder (si no está incluido)
-
Conectores adicionales
-
Plantillas y recursos
11.4 Consejos y mejores prácticas
-
Optimización del rendimiento
-
Mantenimiento de la base de datos
-
Estructura de proyecto recomendada
-
Solución de problemas comunes
BIBLIOGRAFÍA Y RECURSOS
-
Libros recomendados:
-
"LibreOffice Base Cookbook" - BASE COOKBOOK
-
"Diseño de bases de datos relacionales" - Luis Hueso Ibáñez
-
"Base de datos con LibreOffice Base" - F.M. Hernandez García
-
-
Recursos en línea:
-
Documentación oficial: documentation.libreoffice.org/es/documentacion-en-espanol/base/
-
Wiki de LibreOffice: wiki.documentfoundation.org/Base
-
Tutoriales en YouTube: Canal "LibreOffice en español"
-
Foros de ayuda: ask.libreoffice.org/es/questions/
-