Una base de datos se puede entender como un conjunto de información relacionada y perteneciente a un mismo contexto. Las bases de datos están organizadas en tablas que hacen referencia a algún objeto, entidad o suceso. Estas tablas se relacionan en tre sí, crean vínculos o relaciones de forma que permitan mantener la consistencia y orden coherente de los datos de las tablas.
Las tablas están compuestas por columnas (serían los campos que guardamos) y las filas (serían los registros o datos queirían dentro de dichos campos). Es parecido a una hoja de cálculo pero con la diferencia que las columnas (campos) están predeterminadas a priori.
Conceptos:
Esquema: se trata de una metainformación de la bbdd, es decir, la definición de la estructura donde se almacenan los datos. Contiene toda la información necesaria para organizar los datos en tablas, es decir, registros x campos ó lo que es lo mismo filas x columnas. Además contiene información sobre los procediimientos, vistas, índices, etc.
Los sistemas de BBDD suelen almacenar su propio esquema en su misma BBDD.
En 1950 se inventan las cintas magnéticas donde se guardan de manera secuencial y ordenada una serie de datos. Son sistemas basados en ficheros que poco tienen que ver con los que son hoy en día los gestores de bases de datos. En los 60 ya empiezan a aparecer los discos mágnéticos de forma que ya podemos acceder directamente a cualquier parte de un fichero, adios al acceso secuencial. En esta época aparecen las bases de datos jerárquicas y en red, que aprovechan la capacidad del acceso directo a los ficheros a través de índices que estructuran la información y aceleran su acceso. Las listas enlazadas y los árboles de información son utilizados para indexar la información. Las bases de datos en red trabajan el concepto de un padre y varios hijos, mientras que las jerárquicas pueden trabajar con conceptos como los de tenre varios padries para un único hijo, a modo de grafo en vez de árbol.
CODASYL es considerado como el primer sistema de gestión de base de datos, sistema que posteriormente IBM refina y mejora pasando a ser llamado el sistema como IMS que es utilizado por el programa Apollo de la NASA.
En 1970 Frank Codd, informático de IBM empieza a escribir sobre el modelo relacional para el almacén de datos, Larry Ellison fundador de Oracle se inspira en los artículos de Codd para desarrollar su sistema de base de datos relacional para un proyecto de la CIA.
Ya en la época de los 80 IBM lanza DB2 y crea el SQL (Structured Query Language), lenguaje de manipulación y consulta de las bases de datos. En los años 90 ya estamos hablando de bases de datos paralelas que consiguen una mayor velocidad en la consulta de datos. Y es a finales de los 90 cuando se empieza a hablar de almacenar y manipular objetos (bases de datos orientados a objetos), pasando a un un nivel superior en el almacenamiento de datos. Además se empiezan a almacenar instrucciones para el procesamiento de datos a modo de progrmas que se ejecutan al ocurrir eventos de forma programada.
Otros tipos de bases de datos que han ido apareciendo a lo largo de la historia son:
Con la aparición y popularización de Internet la cantidad de infomración gestionada empieza a crecer de manera exponencial, para evitar el colapso del sistema por saturación se empiezan a desarrollar las bases de datos distribuidas, es decir replicar la información entre diferentes ordenadores a través de la red. El hecho de almacenar tanta información hace que sea necesario un nuevo tipo de software encargado de analizar grandes volumenes de datos para y presentar los resultados de los datos (herramientas OLAP de forma multidimensional (cubos OLAP), herramientas pertenecientes al campo del Business Intelligence.
Data Warehouse: Almacén electrónico donde generalmente una empresa u organización mantiene una gran cantidad de información. Los datos de un data warehouse deben almacenarse de forma segura, fiable, fácil de recuperar y fácil de administrar.
Big Data: también llamda Data Lake, es un gran volumen de datos con una variedad, complejidad y velocidad de crecimiento enorme y que además tienen la característica de no ser estructurados. Eso significa que no son relacionales, estando además fuera del entorno corporativo. Es un tipo de tecnología que te permite analizar los datos en tiempo real y puede provenir de diferentes fuentes y formas, tales como mensajería instantánea, redes sociales, registros de grabaciones, imágenes, mensajes de correo electrónico, etc.