Bases de datos y usuarios de bases de datos

Introducción

Una base de datos es una colección de datos relacionados con un significado implícito.

Propiedades implícitas de una base de datos

  • Representa aspectos del mundo real (minimundo o universo del discurso).
  • Sus datos son coherentes y tienen significados inherentes.
  • Se diseña, construye y puebla con datos para un propósito específico.

Sistemas de gestión de bases de datos

Un sistema de gestión de bases de datos (data base managment system) es una colección de programas que permiten a los usuarios crear y mantener bases de datos.

Otra definición: es un sistema software de propósito general que ayuda a la hora de definir (tipos de datos, restricciones), construir (almacenar los datos en algún medio) y manipular (consultas, actualizaciones) bases de datos para distintas aplicaciones.

Diferencias entre “archivos planos” con bases de datos

  1. Naturaleza auto descriptiva: además de los datos propiamente dichos, una base de datos almacena la definición completa de la estructura de la base de datos y sus restricciones. Esta información es almacenada en el catálogo del sistema y es denominada metadatos. Mientras con un archivo plano pueden acceder algunos programas específicos, un SGBD puede acceder a múltiples bases de datos extrayendo sus definiciones del catálogo.
  2. Abstracción de datos: la estructura de los ficheros viene integrada en los programas que acceden a ellos. Con una base de datos, esto deja de ser así, ya que las definiciones están en el catálogo. Esto permite una independencia entre los programas y los datos, y hace que las aplicaciones no deban ser totalmente modificadas a la hora de realizar modificaciones en la estructura de los datos.
  3. Soporte de múltiples vistas de los datos: a diferencia de cómo ocurría con los archivos planos, una base de datos puede tener varios usuarios, los cuales pueden requerir una vista diferente de la base de datos. Una vista es un subconjunto de la base de datos, cuyos elementos le son de importancia a un grupo definido de usuarios.
  4. Compartimiento de datos y procesamiento de transacciones multiusuarios: una base de datos permite el acceso simultáneo de la base de datos por parte de los usuarios. El SGBD debe controlar la concurrencia para controlar la consulta y sobre todo la actualización de la base de datos de manera concurrente.

Los actores en escena

En una base de datos pequeña, es una sola persona la que la define, construye y manipula. En bases de datos de tamaño medio o grande, ya son varias las personas y funciones que tenemos:

  • Administrador de la base de datos: autoriza accesos, coordina y vigila su utilización, compra los recursos de hard y soft que sean necesarios.
  • Diseñador de la base de datos: identifican los datos que se almacenarán en la base de datos, y elige las estructuras apropiadas para almacenarlos. Para ello deben comunicarse con los usuarios finales, para así poder comprender sus necesidades.
  • Finales: personas cuyo trabajo requiere acceder a las bases de datos, ya sea para consultarlas o realizar acciones de ingreso o modificación de los datos. Existen 4 categorías de usuarios finales:
    • Ocasionales: la utilizan de vez en cuando, requiriendo diferente información en cada ocasión.
    • Simples o paramétricos: su trabajo gira en torno a la base de datos, haciendo uso de las llamadas “transacciones programadas”.
    • Avanzados: están familiarizados con los recursos que brinda un SGBD como para implementar aplicaciones que cumplan con sus complejos requerimientos.
    • Autónomos: mantienen sus propias bases de datos utilizando paquetes comerciales que cuentan con interfaces de fácil uso.
  • Analistas de sistemas y programadores de aplicaciones: determinan los requerimientos de los usuarios finales y desarrollan aplicaciones con transacciones controladas y programadas para satisfacer dichos requerimientos. Deben conocer todas las capacidades del SGBD.

Hasta aquí vimos aquellos actores que más se marcan, pero también podríamos mencionar los siguientes:

  • Diseñadores e implementadotes del SGBD.
  • Desarrolladores de herramientas.
  • Operadores y personal de mantenimiento.

Ventajas de utilizar un SGBD

  • Control de la redundancia: la redundancia es el almacenamiento de un mismo dato en diferentes lugares. Debe crearse un diseño que almacene cada dato en un solo lugar de la base de datos. En ocasiones, por cuestiones de rendimiento, se puede ver la posibilidad de que exista redundancia, pero ésta debe ser controlada.
  • Restricción de los accesos no autorizados: es la asignación (a usuarios o grupos de usuarios) de permisos bajo contraseña. Dichos permisos pueden referirse tanto a los datos que pueden visualizar, como qué acciones puedan realizar sobre los mismos (consultas, modificaciones, etc.). El SGBD debe contar con un subsistema de seguridad y autorización que permita crear cuentas de usuario y definir permisos/restricciones sobre ellas.
  • Suministro de almacenamiento persistente de objetos y estructuras de datos de programas: se denominan así porque sobreviven cuando finaliza la ejecución del programa, pudiendo ser recuperadas por otro sin problemas.
  • Capacidad de realizar inferencias y acciones usando reglas: algunos sistemas de base de datos tienen la capacidad de definir reglas de deducción para inferir nueva información a partir de los hechos ocurridos en la base de datos. A este tipo de base de datos de la denomina deductivas.
  • Suministro de múltiples interfaces de usuario: en una base de datos interactúan, como vimos, múltiples personas. Éstas tienen diferentes niveles de conocimiento, y por lo tanto un SGBD debe suministrar múltiples interfaces para cada uno de ellos. Es así que se permitirá consultas directas para programadores y analistas, mientras que sólo se definirán gráficos y formularios parametrizados para los usuarios finales.
  • Representación de vínculos complejos entre los datos.
  • Garantizar el cumplimiento de las restricciones de integridad: un SGBD debe controlar en todo momento que las restricciones de integridad referencial sean cumplidas. La mayoría será controlada desde el mismo gestor de base de datos, pero algunas tal vez sean controladas desde el mismo programa que utiliza el usuario.
  • Suministro de copias de seguridad y recuperación: todo SGBD debe brindar soporte para realizar backups y restore en todo momento, pudiendo configurarse dichas acciones en períodos establecidos.

¿Cuándo NO utilizar un SGBD?

No siempre es adecuado utilizar todo un sistema de gestión de bases de datos; en ocasiones, con un simple archivo plano nos basta para solucionar nuestros problemas, y no es necesario llegar a inversiones innecesarias, generalizar los procesos o tener un nivel de seguridad tan estricto.

Aquellas situaciones pueden ser:

  • La base de datos y las aplicaciones son muy simples, bien definidas y probablemente no sufran futuros cambios.
  • Algunos programas tienen restricciones de tiempo real, que no se podrían cumplir con los costos extras de un SGBD (configuraciones internas, por ejemplo).
  • No se requiere acceso multiusuario.

Sin comentarios

Deja un comentario