miércoles, 10 de junio de 2009

MANEJADOR DE BASE DE DATOS

Manejador de Bases de Datos
El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.
Las funciones principales de un DBMS son:
Crear y organizar la Base de datos.
Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente.
Manejar los datos de acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos.
Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando de el sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.
Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.
Control de concurrencia. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos.
Seguridad e integridad. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.
El DBMS es conocido también como Gestor de Base de datos.

La figura muestra el DBMS como interfase entre la base de datos física y las peticiones del usuario. El DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal.
En sí, un sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.
Administrador de Bases de Datos
Denominado por sus siglas como: DBA, Database Administrator.
Es la persona encargada y que tiene el control total sobre el sistema de base de datos, sus funciones principales son:
Definición de esquema. Es el esquema original de la base de datos se crea escribiendo un conjunto de definiciones que son traducidas por el compilador de DDL a un conjunto de tablas que son almacenadas permanentemente en el diccionario de datos.
Definición de la estructura de almacenamiento del método de acceso. Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son traducidas por e compilador del lenguaje de almacenamiento y definición de datos.
Concesión de autorización para el acceso a los datos. Permite al administrador de la base de datos regular las partes de las bases de datos que van a ser accedidas por varios usuarios.
Especificación de límitantes de integridad. Es una serie de restricciones que se encuentran almacenados en una estructura especial del sistema que es consultada por el gestor de base de datos cada vez que se realice una actualización al sistema.

Usuarios de las bases de datos.
Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se diseña, elabora, termina y se usa.
Los usuarios que accesan una base de datos pueden clasificarse como:
Programadores de aplicaciones. Los profesionales en computación que interactuan con el sistema por medio de llamadas en DML (Lenguaje de Manipulación de Datos), las cuales están incorporadas en un programa escrito en un lenguaje de programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
Usuarios sofisticados. Los usuarios sofisticados interactuan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.
Usuarios especializados. Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos.
Usuarios ingenuos. Los usuarios no sofisticados interactuan con el sistema invocando a uno de los programas de aplicación permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero.

