Las bases de datos modernas han dejado de ser un concepto tecnológico, para convertirse en un objeto de interacción bastante común y es que resulta difícil imaginar un día común y corriente sin realizar alguna interacción con una de ellas, en actividades tan comunes como ir al cajero, ir de compras al supermercado, ir a la farmacia y mas aun su acceso se ha visto masificado gracias al uso de las tecnologías de comunicación, a tal grado que podemos consultar las bases de datos desde nuestra casa, accedemos a ellas cuando consultamos nuestra cuenta bancaria por internet o compramos de un catalogo de productos por internet.
Las capacidades de estas han crecido mucho, ya no solo almacenamos en ellas textos y números, también almacenamos documentos, imágenes, sonidos, videos, básicamente cualquier tipo de información que podamos imaginar es posible de almacenar en una base de datos.
Pero mencionar todo este no nos da una idea clara de lo que es una base de datos, tan solo nis indica que se trata de grandes volúmenes de datos, pero para el caso, las enciclopedias en tomos también son grandes volúmenes de datos, así que lo propio sera comenzar por el origen de ellas y para eso nos tendremos que remontar a las entidades de almacenamiento de los equipos de computo, y con esto nos referimos a los archivos.
Las archivos son la entidad de agrupamiento de datos en equipos de computo que permite estructurarla e identificarla en su conjunto. La primer forma de almacenamiento de datos que se ha utilizado es el archivo de texto, muchos sistemas antiguos usaron archivos de texto para almacenar la información tomando algún carácter de referencia para separar un dato de otro, pero el uso de estos archivos de texto posee muchas desventajas, entre las que podemos mencionar:
- Tiempos de acceso a la información muy largos, ya que para acceder a algún dato debemos comenzar a buscar desde el primero de ellos.
- Procesos de escritura muy tardados, ya que para evitar errores los datos nuevos deben ser agregados al final, la inserción de un dato en cualquier otro lugar resulta en una actividad compleja.
- La eliminación de datos se convierte en una actividad dañina debido a que genera huecos o espacios en blanco que hacen mas tardado el acceso a la información y que generalmente tenia como consecuencia que el acceso al resto de la información fuera erróneo.
- La información se almacenaba en grupos de datos de diferente longitud, lo cual producía una lectura de datos errónea, ya que se podía extraer la información deseada, mas la parte inicial de la siguiente información.
Tiempo después los archivos evolucionaron y se convirtieron en archivos binarios, en donde la información se almacenaba en estructuras de datos de una longitud definida y el acceso a los datos podía ser aleatorio o directo, es decir, podemos acceder a cualquier parte del archivo en cualquier momento, pero esto no dejaba de tener sus inconvenientes, como:
- El borrado de datos sigue siendo una actividad peligrosa, ya que genera huecos en blanco que deben ser omitidos.
- El acceso concurrente en una red resulta complicado y puede dar lugar a datos erróneos ya que si dos personas modifican un mismo dato en un archivo la exactitud de la información almacenada dependerá de quien almacenó primero la información.
Ahora bien, para dar una idea de como funcionaban los sistemas de archivos, imaginemos que tenemos una empresa y toda la información la manejamos en archivos de excel, los datos de los clientes, de los vendedores, el inventario y las ventas se encuentran cada uno en un archivo, en el archivo de ventas es obvio que necesitamos tener registrado el nombre, la dirección y el teléfono del cliente, así como la descripción, la cantidad y el precio de lo que se le vendió, hasta este punto podemos ver que la información se encuentra duplicada entre los tres archivos involucrados, lo cual a la larga se convierte en un exceso de datos importante. Otro problema que nos presenta es el manejo del inventario, ya que cada vez que registro la venta de un articulo en el archivo de ventas, debo modificar la cantidad en existencia de dicho articulo en el inventario, y como debo hacerlo en dos pasos esto puede producir errores ya sea por descuido humano o por error al guardar.
Al punto anterior debemos agregar que si estos archivos están compartidos en una red tenemos otra fuente de problemas ya que si consideramos que dos vendedores pueden consultar que hay 20 cajas de aceite de cocina, al tratar de vender uno 3 y el otro 4 la existencia según quien guarde primero puede quedar en 17 o 16 y no en 13 como debería ser.
Todos estos problemas que hemos mencionado son los objetivos principales de las bases de datos, así que vamos a listarlos por sus nombres concretos:
- Eliminar la redundancia. Con esto nos referimos a evitar la duplicidad de datos que se da al interior de las tablas de datos, como cuando en el archivo de ventas al venderle dos veces a un cliente se tiene que registrar dos veces los datos del mismo cliente.
- Evitar el aislamiento de los datos. El aislamiento de datos se refiere al hecho de que la información que se actualiza en una tabla de datos no se refleja o actualiza en las demás.
- Implementar la atomicidad de las operaciones. Esta situación se refiere al hecho que la modificación de datos contenidos en dos o mas tablas de datos se puede realizar como una única operación y no como dos o tres.
- Integridad. Este punto se refiere a mantener de forma exacta y precisa los datos, especialmente durante el acceso concurrente.
- Seguridad. Aunque este punto no se trato en el ejemplo, las bases de datos permiten que los usuarios solo vean la parte de los datos que les corresponde ver, es decir cada usuario solo tendrá acceso a la parte de la base de datos a que tenga derecho.