Introducción a Bases de Datos
¿Qué son las bases de datos?
En su definición más básica, una base de datos es cualquier colección de información interrelacionada. Cuando escribimos la lista de la compra en un papel, estamos creando una pequeña base de datos análoga. Pero, ¿qué es una base de datos en informática? En este contexto, una “base de datos” se define como una colección de información que se almacena en forma de datos en un sistema informático; por ejemplo, el inventario de su supermercado habitual.
¿Para qué se usan las bases de datos?
Las bases de datos se usan para almacenar y organizar los datos de forma que resulte más fácil administrarlos y acceder a ellos. A medida que una colección de datos crece y se hace más compleja, es más difícil mantener los datos organizados, accesibles y seguros. Para ayudar con esto, se usan sistemas de administración de bases de datos (DBMS, por sus siglas en ingles: DataBase Management System), que incluyen una capa de herramientas de administración de bases de datos.
¿Qué son los datos?
El término “datos” hace referencia a cualquier información que se captura y almacena sobre una persona, un lugar, una cosa o un objeto, que se denomina entidad, así como los atributos de esa entidad.
Por ejemplo, si captura y almacena información sobre restaurantes locales, cada restaurante es una entidad y su nombre, dirección y horario comercial son atributos de esa entidad. Toda la información que recopila y almacena sobre sus restaurantes favoritos son datos.
Tipos de bases de datos
En líneas generales, los tipos de bases de datos se agrupan en relacionales y no relacionales. Las bases de datos relacionales están muy estructuradas y reconocen un lenguaje de programación denominado Lenguaje de consulta estructurado (SQL, por sus siglas en inglés: Structured Query Language). Las bases de datos no relacionales son muy diversas y admiten una gran variedad de estructuras de datos. Puesto que muchas bases de datos no relacionales no utilizan SQL, a menudo se denominan bases de datos NoSQL.
Tipos de estructuras de datos
Las tablas son la estructura de la cuál parten todas las operaciones en una base de datos relacional. Organizan los datos en filas y columnas, donde las filas contienen entidades y las columnas contienen atributos de las entidades.
Las estructuras de datos se construyen en la memoria principal (RAM) y contienen una copia de los datos solicitados a la memoria secundaria (disco duro). Cuando los datos se encuentran en la memoria principal pueden ser facilmente manipulados a través de una estructura de datos para luego regresar los datos ya modificados nuevamente a la memoria secundaria.
Matriz
Una matriz es una estructura de datos que garantiza el almacenamiento contiguo en memoria. Para acceder a los elementos de una matriz se hace uso de indices. Las bases de datos utilizan las matrices para colocar bloques de datos contiguos en memoria y de esta manera optimizan el tiempo de acceso al disco duro.
Listas enlazadas
Un elemento de una lista enlazada puede ser almacenado en cualquier espacio disponible de la memoria. Cada elemento de una lista enlazada conoce la dirección de memoria en la cual está ubicado el siguiente elemento de la lista el cual puede estar en cualquier dirección de memoria.
Árbol binario
Las estructuras de árbol organizan los elementos de la base de datos en una estructura de datos jerárquica compuesta por nodos que dependen de un nodo raíz. Entre los nodos se establecen relaciones de tipo primario-secundario.
Grafo
Las estructuras de grafo organizan los elementos de la base de datos en una red no jerárquica de nodos con relaciones complejas entre sí.
Tabla Hash
Las estructuas basadas en hash asignan claves a valores usando funciones hash que asocian datos relacionados mediante la asignación de índices a tablas hash.
Estructuras de datos orientadas a documentos
Las estructuras de datos orientadas a documentos organizan la información sobre una entidad en un único objeto (el documento), que es independiente de otros objetos. No es necesario establecer relaciones entre los objetos y se puede editar un solo objeto sin que afecte a los demás.
Tipos de bases de datos
Bases de datos relacionales
En una base de datos relacional, que es el tipo más común, los datos se organizan en tablas que contienen información sobre cada entidad y representan categorías predefinidas mediante filas y columnas. Estos datos estructurados son eficaces y flexibles a la hora de acceder a ellos.
Algunos ejemplos de bases de datos relacionales son:
- SQL Server
- Oracle DBMS
- MySQL
- PostgreSQL
- MariaDB
Bases de datos no relacionales
Las bases de datos no relacionales almacenan datos no estructurados o semiestructurados. No usan tablas con columnas y filas como lo hacen las bases de datos relacionales. En su lugar, utilizan un modelo de almacenamiento que está optimizado para los requisitos específicos del tipo de datos que se almacena. Las bases de datos no relacionales permiten acceder a conjuntos más grandes de datos distribuidos, actualizarlos y analizarlos rápidamente.
Algunos ejemplos de bases de datos no relacionales son:
- MongoDB
- Azure Cosmos DB
- DocumentDB
- Cassandra
- HBase
- Redis
- Neo4j
Algunas bases de datos no relacionales se conocen como bases de datos NoSQL. El término “NoSQL” hace referencia a almacenes de datos que no usan SQL (o no solo SQL) para las consultas. En su lugar, las bases de datos NoSQL usan otros lenguajes de programación y construcciones para consultar los datos. Muchas bases de datos NoSQL admiten consultas compatibles con SQL, pero la forma en la que ejecutan estas consultas suele ser diferente de la forma en la que una base de datos relacional tradicional ejecutaría la misma consulta SQL.
Memorias caché y bases de datos en memoria
Todos los datos de una base de datos en memoria se almacenan en la memoria principal (RAM) de un equipo. Cuando se consulta o se actualiza este tipo de base de datos, se accede directamente a la memoria principal, lo que quiere decir que el disco duro no está involucrado. Los datos se cargan rápidamente porque el acceso a la memoria principal (que está cerca del procesador en la placa base) es mucho más rápido que si se accede al disco duro.
Las bases de datos en memoria se usan normalmente para almacenar copias de información a la que se accede con frecuencia, como los datos de precios o de inventario. Esto se conoce como almacenamiento en caché. Cuando se almacenan datos en caché, se guarda una copia en una ubicación temporal para que se carguen más rápido la próxima vez que se soliciten.
Tomado de: https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-are-databases/