Sistema Manejador de Base de Datos
El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base. Se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad".
8.2Funciones
Las funciones esenciales de un SGDB son la descripción, manipulación y utilización de los datos.
Descripción: Incluye la descripción de: Los elementos de datos, su estructura, sus interrelaciones, sus validaciones. Tanto a nivel externo como lógico global e interno esta descripción es realizada mediante un LDD o Lenguaje de Descripción de Datos.
Manipulación: Permite: Buscar, Añadir, Suprimir y Modificar los datos contenidos en la Base de Datos.
La manipulación misma supone: Definir un criterio de selección, Definir la estructura lógica a recuperar, Acceder a la estructura física. Esta manipulación es realizada mediante un LMD o Lenguaje de Manipulación de Datos.
Utilización: La utilización permite acceder a la base de datos, no a nivel de datos sino a la base como tal, para lo cual: Reúne las interfaces de los usuarios y suministra procedimientos para el administrador.8.3Tareas
El manejador es responsable de las siguientes tareas:
1 Interacción con el manejador de archivos: Los datos en la base se guardan en disco mediante el sistema de archivos, proporcionado comúnmente por el sistema operativo. El manejador de la base, traduce las diferentes proposiciones del manejo de datos en comandos del sistema de archivos de bajo nivel. De esta forma el manejador se puede encargar del almacenamiento, recuperación y actualización de los datos en la base.
2 Implantación de la integridad: Los valores de los datos que se almacenan en la base, deben satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el administrador, pero es el manejador el encargado de verificar que las actualizaciones que se hagan a la base cumplan con dichas normas.
3 Puesta en práctica de la seguridad: El manejador de la base es quien verifica que los accesos a la base sean realizados por las personas autorizadas.
4 Respaldo y recuperación: Entre las labores que debe ejecutar el manejador está la de verificar de forma constante la integridad de la base, y lograr recuperación de datos y/o mejoras en caso que se requieran.
5 Control de concurrencia: Se podría entender, esta, como la principal tarea del manejador de la base, o por lo menos la más difícil. Cuando varios usuarios están accesando la base al mismo tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos en la base no se dañen.
En términos ideales, un DBMS debe contar con estas funciones, sin embargo, no todos las poseen, así existen algunos manejadores que no cumplen la función de respaldo o de seguridad, dejándola al usuario o administrador; sin embargo un DBMS que sea completo y que deba manejar una base de datos multiusuario grande, es conveniente que cuente con todas estas operaciones.
Lenguajes
Para cumplir sus objetivos el DBMS cuenta con varios lenguajes:
Lenguaje de descripción o definición de datos: Un esquema de base de datos se especifica por medio de una serie de definiciones que se expresan en un lenguaje de definición de datos (DDL-Data Definition Language). El resultado de la compilación es un conjunto de tablas que se almacenan en el diccionario de datos. Existe un esquema DDL para las definiciones del nivel conceptual y un subesquema DDL para las definiciones del nivel externo.
La estructura de almacenamiento y los métodos de acceso empleados por el sistema se especifican por medio de un conjunto de definiciones de un tipo especial de DDL, llamado lenguaje de almacenamiento y definición de datos; el resultado de la compilación es una serie de instrucciones que especifican los detalles de implantación de los esquemas de base de datos que normalmente no pueden ver los usuarios. Este lenguaje se define como un lenguaje de control dispositivo/medio.
Existe además un DBCS que es el sistema de control de la base de datos y permite el acceso a la definición de datos.
Lenguaje de manejo de datos: El DML (Data Managment Lenguage) es el que permite a los usuarios manejar o tener acceso a la base de datos. Permite recuperar, insertar o eliminar la información contenida. Existen dos tipos:
- Sin procedimiento: donde se indican que datos se necesitan pero no como.
- Con procedimiento: donde se indican que datos se necesitan y la forma como se necesitan.
Además debe tener la capacidad de entender los mensajes con que contesta el DBMS
La parte del DML que permite recuperar la información se llama lenguaje de consulta (que no es el mismo manejador de datos), este lenguaje no es algorítmico, con este las consultas se pueden hacer desde una terminal en forma interactiva o inmerso dentro de un lenguaje de alto nivel.
Los lenguajes de 4a. Generación permiten la generación de reportes, visualización de gráficos o procesos de la base de datos de forma fácil y rápida.
Lenguajes de Programación: Estos son programas que pueden ser empleados por los programadores, algunos lenguajes de tercera generación tiene la capacidad de entrar a interactuar con bases de datos.
CLASIFICACION DE LOS DBMS
La forma o vista externa con que se presentan los datos al usuario en la mayoría de los sistemas actuales es idéntica o muy semejante a la vista conceptual.
La estructura lógica, en el ámbito conceptual o externo, es la base para la clasificación de los DBMS en las cuatro categorías siguientes: jerárquica, red, relacional y orientada a objetos.
Cualquier categoría debe permitir un acceso aleatorio a los datos requeridos, utilizando para tal fin una estructura de datos: redes, árboles, tablas o listas enlazadas.
Cada DBMS está diseñado para manejar un tipo de estructura lógica. No se pueden procesar programas diseñados para otro DBMS.8.5.1. Enfoque jerárquico
La base de datos jerárquica consta de muchos registros. Cada nodo representa un tipo de registro conceptual o un segmento. Cada registro o segmento está constituido por un cierto número de campos que lo describen.
Cada rama representa una relación uno a muchos. Un cliente del banco puede tener muchos movimientos en su cuenta. En este caso 'muchos' significa cero, uno o más de uno.
Enfoque de red
Para representar este tipo de relación, es necesario que los dos tipos de registro estén interconectados por medio de un registro conector llamado conjunto conector.8.5.3. Enfoque relacional
Un DBMS de enfoque relacional utiliza tablas bidimensionales llamadas relaciones para la representación lógica de los datos y las relaciones entre ellos.
Si las consultas sobre claves múltiples en el enfoque jerárquico se conseguían mediante relaciones padre-hijo, en el enfoque en red mediante conjuntos, para el enfoque relacional, la relación uno a muchos entre el registro padre de un archivo y los registros hijos de otro archivo de la base de datos relacional se consigue mediante la utilización de campos de conexión, es decir, insertando el valor de la clave principal del registro padre en cada una de los registros hijos, consiguiendo relaciones parecidas al enfoque en red.
Hay características propias del enfoque relacional que no se presentan en los otros dos enfoques:
- La facilidad para su representación lógica, al realizarse mediante tablas separadas y no presentarse ningún tipo de jerarquía.
- La posibilidad de recuperar una tabla o un grupo de registros mediante una proposición del DML, sin necesidad de acceder a otras relaciones. Su modo de operación no esta orientado a registros sino sobre la tabla como conjunto.
- Se puede acceder a datos de cualquier columna de la tabla o filas de una o más relaciones.
Requisitos que han de cumplir las tablas en las bases de datos relacionales:
- La tabla puede tener solo un tipo de registro
- Cada registro posee un numero determinado de campos, cada uno de ellos con su nombre correspondiente. La base de datos tendrá muchas tablas.
- Dentro de cada tabla, cada campo es distinto
- Cada registro de una tabla es único; no hay registros duplicados.
- Los registros dentro de cada tabla no tienen una secuencia determinada.
- Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas existentes.

