sábado, 14 de marzo de 2015

BASES DE DATOS RELACIONALES

OBJETIVOS DE UN SGBD

INDEPENDENCIA DE LOS DATOS.


La independencia de los datos consiste en hacer que los programas no dependan de la estructura de los datos que debe utilizar, que se pueda cambiar esa estructura sin tener que cambiar los programas relacionados con ella. Se han definido dos tipos de independencia: la independencia física: consiste en poder modificar parámetros de cómo está almacenada físicamente la información (por ejemplo cambiar el tipo de dato de un campo o cambiar la ubicación de la información de un disco a otro), sin que ello suponga una modificación de los programas existentes. la independencia lógica: consiste en poder cambiar la definición conceptual del sistema de información (por ejemplo añadir un nuevo campo a la información de los clientes) sin que ello suponga una modificación de los programas existentes. 


SEGURIDAD E INTEGRIDAD. 

Otro objetivo a lograr es el de la seguridad, que los usuarios no puedan acceder a datos sin autorización. Si juntamos toda la información de la empresa en un sólo sitio, el SGBD debe tener mecanismos para que cualquier usuario pueda tener acceso únicamente a la información que necesita de cara a la privacidad de esa información, incluso si tiene acceso a una información que se pueda decidir si además de visualizarla puede modificarla. 

Por ejemplo en un sistema en el que los alumnos pueden consultar sus notas, ¡deberá de existir algún mecanismo para que el alumno pueda ver sus notas pero no cambiarlas! 

La integridad se refiere a que la información almacenada en la base de datos esté libre de errores. Esto no siempre es posible ya que existen distintos tipos de errores que tienen diferentes soluciones: * fallos de hardware, estos errores sólo se pueden subsanar mediante copias de seguridad que pueden ser automáticas o manuales.

fallos del programador, puede que aparezcan datos erróneos en la base de datos como consecuencia de errores en el programa que genera estos datos. Para evitar al máximo este tipo de errores el sistema debe ser capaz de detectar automáticamente la mayor cantidad de errores para descargar los programas de comprobaciones rutinarias, el lenguaje de programación debe ser fácil de utilizar y si el sistema ofrece la posibilidad de utilizar juegos de ensayos bien definidos, será más fácil probar los programas.

* fallos del usuario final, el usuario que introduce datos en la base de datos también puede cometer errores, el sistema debe permitir controlar al máximo la información que se introduce para limitar el número de estos errores, para ello se incluyen cláusulas de validación de los datos, validaciones de diferentes tipos que veremos con más detalle más adelante. 

* fallos derivados de la concurrencia, ya que toda la información está centralizada y los distintos usuarios acceden a ella de forma simultánea, pueden ocurrir problemas cuando dos usuarios quieren acceder al mismo dato a la vez. Por ello el SGBD debe tener establecidos mecanismos para evitar este tipo de problema, bloquear registros, abortar automáticamente transacciones etc...

REDUNDANCIA MÍNIMA.

La redundancia consiste en que existan datos idénticos repetidos en varios lugares. Por ejemplo si nos guardamos la dirección del cliente en la factura, en la cta. contable, y en los datos generales del cliente tendremos redundancia, el mismo dato repetido en varios sitios, pues esto nos produce varios problemas:

* la información repetida ocupa espacio innecesario. 

* la variación de un domicilio supone el variar ese domicilio en todos los lugares donde esté almacenado => mayor tiempo de proceso => posibilidad de inconsistencia (el mismo cliente con dos domicilios ¿cuál es el bueno?) Por todo ello hay que intentar eliminar al máximo esa redundancia.

FACILIDAD DE RECUPERACIÓN DE LA INFORMACIÓN. 

Otro objetivo muy importante de un SGBD es el proporcionar al usuario (y al programador) unas herramientas potentes de manejo de datos para que pueda de manera sencilla y rápida, obtener toda la información que desea. 

ARQUITECTURA DE UN SGBD. 

