Bases de Datos:
1. Conceptos y Características de las Bases de Datos
Definición
Una base de datos (BD) es un conjunto estructurado de datos
organizados para su almacenamiento, acceso, gestión y actualización
eficiente. Permite representar entidades del mundo real y sus relaciones
mediante modelos específicos.
Características Principales
1. Persistencia: Los datos se mantienen a largo plazo.
2. Estructuración: Organizados mediante esquemas (tablas,
documentos, grafos, etc.).
3. Independencia: Separación entre datos y aplicaciones
(independencia lógica y física).
4. Consistencia: Garantiza la integridad mediante reglas y
restricciones.
5. Seguridad: Control de acceso mediante usuarios y permisos.
6. Concurrencia: Manejo de múltiples operaciones simultáneas.
7. Escalabilidad: Capacidad de adaptarse a volúmenes crecientes
de datos.
2. Modelos de Bases de Datos
Los modelos de bases de datos son marcos conceptuales que definen
cómo se organizan, almacenan y gestionan los datos. Cada modelo
establece reglas y estructuras específicas para representar entidades y
sus relaciones, adaptándose a distintos tipos de aplicaciones y
necesidades técnicas. A continuación, se explican los modelos más
relevantes:
2.1. Jerárquico
Definición:
Modelo que organiza los datos en una estructura de árbol, donde cada
elemento (nodo) tiene un único padre y múltiples hijos. Las relaciones
siguen una jerarquía predefinida, similar a un sistema de carpetas y
subcarpas.
Estructura: Árbol invertido con nodos padre-hijo (1:N ).
Ejemplo: IBM IMS (Information Management System).
Ventaja: Eficiencia en consultas jerárquicas.
Desventaja: Rigidez en relaciones complejas.
2.2. Red (CODASYL)
Definición:
Modelo que permite relaciones complejas entre datos mediante una
estructura de grafos, donde un nodo puede tener múltiples padres.
Diseñado para representar conexiones "muchos-a-muchos" (N:M ) de
manera explícita.
Estructura: Grafos con relaciones N:M mediante punteros.
Ejemplo: IDMS.
Ventaja: Flexibilidad en relaciones complejas.
Desventaja: Complejidad en diseño y consultas.
2.3. Relacional
Definición:
Modelo basado en tablas (relaciones) donde los datos se organizan en
filas (registros) y columnas (atributos). Las relaciones entre tablas se
establecen mediante claves primarias y foráneas, garantizando
integridad y consistencia.
Estructura: Datos en tablas (filas y columnas) relacionadas
mediante claves.
Ejemplo: MySQL, PostgreSQL.
Ventaja: Simplicidad, normalización y uso de SQL.
2.4. Orientado a Objetos
Definición:
Modelo que almacena datos como objetos, encapsulando atributos y
métodos dentro de estructuras complejas. Ideal para aplicaciones que
requieren integración directa con lenguajes de programación orientados
a objetos.
Estructura: Almacena objetos (atributos + métodos).
Ejemplo: ObjectDB.
Ventaja: Integración con lenguajes OOP (Java, C++).
2.5. Objeto-Relacional
Definición:
Modelo híbrido que combina la estructura tabular del modelo relacional
con la capacidad de almacenar tipos de datos complejos, como objetos o
documentos.
Híbrido: Combina tablas con tipos de datos complejos (ej:
PostgreSQL con JSONB).
2.6. Orientado a Documentos
Definición:
Modelo NoSQL que almacena datos en documentos flexibles (ej: JSON o
XML), sin esquemas fijos. Permite adaptarse a estructuras dinámicas o
heterogéneas.
Estructura: Almacena datos en formatos semiestructurados
(JSON/XML).
Ejemplo: MongoDB.
Ventaja: Flexibilidad para datos heterogéneos.
3. Bases de Datos Relacionales
Definición
Sistema que organiza datos en tablas (relaciones) con filas (tuplas) y
columnas (atributos), vinculadas mediante claves primarias y foráneas.
Características
ACID: Atomicidad, Consistencia, Aislamiento, Durabilidad.
Normalización: Elimina redundancias (1FN, 2FN, 3FN).
SQL: Lenguaje estándar para consultas.
Estructuras
1. Tablas: Entidades con atributos.
2. Claves: Primarias (identifican registros) y Foráneas (relaciones).
3. Índices: Aceleran búsquedas (ej: índice B-tree).
4. Vistas: Tablas virtuales basadas en consultas.
5. Procedimientos Almacenados: Lógica de negocio en el servidor.
4. Sistema de Gestión de Bases de Datos (SGBD)
Definición
Software que permite crear, mantener y administrar bases de datos (ej:
Oracle, SQL Server).
Objetivos
Gestión eficiente de datos.
Garantizar seguridad e integridad.
Facilitar acceso concurrente.
Características
Abstracción de Datos:
o Nivel físico: Almacenamiento en disco.
o Nivel lógico: Esquema de tablas.
o Nivel de vista: Interfaz para usuarios.
Arquitectura ANSI/SPARC: 3 niveles (interno, conceptual,
externo).
Usuarios
1. Administradores (DBA): Mantenimiento y seguridad.
2. Diseñadores: Modelado de esquemas.
3. Desarrolladores: Implementación de aplicaciones.
4. Usuarios Finales: Consultas mediante interfaces.
Tipos de SGBD
Relacionales, NoSQL (documentos, grafos), Distribuidos, etc.
5. Administración de Bases de Datos
Funciones del DBA
1. Instalación y configuración del SGBD.
2. Backup y recuperación de datos.
3. Optimización de rendimiento (índices, consultas).
4. Gestión de permisos y auditorías.
5. Actualización de esquemas (migraciones).
Roles Clave
Administrador de Datos (DA): Define políticas y estándares.
Administrador de BD (DBA): Implementa y mantiene
técnicamente la BD.
6. SQL: Consultas y Procesamiento
Consultas Básicas
SELECT: Recuperar datos.
sql
Copy
SELECT nombre, edad FROM usuarios WHERE edad > 30;
INSERT: Agregar registros.
UPDATE: Modificar datos.
DELETE: Eliminar registros.
Procesamiento de Consultas
1. Análisis Léxico/Sintáctico: Verifica sintaxis SQL.
2. Optimización: Elige el plan de ejecución más eficiente.
3. Ejecución: Accede a índices y tablas para obtener resultados.
Conclusión
Las bases de datos son pilares en la gestión de información moderna,
con modelos adaptados a diversas necesidades (relacional, NoSQL, etc.).
Los SGBD y su administración garantizan eficiencia, seguridad y
escalabilidad, mientras que SQL sigue siendo estándar para
manipulación de datos. Este conocimiento es esencial para el diseño de
sistemas robustos en ingeniería informática.
Fin del Informe