Una base de datos es un sistema organizado para almacenar, gestionar.
Recuperar datos de forma eficiente.
Se compone de un conjunto de datos relacionados.
Se guardan de manera estructurada, permitiendo su acceso.
Manipulación y actualización mediante herramientas específicas.
Sistemas de gestión de bases de datos SGBD o DBMS.
Tipos de Bases de Datos
1. Bases de Datos Relacionales RDB
Descripción: Organizan los datos en tablas filas y columnas, donde las relaciones entre datos se definen mediante claves primarias y foráneas.
Ejemplos: MySQL, PostgreSQL, Oracle, SQL Server
Usos: Sistemas de gestión empresarial, tiendas online, ERPs, CRMs, etc.
Ventajas: Integridad de datos, facilidad de consultas con SQL, consistencia.
2. Bases de Datos No Relacionales (NoSQL)
Descripción: Diseñadas para trabajar con grandes volúmenes de datos no estructurados o semiestructurados. No usan un esquema fijo.
Tipos dentro de NoSQL:
Documentales: MongoDB, CouchDB almacenan datos en formato JSON o BSON
Clave-Valor: Redis, DynamoDB
Columnar: Cassandra, HBase
Grafos: Neo4j, ArangoDB
Usos: Aplicaciones web modernas, redes sociales, análisis en tiempo real, big data.
Ventajas: Escalabilidad, flexibilidad, alto rendimiento.
3. Bases de Datos Orientadas a Objetos
Descripción: Integran características de la programación orientada a objetos POO. Los datos se almacenan como objetos.
Ejemplos: db4o, ObjectDB, Versant
Usos: Aplicaciones científicas, simulaciones, sistemas con estructuras complejas.
Ventajas: Coincidencia directa con los lenguajes orientados a objetos, reutilización de objetos.
4. Bases de Datos Distribuidas
Descripción: Los datos están distribuidos en diferentes ubicaciones físicas, pero se accede a ellos como si fueran una sola base.
Ejemplos: Google Spanner, Apache Cassandra, CockroachDB
Usos: Sistemas globales, aplicaciones en la nube, servicios de alta disponibilidad.
Ventajas: Escalabilidad horizontal, tolerancia a fallos, acceso simultáneo.
5. Bases de Datos en Memoria
Descripción: Almacenan los datos directamente en la memoria RAM para acelerar el acceso.
Ejemplos: Redis, Memcached
Usos: Caché, aplicaciones que requieren respuesta rápida, analítica en tiempo real.
Ventajas: Velocidad extremadamente alta.
6. Bases de Datos Jerárquicas
Descripción: Organizan los datos en una estructura tipo árbol padre-hijo.
Ejemplo: IBM Information Management System IMS
Usos: Sistemas antiguos, gestión de directorios, sistemas bancarios
antiguos.
Desventajas: Falta de flexibilidad para estructuras complejas.
7. Bases de Datos de Red
Descripción: Similar a las jerárquicas, pero permiten múltiples relaciones nodos pueden tener varios padres.
Ejemplo: Integrated Data Store IDS
Usos: Sistemas heredados, telecomunicaciones.
8. Bases de Datos Temporales (Time-Series)
Descripción: Almacenan datos con referencia temporal timestamp.
Ejemplos: InfluxDB, TimescaleDB, Prometheus
Usos: IoT, métricas, logs, monitoreo de sistemas.
Ventajas: Optimización para consultas temporales.
9. Bases de Datos Espaciales (Geoespaciales)
Descripción: Diseñadas para almacenar datos relacionados con la geografía o el espacio
Ejemplos: PostGIS extensión de PostgreSQL, Oracle Spatial
Usos: SIG sistemas de información geográfica, apps de mapas, urbanismo.
Ventajas: Soporte para coordenadas, geometrías, rutas.
10. Bases de Datos en la Nube
Descripción: Bases de datos hospedadas en plataformas cloud, con acceso remoto y escalabilidad automática.
Ejemplos: Amazon RDS, Google Cloud SQL, Azure Cosmos DB
Usos: Aplicaciones web y móviles, sistemas globales, soluciones SaaS.
Ventajas: Escalabilidad, gestión automática, alta disponibilidad.
¿Qué es el Diseño de Bases de Datos?
El diseño de bases de datos es el proceso de crear una estructura organizada.
Para almacenar, gestionar y recuperar datos de manera eficiente.
Implica definir cómo se organizarán los datos.
Qué relaciones existirán entre ellos.
Cómo se garantizará su integridad y consistencia.
Este diseño incluye aspectos como:
La definición de tablas y campos.
La identificación de claves primarias y foráneas.
La normalización para evitar redundancias.
El diseño de índices para optimizar el rendimiento.
¿Para qué sirve el Diseño de Bases de Datos?
El diseño de Bases de Datos es fundamental para:
Optimizar el almacenamiento de datos.
Mejorar el rendimiento en las consultas y transacciones.
Evitar redundancias y asegurar la consistencia de los datos.
Facilitar el mantenimiento y la evolución del sistema.
Proteger los datos mediante reglas de integridad.
Un buen diseño garantiza que la base de datos sea escalable.
Eficiente y fácil de utilizar a largo plazo.
Principales Usos del Diseño de Bases de Datos
El diseño de bases de datos se aplica en casi todos los sectores.
Sistemas que trabajan con grandes volúmenes de datos.
Sistemas empresariales
Gestión de clientes, empleados, facturación, inventarios, etc.
Aplicaciones web
Plataformas de e-commerce, redes sociales, foros, blogs.
Sistemas bancarios y financieros
Cuentas, transacciones, préstamos, análisis de riesgo.
Instituciones educativas
Control de estudiantes, notas, asignaturas, matrículas.
Sistemas sanitarios
Historiales médicos, gestión de citas, recetas electrónicas.
Ejemplos de Diseño de Bases de Datos
Base de datos para una tienda online:
Tablas principales:
Clientes ID_cliente, nombre, correo, dirección
Productos ID_producto, nombre, precio, stock
Pedidos ID_pedido, ID_cliente, fecha
Detalle_Pedido ID_pedido, ID_producto, cantidad, subtotal
Relaciones:
Un cliente puede hacer muchos pedidos.
Un pedido puede tener varios productos.
Base de datos para una universidad:
Tablas principales:
Estudiantes ID_estudiante, nombre, carrera
Profesores ID_profesor, nombre, especialidad
Cursos ID_curso, nombre, créditos
Matriculas ID_estudiante, ID_curso, nota
Relaciones:
Un estudiante puede matricularse en varios cursos.
Un profesor puede dictar varios cursos.
Ejemplo Práctico: Sistema de Gestión de Biblioteca
1. Requisitos del Sistema
Una biblioteca quiere un sistema para gestionar:
Libros disponibles
Usuarios que prestan libros
Préstamos y devoluciones
Fechas de vencimiento de los préstamos
2. Identificación de Entidades y Relaciones
Entidades:
Libro: cada libro tiene un título, autor, editorial, y código único.
Usuario: cada usuario tiene un nombre, correo electrónico, y número de socio.
Préstamo: cada préstamo incluye qué libro se prestó, a qué usuario, en qué fecha, y cuándo debe devolverse.
Relaciones:
Un usuario puede realizar varios préstamos.
Un libro puede ser prestado varias veces, pero solo una vez a la vez.
Cada préstamo está asociado a un usuario y un libro.
3. Modelo Entidad-Relación (ER)
Entidades y atributos:
Libro ID_Libro, Título, Autor, Editorial
Usuario ID_Usuario, Nombre, Correo, NºSocio
Préstamo ID_Préstamo, Fecha_Préstamo, Fecha_Devolución
Relaciones:
Usuario —< Préstamo >— Libro
4. Modelo Relacional (Lógico)
5. Reglas de Integridad
Clave primaria: identifica de forma única cada registro por ejemplo, ID_Libro.
Clave foránea: Asegura la integridad entre tablas
ID_Usuario y ID_Libro en la tabla Préstamo.
Un libro no puede prestarse dos veces sin ser devuelto antes.
Se debe registrar siempre la fecha de préstamo y la de devolución cuando se devuelva el libro.
6. Ejemplo de datos
Libro
| ID_Libro | Título | Autor | Editorial |
| 1 | Cien Años de Soledad | G. García M. | Sudamericana |
Usuario
| ID_Usuario | Nombre | Correo | N_Socio |
| 101 | Laura Pérez | laura@gmail.com | 001023 |
Préstamo
| ID_Préstamo | ID_Usuario | ID_Libro | Fecha_Préstamo | Fecha_Devolución |
| 501 | 101 | 1 | 2025-04-10 | 2025-04-20 |
7. Consultas de ejemplo en SQL
Obtener todos los libros prestados actualmente:
Modelo físico del caso práctico del sistema de gestión de biblioteca.
Con las sentencias SQL completas (CREATE TABLE)
Construir las tablas en una base de datos relacional
En MySQL o PostgreSQL.
Modelo Físico – Sentencias SQL
Diagrama ER físico del sistema











