Bases de datos

Antes los sistemas de datos eran orientados a proceso, es decir, eran mas importantes los programas que utilizan estos datos que como los almacenamos. Varios programas dentro de la organización podían estar utilizando los mismos datos y cada uno poseer una copia de estos, con lo cual además de la consiguiente perdida de espacio dado que no existía ningún control podían existir incoherencias como que un empleado Juan tuviera 25 años en una de las copias de los datos y 27 en otra. Tendríamos que modificar los datos en la segunda copia siempre que se modificaran en la primera y a la inversa. ¿Que hacer? ¿leer todos los ficheros cada vez?

Lo que se suele hacer es seguir un enfoque orientado a los datos, con todos los datos almacenados y actualziados en una base de datos a la que accederán todos los programas. De esta forma evitamos las incoherencias y se ahorra espacio, además de poder incluir las restricciones a los valores de los datos dentro de la base de datos y no dentro de cada programa (por ejemplo comprobar que el empleado no tenga mas de 80 años).

Una base de datos es simplemente una colección de datos integrados almacenados en un soporte secundario. Es adecuado para diferentes usuarios y usos, y cada usuario verá la parte de la base de datos que necesite y nada mas. Las ventajas de utilizar bases de datos frente al enfoque clásico son las siguientes:

  • Independencia entre los datos y los procesos que los tratan. Aislo los datos de la aplicación en si, por lo que si cambio la aplicación esto no le afecta a los datos y viceversa.
  • Coherencia, si un dato ha cambiado en una aplicación también cambia para las demás. Juan tendrá 27 años en todas las aplicaciones, no tendremos que actualizar cada vez.
  • Mejor disponibilidad de los datos para los usuarios.
  • Mayor valor informativo, en el sentido de que se sabe que representa, como se lee ese dato y las interrelaciones con otros datos así como las restricciones.
  • Reducción del espacio de almacenamiento necesario, ya que evitamos redundancias.
  • Mayor seguridad, ya que puedo controlar que puede ver cada usuario, de forma que cada usuario solo acceda a la información que le interesa / que necesita.

Por supuesto la utilización de las bases de datos también tiene una serie de inconvenientes:

  • Instalación costosa.
  • Necesario personal especializado.
  • Rentabilidad solo a medio plazo.
  • Falta de estándares, aunque tenemos un estándar SQL92 del lenguaje de consulta SQL algunos programas tienen unas funciones que otros no ofrecen, por lo que normalmente para pasarlo a otro programa tendremos que cambiar la consulta.

En la base de datos se distinguen tres niveles de abstracción, con sus correspondientes esquemas. El primero, la estructura lógica (esquema externo) define qué usuarios pueden acceder a qué datos; la estructura lógica global (esquema conceptual) es la suma de todas las vistas de los usuarios definidas en el nivel lógico externo (descripción de los datos, interrelaciones y restricciones) y por último la estructura física (esquema interno) define como almacenamos esos datos.

Comentarios
  1. Me gusta tu blog. Aunque vas combinando la aportación de conocimiento y recursos, con la opinión personal sobre otros blogs. Pasa de eso, que cada uno escriba lo que quiera y opine lo que quiera, tu no caigas en el juego de dar replica a quien no lo merece. Saludos.

    Responder

Deja un comentario