¿Qué es una Base de Datos?
Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Se puede definir como un sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección y número de teléfono.
Historia de las Bases de Datos
Orígenes (1960-1962)
Las bases de datos tuvieron sus orígenes entre 1960 y 1962, cuando se empezaron a usar las máquinas que codificaban la información en tarjetas perforadas por medio de agujeros. Se crearon con el objetivo de almacenar grandes cantidades de datos que antes se almacenaban en libros, lo que era lento, costoso y complejo, ya que cualquier actualización a realizar había que hacerla en cada uno de los libros en los que apareciera dicha información a modificar.
Las primeras bases de datos manejaban ficheros que eran almacenados en tarjetas o soportes magnéticos. Cuando los ordenadores evolucionaron, aparecieron las cintas y los discos, a la vez que las máquinas fueron dotadas de mucha más potencia y facilidad de manipulación. Es en ese momento cuando las bases de datos comienzan a ser realmente útiles.
Modelo CODASYL (1970)
En 1970 se convocó una Conferencia de Lenguajes de Programación y se estableció un modelo llamado CODASYL (Modelo para el tratamiento de bases de datos), que fue publicado por E. Cod en 1970. Cod propuso una forma de organizar las bases de datos mediante un modelo matemático lógico.
Una vez creado este modelo, se estableció un modelo estándar de actuación.
Servicios de las Bases de Datos
La mayoría de los servicios de bases de datos ofrecen consolas web que el usuario final puede utilizar para aprovisionar y configurar las instancias de la base de datos. Por ejemplo, la consola web de Amazon Web Services permite a los usuarios lanzar instancias de bases de datos, crear instantáneas (similar a las copias de seguridad) de bases de datos y realizar un seguimiento de las estadísticas de la base de datos. Los servicios de las bases de datos consisten en un componente de administración que controla las instancias de cada base de datos subyacente.
Ventajas de Utilizar Bases de Datos
- Obtener más información de la misma cantidad de datos: La base de datos facilita al usuario obtener más información debido a la facilidad que provee esta estructura para proveer datos a los usuarios (si se tiene el privilegio).
- Compartir los Datos: Usuarios de distintas oficinas pueden compartir datos si están autorizados. Esto implica que si un dato cambia de contenido, como por ejemplo la dirección de un cliente, todos los usuarios que pueden acceder a ese dato verán inmediatamente el cambio efectuado.
- Balance de Requerimientos Conflictivos: Para que la base de datos trabaje apropiadamente, necesita de una persona o grupo que se encargue de su funcionamiento. El título para esa posición es Administrador de Base de Datos y provee la ventaja de que diseña el sistema tomando en mente la necesidad de cada departamento de la empresa. Por lo tanto, se beneficia mayormente la empresa, aunque algunos departamentos podrían tener leves desventajas debido a su idiosincrasia. Tradicionalmente se diseñaba y programaba según la necesidad de cada departamento por separado.
- Se refuerza la estandarización: Debido a lo que se mencionó previamente, es más fácil estandarizar procesos, formas, nombres de datos, etc.
- Redundancia controlada: Debido al sistema tradicional de archivos independientes, los datos se duplicaban constantemente, lo cual creaba mucha duplicidad de datos y generaba un problema de sincronización cuando se actualizaba un dato en un archivo en particular. La redundancia se controla, no se elimina por completo.
- Consistencia: Al controlarse la redundancia, cuando se actualiza un dato, todos los usuarios autorizados de la base de datos pueden ver el cambio independientemente de que estén trabajando en distintos sistemas.
- Integridad: La base de datos tiene la capacidad de validar ciertas condiciones cuando los usuarios introducen datos y rechazar entradas que no cumplan con esas condiciones. El DBA (Data Base Administrator) es responsable de establecer esas validaciones.
- Seguridad: El DBA, al tener control central de los datos, la base de datos le provee mecanismos que le permiten crear niveles de seguridad para distintos tipos de usuarios.
- Flexibilidad y rapidez al obtener datos: Aquí el usuario puede fácilmente obtener información de la base de datos con tan solo escribir unas breves oraciones. Esto evita el antiguo y burocrático proceso de llenar una petición al Centro de Cómputos para poder obtener un informe.
- Aumenta la productividad de los programadores: Debido a que los programadores no se tienen que preocupar por la organización de los datos ni de su validación, se pueden concentrar en resolver otros problemas inmediatos, mejorando de ese modo su productividad.
- Mejora el mantenimiento de los programas: Debido a que los datos son independientes de los programas (a diferencia de lenguajes como COBOL), si ocurre un cambio en la estructura de una tabla (archivo), el código no se afecta.
- Independencia de los Datos: Debido a lo que se mencionó previamente, los datos pueden modificarse para, por ejemplo, mejorar el “performance” de la base de datos y, como consecuencia, no se tiene que modificar los programas.