Para lograr los objetivos anteriores las bases de datos tienen una estructura en tres niveles, y el sistema gestor es el encargado de relacionar los niveles entre sí. Los niveles no son más que diferentes formas de ver la información almacenada en la base de datos, permiten ver esa información desde varios puntos de vista. Esta arquitectura es la ANSI PSARC y define tres niveles o tres “visiones distintas de la base de datos, el nivel interno, conceptual y externo.



EL NIVEL INTERNO. 

El nivel interno es el más cercano al almacenamiento de los datos, este nivel es el de la visión del administrador de la BD, ya que es donde tenemos la definición física de los datos, su organización interna, la definición de las reglas de validación, controles de seguridad, etc...


EL NIVEL CONCEPTUAL. 


En este nivel se tiene una visión global de todos los datos que intervienen en la base de datos, pero a nivel de concepto olvidándose de la estructura interna. Podemos decir que en este nivel es donde tenemos la definición de qué datos se guardan en la base de datos y las relaciones que unen los datos entre sí. 

EL NIVEL EXTERNO. 

Este nivel representa la percepción de los datos por cada uno de los usuarios o programadores, digamos que el usuario no ve todos los datos que aparecen en el nivel conceptual, sino sólo los que le hacen falta. 

Cada esquema externo es un subconjunto del esquema conceptual, proporciona una visión parcial del mismo. De esta forma se puede proteger la información reservada a unos pocos usuarios. Para el usuario no habrá más datos en la bd. que los definidos en su esquema externo. 

El SGBD es el encargado de realizar el enlace entre los tres niveles de manera que cuando un usuario pida un datos definido en su esquema externo, el SGBD lo busca en el fichero adecuado y de acuerdo a la definición interna, pero esa transformación será totalmente transparente para el usuario, el usuario sólo pide el nombre de un cliente y el SGBD se encarga de buscar ese datos en la tabla correspondiente almacenada en tal dispositivo. 

Esta estructura permite lograr los objetivos nombrados anteriormente, tenemos independencia de los datos, integridad gracias a las reglas que se pueden definir a nivel interno; seguridad que se consigue por medio de los esquemas externos, ya que el usuario sólo tiene acceso a su esquema externo que le proporciona los datos que el administrador ha considerado incluir en el esquema, para el usuario no hay más datos que éstos. Además los SGBD tienen mecanismos para limitar el acceso a cada usuario según el tipo de operación que quiera realizar. 

Esto lo consigue mediante la definición de autorizaciones que pueden ser de distinto tipo: autorización de lectura, de inserción, de actualización, autorizaciones especiales para poder variar el esquema conceptual etc... Gracias al nivel conceptual tenemos una definición “resumida” de la información almacenada por lo que es más fácil detectar redundancia en los datos. 

EL ADMINISTRADOR DE LA BASE DE DATOS. 

El administrador es el encargado de gestionar y controlar todo el sistema con la ayuda que le proporciona el SGBD. Entre sus responsabilidades se incluye: * Diseñar la base de datos: - definir el esquema conceptual - definir el esquema interno, supone definir soportes, organizaciones, métodos de acceso, factores de bloqueo, índices, tamaño y tipo de los campos etc... y definir los procedimientos de validación a efectuar por el sistema sobre los datos. - definir los esquemas externos, tantos como visiones distintas tengan que tener todos los usuarios de la empresa.

* Definir los usuarios. 
* Conceder autorizaciones a los distintos usuarios. 
* Mantener los esquemas actualizados. 
* Definir estrategias de recuperación adecuada de la información en caso de pérdida o daños sufridos por algún fallo. 
* Realizar estadísticas para evaluar el rendimiento del sistema


EL DICCIONARIO DE DATOS. 

Dentro del SGBD, hay una parte que son datos sobre los datos, es una base de datos en la que se almacena toda la información necesaria para que el sistema funcione. Esta base de datos es el diccionario de datos y contiene:

* las tablas que almacenan las definiciones de los esquemas,
* las tablas que contienen los códigos de autorizaciones,
* la definición de los aliases,
* la relación entre los distintos usuarios y los esquemas externos asociados a los mismos.

No hay comentarios.:

Publicar un comentario