domingo, 8 de noviembre de 2015

Sistema de Gestión



Introducción

    En el ámbito del mundo tecnológico actual, es fundamental el procesamiento de datos para obtener información que permita tomar decisiones.

     El mundo empresarial y administrativo cada vez utilizan más datos, lo cual dificulta su procesamiento. A partir de los años sesenta varias empresas empiezan a almacenar sus datos en soportes magnéticos para ser tratados directamente por computadoras. Desde entonces el desarrollo de los equipos informáticos y soportes de información ha ido aumentando a pasos agigantados, y de igual forma han ido disminuyendo sus costos.

   Definición de Sistemas de Gestión de Base de Datos
         
     Los sistemas de gestión de bases de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.

    Una definición breve e informal podría ser la siguiente: “Una colección de datos que están lógicamente relacionados entre sí, que tienen una definición y una descripción comunes y que están estructurados de forma particular”. Una base de datos es también, un modelo de una parcela del mundo real, por tanto debe poder servir para una amplia gama de aplicaciones.
 

 Objetivos que deben cumplir los Sistemas de Gestión de Base de Datos
1.      Abstracción de la información.

 Los Sistemas de Gestión de Base de Datos ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

2.      Independencia. 

La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

3.      Consistencia.

      En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los Sistemas de Gestión de Base de Datos existen herramientas que facilitan la programación de este tipo de condiciones.

4.      Seguridad.

La información almacenada en una base de datos puede llegar a tener un gran valor. Los Sistemas de Gestión de Base de Datos deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

5.      Manejo de transacciones.

 Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los Sistemas de Gestión de Base de Datos proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos.

6.      Tiempo de respuesta.

Lógicamente, es deseable minimizar el tiempo que el Sistemas de Gestión de Base de Datos tarda en darnos la información solicitada y en almacenar los cambios realizados.

Estructura General de Sistemas de Gestión de Base de Datos.

Como regla general, todo Sistema de Gestión de Base de Datos sigue un patrón para su desarrollo:


a)      El sistema de gestión de la Base de Datos (SGBD). Conjunto de programas que gestionan la Base de Datos. Las funciones principales son crear, actualizar, consultar, proteger la Base de Datos.
b)      Gestor de ficheros, el cual se encarga de las estructuras de los datos a la hora de almacenarlas, asignándoles el espacio en el disco.
c)      Gestor de Base de Datos. Es el interfaz de los datos de bajo nivel junto con los programas de consulta.
Los datos se pueden clasificar en

a.       Datos Simples. Ej. : nombre, dirección, teléfono, etc.
b.      Datos Compuestos. Ej. : tablas, etc.

d)   Procesador de consultas. Encargado de traducir las proposiciones del lenguaje de consultas a instrucciones comprensibles por la Base de Datos.

e)      Ficheros de datos. es una unidad de datos o información almacenada en algún medio que puede ser utilizada por aplicaciones de la computadora.

f)     Diccionario de datos. Almacén de información referida a la estructura de la BD. Su uso es continuo debido al énfasis del buen diseño y a la implementación adecuada del diccionario de datos.

g)      El administrador de la Base de Datos (DBA). Es una función que pueden llevar a cabo una o varias personas. Entre las responsabilidades del administrador están la de creación, gestión y mantenimiento de la Base de Datos.

h)      Los usuarios. Todos aquellos que utilizan la Base de Datos. Distinguiendo entre usuarios informáticos, aquellos a los que el administrador le dará todas las herramientas para que puedan realizar su trabajo, y los no informáticos (usuarios finales) a los que va dirigida la Base de Datos.


Inconvenientes De Los sistemas de gestión de bases de datos

       Típicamente, es necesario disponer de una o más personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.


     Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una planilla de cálculo.


    El software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr. Coste del hardware adicional: los requisitos de hardware para correr unos Sistemas de Gestión de Base de Datos por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.


Mejoras de los Sistemas de Gestión de Base de Datos

Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entre éstas:
a.       Simplifican la programación de equipos de consistencia.
b.      Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.
c.       Organizan los datos con un impacto mínimo en el código de los programas.
d.      Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.
e.      Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.



Arquitectura De Los Sistemas De Gestión De Las Bases De Datos

      Como primera definición, estableceremos que un Sistema de Gestión de Bases de Datos no es más que un conjunto de programas que administran y gestionan la información que posee la propia base de datos. Esta definición es la que encontraremos dentro de cualquier gestor del mercado.
 

    Dentro del Sistema de Gestión de Base de Datos, podríamos destacar tres niveles principales enfocados en su función y en su visión por el usuario de la base de datos.

                
      Nivel Interno: es el que más se aproxima al almacenamiento físico de los datos con un esquema interno que describe la estructura física de almacenamiento de la base de datos. Almacena los datos tal y como están escritos en el ordenador, los cuales, realmente solo existen en este nivel. Se podría decir que es el que almacena la descripción del Nivel Conceptual

 
      Nivel Conceptual: sigue un esquema conceptual representando los datos que va a utilizar sin tener en cuenta el aspecto, contrariamente a lo que hace el nivel interno. En este nivel, también se describe la estructura para todos los usuarios que accedan a la Base de Datos. Oculta los detalles físicos del almacenamiento y trabaja con elementos lógicos como entidades atributos y relacione.

 
      Nivel Externo (o de vistas): Puede poseer varios esquemas externos o vistas para el usuario. Cada vista, posee una descripción de dicha visión diferente para cada grupo de usuarios.

 

Esta arquitectura fue implantada por la ANSI-SPARC (American National Standard Institute – Standards Plannings and Requeriments Committee) en 1975 como ayuda para la separación entre aplicaciones y datos, el manejo de múltiples vistas y el uso de catálogos para el almacenamiento de los esquemas de las Base de Datos. La importancia de esta arquitectura, es que nos resulta muy útil a la hora de conseguir la diferenciación entre los niveles mencionados anteriormente.

       El problema que nos encontramos tras este modelo, es que muchos Sistema de Gestión de Base de Datos no distinguen del todo los tres niveles a causa de la introducción del nivel físico en el esquema conceptual o, lo que ocurre en la mayoría de los casos, que los esquemas externos de cara al usuario describen la misma información que al nivel conceptual.


       Destacando que los esquemas no son más que descripciones de los mismos datos pero variando su nivel de abstracción, los únicos datos existentes, son los que poseemos a nivel físico, como por ejemplo, en un disco. Por lo tanto, el Sistema de Gestión de Base de Datos debe de poder transformar cualquier petición expresada en términos introducidos por el usuario vía esquemas externos, y con estos, el Sistema de Gestión de Base de Datos debe transformar la petición expresada en términos de esquema externo, en una petición con términos del esquema conceptual para seguidamente a una con un esquema interno que se procesará sobre la base de datos almacenada.