Enfoque orientado a objetos
En los últimos años la tecnología de diseño de las bases de datos se ha aplicado a terrenos ajenos al campo del procesamiento de datos, que en general carecen de al menos una de las características siguientes:
· Uniformidad
· Orientación a registros
· Elementos de datos de pequeño tamaño
· Campos atómicos
Las nuevas aplicaciones incluyen estas nuevas características:
· Diseño asistido por computadora (CAD, Computer - Aided Desing)
· Ingeniería de software asistida por computadora (CASE, Computer- Aided Software Engineering).
· Bases de datos multimedia.
· Sistemas de información para oficinas (SIO).
· Bases de datos de hipertexto.
Estas nuevas aplicaciones de las bases de datos no se consideraban en los años setenta, cuando se diseñaron inicialmente la mayor parte de los sistemas comerciales de base de datos. Ahora son posibles debido al incremento de memoria principal y de tamaño de los discos, al aumento de la velocidad de las unidades centrales de procesamiento, al menor costo del hardware y a la mejor comprensión de la gestión de las bases de datos obtenidos en los últimos años.
El modelo relacional y los modelos relacionales entre entidades no resultan suficientes para modelar las necesidades de datos de estas aplicaciones nuevas. Además, hasta las necesidades de modelado de las aplicaciones comerciales tradicionales se han hecho más complejas con el paso del tiempo, y resulta difícil expresar algunas de estas necesidades en el modelo relacional, como por ejemplo, imágenes y base de datos de hipertexto.
8.6 EL DICCIONARIO DE DATOS 8.6.1 Definición
Es una metabase, o una base de datos que contiene datos sobre los datos. Es una base de datos del sistema y puede ser accesada de igual forma como se accesa cualquier tabla en la base de datos.
8.6.2 Contenido
Contiene todo sobre:
- Descripción externa, conceptual e interna de la base de datos.
- Descripción de los campos, registros y referencias cruzadas entre registros de diferentes archivos.
- Códigos de autorización y seguridad de los datos, definición de apodos.
- Esquemas externos de los programas, los usuarios y sus autorizaciones.
Uso de diccionario
Además de los usuarios, el DBA también accesa el diccionario para:
- Relación del personal o usuarios que tienen acceso a los datos
- Fuente para las analistas, programadores de nuevas aplicaciones.

COPY RIGHT©Jexy Marcela vivas ^Freddy Cabana