Desde tiempos inmemoriales, los
humanos han almacenado los datos en algún tipo de soporte (piedra,
papel, madera, etc.) a fin de que quedara constancia. Así mismo
estos datos han de ser interpretados para que se conviertan en
información útil, interpretación que supone un fenómeno de
agrupación y clasificación.
Actualmente las bases de datos son el método preferido para el
almacenamiento estructurado de datos. Desde las grandes
aplicaciones multiusuario, hasta los teléfonos móviles y las
agendas electrónicas utilizan tecnología de bases de datos para
asegurar la integridad de los datos y facilitar la labor tanto de
usuarios como de los programadores que las desarrollaron.
Desde la realización del primer modelo de datos, pasando por la
administración del sistema gestor, hasta llegar al desarrollo de la
aplicación, los conceptos y la tecnología asociados son muchos y
muy heterogéneos. Sin embargo, es imprescindible conocer los
aspectos clave de cada uno de estos temas para tener éxito en
cualquier proyecto que implique trabajar con bases de datos.
En los años 40 del siglo pasado, los sistemas de archivos generados
a través de los primeros lenguajes de programación como
Cobol y
Fortran, permitieron almacenar los datos a través de archivos
sin formato alguno (texto plano, como por ejemplo cuando se guarda
un texto en el editor de textos sin ningún formato) con las únicas
funciones de lectura y escritura.
Posteriormente surgió el denominado sistema de
ficheros que es un conjunto de programas que prestan
servicio a los usuarios finales. Cada programa define y maneja sus
propios datos. Los sistemas de ficheros surgieron al tratar de
informatizar el manejo de los archivadores manuales con objeto de
proporcionar un acceso más eficiente a los datos. En lugar de
establecer un sistema centralizado en donde almacenar todos los
datos de la organización o empresa, se escogió un modelo
descentralizado en el que cada división o departamento almacena y
gestiona sus propios datos.
Los sistemas de ficheros presentan una serie de inconvenientes:
Los inconvenientes de los sistemas de ficheros se pueden atribuir a dos factores:
El objetivo básico de cualquier
base de datos es el almacenamiento de símbolos, números y letras
carentes de un significado en sí, que mediante un tratamiento
adecuado se convierten en información útil. Un ejemplo podría ser
el siguiente dato: 20131224, con el tratamiento correcto podría
convertirse en la siguiente información: "Fecha de nacimiento: 24
de diciembre del año 2013".
Según van evolucionando en el tiempo, las necesidades de
almacenamiento de datos van creciendo y con ellas las necesidades
de transformar los mismos datos en información de muy diversa
naturaleza. Esta información es utilizada como herramientas de
trabajo y soporte para la toma de decisiones por un gran colectivo
de profesionales que consideran dicha información como base de su
actividad. Por este motivo el trabajo del diseñador de bases de
datos es cada vez más delicado, un error en el diseño o en la
interpretación de datos puede dar lugar a información incorrecta y
conducir al usuario a la toma de decisiones equivocadas. Se hace
necesario la creación de un sistema que ayude al diseñador a crear
estructuras correctas y fiables, minimizando los tiempos de diseño
y explotando todos los datos, así nació la metodología de diseño de
bases de datos.
Se puede definir una base de datos, como un
fichero en el cual se almacena información de cualquier tipo. En
dicho fichero la información se guarda en campos o delimitadores,
por ejemplo, podemos almacenar el nombre y apellidos de las
personas de modo separado, de ésta forma es posible obtener del
fichero todos los nombres o todos los apellidos, tanto de forma
separada como conjunta. Normalmente el número de campos que se
tienen en una base varía según las necesidades en cuanto a gestión
de datos, de forma que después se pueda explotar la información de
forma ordenada y separada, aunque el resto de la información sigue
almacenada y guardada en la base de datos.
Una base de datos, no es sólo el fichero en donde están datos, sino
que en dicho archivo se encuentra la estructura de los datos, así
que para saber qué longitud tiene cada campo, hay que conocer como
se llama el campo y qué longitud en caracteres tiene, así como el
tipo de datos en dicho campo, porque puede contener desde letras a
números o incluso otros datos más complejos, dependiendo de la
estructura de la base y del sistema gestor.
En realidad aparte de los datos que son almacenados en el archivo,
también otra serie de datos, en los que se informa del tipo de
campo, los campos y la longitud de cada campo, es lo que se llama
gestor de datos, que permite saber que cada registro (un registro
es una suma de campos, por ejemplo a Marisol Collazos, Marisol lo
guardamos en el campo Nombre y Collazos en el campo Apellidos, cada
registro es cada persona que almacenamos en la base, osea una
persona es un registro y cada registro está constituido por los
campos Nombre y Apellido.
Un Sistema Gestor de Bases de Datos (SGBD) es una serie de recursos
para manejar grandes volúmenes de información, sin embargo no todos
los sistemas que manejan información son bases de datos.
Para trabajar de un modo más efectivo, en 1964, se diseñaron los
primeros Gestores de Base de Datos (SGDB o DBMS),
por medio de los que se pretendía dar un cambio total a los
sistemas de archivos. Con los DBMS se creó el concepto de
administración de datos, por medio de actividades integradas que
permiten verlos físicamente en un almacenamiento único pero
lógicamente se manipulan a través de esquemas compuestos por
estructuras donde se establecen vínculos de integridad, métodos de
acceso y organización física sobre los datos, permitiendo así
obtener valores agregados de utilización tales como: manejo de
usuarios, seguridad, atomicidad e independencia física y lógica de
los datos, entre otros.
Los sistemas de bases de datos tienen su origen en el proyecto
estadounidense Apolo de mandar al hombre a la luna, gran cantidad
de información que requería el proyecto. La primera empresa
encargada del proyecto, NAA (North American Aviation),
desarrolló un software denominado GUAM (General Update Access
Method) que estaba basado en el concepto de que varias piezas
pequeñas se unen para formar una pieza más grande, y así
sucesivamente hasta que el producto final está ensamblado.
El primer sistema gestor de bases de datos comercial, IDS
(Integrated Data Store) de General Electric y Bull, se
diseñó bajo el concepto de modelo de datos en red (Bachgman, 1965).
Posteriormente se desarrolló el IMS (Information Management
System) de IBM, sobre el concepto del modelo de datos
jerárquico. A estos sistemas se accedía normalmente mediante
lenguajes de programación como COBOL usando interfaces de bajo
nivel, lo cual implicaba que las tareas de creación de aplicaciones
y mantenimiento de los datos fueran controlables, aunque bastante
complejas.
Durante los años ochenta del siglo pasado aparecen y se difunden
rápidamente los ordenadores personales. También surge software para
estos equipos monousuario (por ejemplo, dBase y sus derivados,
Access), con los cuales es fácil crear y utilizar conjuntos de
datos, y que se denominan personal data bases. El hecho de
denominar SGBD a estos primeros sistemas para PC es un poco
forzado, ya que no aceptaban estructuras complejas ni
interrelaciones, ni podían ser utilizados en una red que sirviese
simultáneamente a muchos usuarios de diferentes tipos. Sin embargo,
algunos, con el tiempo, se han ido convirtiendo en auténticos
SGBD.
Actualmente, los SGBD relacionales están en plena transformación
para adaptarse a tres tecnologías de éxito reciente, fuertemente
relacionadas: la multimedia, la de orientación a objetos (OO) e
internet y la web.
Sin embargo, algunas aplicaciones no tienen suficiente con la
incorporación de tipos especializados en multimedia. Necesitan
tipos complejos que el desarrollador pueda definir a medida de la
aplicación. En definitiva, se necesitan tipos abstractos de datos
(TAD). Los SGBD más recientes ya incorporan esta posibilidad, y
abren un amplio mercado de TAD predefinidos o librerías de
clases.
Esto conduce a la orientación a objetos (OO). El éxito de la OO al
final de los años ochenta, en el desarrollo de software básico, en
las aplicaciones de ingeniería industrial y en la construcción de
interfaces gráficas con los usuarios, ha hecho que durante la
década de los noventa se extendiese en prácticamente todos los
campos de la informática.
La amplia difusión de la web ha dado lugar a que los SGBD
incorporen recursos para ser servidores de páginas web, como por
ejemplo la inclusión de SQL en páginas web en lenguaje HTML, SQL
incorporado en Java, etc.
Durante estos últimos años se ha empezado a extender un tipo de
aplicación de las BD denominado Data Warehouse, o almacén
de datos, que también produce algunos cambios en los SGBD
relacionales del mercado.
Un sistema de bases de datos debe responder a las siguientes
características: