unidad i sistemas gestores de base de datos

15
[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón Página 1 de 15 CONCEPTOS DE BASE DE DATOS 1.1 DEFINICIÓN DE BASE DE DATOS Una base de datos o banco de datos es un conjunto de datos interrelacionados que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. En conclusión podemos decir que en la actualidad una “Base de Datos es un conjunto de datos relacionados entre sí con un significado implícito que permiten dar soporte a la toma de decisiones así como la gestión y generación de conocimiento”. 1.2 OBJETIVOS DE LAS BASES DE DATOS Los principales objetivos de una Base de Datos son los siguientes: Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual. Redundancia mínima: Puesto que los archivos que mantienen almacenada la información son creados por diferentes tipos de programas de aplicación existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de información, es decir que la misma información sea más de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, además de que puede originar la inconsistencia de los datos (es decir diversas copias de un mismo dato no concuerdan entre si), por ejemplo: que se actualiza la dirección de un cliente en un archivo y que en otros archivos permanezca la anterior.

Upload: joel-alarcon

Post on 08-Apr-2016

218 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 1 de 15

CONCEPTOS DE BASE DE DATOS

1.1 DEFINICIÓN DE BASE DE DATOS Una base de datos o banco de datos es un conjunto de datos

interrelacionados que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y

textos impresos en papel e indexados para su consulta.

En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar

datos.

En conclusión podemos decir que en la actualidad una “Base de Datos es un conjunto de datos relacionados entre sí con un significado implícito que permiten dar soporte a la toma de decisiones así como la gestión y generación de conocimiento”.

1.2 OBJETIVOS DE LAS BASES DE DATOS

Los principales objetivos de una Base de Datos son los siguientes:

Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta

modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual.

Redundancia mínima: Puesto que los archivos que mantienen almacenada la

información son creados por diferentes tipos de programas de aplicación existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de información, es decir que la misma información

sea más de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, además de que puede originar

la inconsistencia de los datos (es decir diversas copias de un mismo dato no concuerdan entre si), por ejemplo: que se actualiza la dirección de un cliente en un archivo y que en otros archivos permanezca la anterior.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 2 de 15

Eliminar la dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el

manejo de los mismos. Supóngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del

código postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situación no fue prevista en el diseño del sistema, no existe ninguna aplicación

de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema.

Acceso concurrente por parte de múltiples usuarios: control de concurrencia mediante técnicas de bloqueo o cerrado de datos accedidos.

Distribución espacial de los datos: la independencia lógica y física facilita la

posibilidad de sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no tiene por qué preocuparse de la localización espacial de los datos a los que

accede.

Integridad de los datos: se refiere a las medidas de seguridad que impiden

que se introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas

externas), como de operación (introducción de datos incoherentes).

Consultas complejas optimizadas: la optimización de consultas permite la

rápida ejecución de las mismas.

Seguridad de acceso y auditoria: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El

sistema de auditoria mantiene el control de acceso a la base de datos, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento.

Respaldo y recuperación: se refiere a la capacidad de un sistema de base

de datos de recuperar su estado en un momento previo a la pérdida de datos.

Acceso a través de lenguajes de programación estándar: se refiere a la

posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programación ajenos al sistema de base de datos

propiamente dicho.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 3 de 15

Versatilidad para representar la información: Ofrecer diferentes visiones de la información que se almacena en la Base de Datos.

1.3 USOS Y APLICACIONES DE LAS BASES DE DATOS. Las aplicaciones de las bases de datos se encuentran en muchos ámbitos de

la vida diaria y es más común de lo que nos imaginamos como se puede observar en las siguientes situaciones:

Bancos: Su aplicación principal es en la actualización de las transacciones financieras que los clientes realizan diariamente y en la recopilación de datos

de los mismos. Líneas aéreas: Las aerolíneas las aplican en las reservaciones que los viajeros

realizan y planificaciones de los vuelos. Universidades: Aquí son muchas las aplicaciones, ya que, todos los

departamentos las utilizan de una u otra manera. Por ejemplo para tener un control de todos los alumnos se tomaríamos en cuenta la matrícula, o para tener un control de los alumnos que se han titulado, etc.

Ventas: Para llevar un control detallado de lo que hace cada cliente, saber que productos ha salido, y que se ha comprado.

Fábricas: Se aplicaría en la producción, en el inventario, y los suministros que se han adquirido.

Recursos humanos: registros de usuarios, salarios, control de plantilla laboral.

Redes: Se puede concentrar la información en un solo equipo que puede asignarse como servidor.

1.4 ARQUITECTURA DE BASE DE DATOS La arquitectura de una base de Datos está compuesta por dos temas importantes que a continuación se tratan, son Los Niveles de Abstracción y La

Independencia Lógica y Física de los Datos. El primer punto que se trata de explicar es el de los niveles de Abstracción de una Base de Datos.

1.4.1 Niveles Abstracción De Una Base De Datos Los Sistemas de Base de Datos se estudian desde tres niveles distintos que se detallan en las siguientes líneas:

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 4 de 15

1.- Nivel Físico. Es el nivel real de los datos almacenados, es decir, como se almacenan los datos, ya sean en registros, o como sea. Este nivel es usado por muy pocas personas

que deben estar calificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que denominamos esquema físico.

2.- Nivel Conceptual. El siguiente nivel más alto de abstracción, describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de su estructura

de diseño. El nivel conceptual de abstracción lo usan los administradores de bases de datos, quienes deben decidir qué información se va a guardar en la base de datos y consta de las siguientes definiciones:

1. Definición de los datos: Se describen el tipo de datos y la longitud de campo de todos los elementos direccionales en la base. Los elementos por definir

incluyen artículos elementales (atributos), totales de datos y registros conceptuales (entidades).

2. Relaciones entre datos: Se definen las relaciones entre datos para enlazar

tipos de registros relacionados para el procesamiento de archivos múltiples.

En el nivel conceptual la base de datos aparece como una colección de

registros lógicos, sin descriptores de almacenamiento. En realidad los archivos conceptuales no existen físicamente. La transformación de registros conceptuales a

registros físicos para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario.

3.- Nivel de Visión. Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general sólo tienen acceso a pequeñas partes de ésta. El nivel de visión es el encargado de

dividir estas partes. Un ejemplo sería el caso del empleado que no tiene por qué tener acceso al suelo de sus compañeros o de sus superiores. El esquema asociado a éste nivel es el esquema de visión.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 5 de 15

1.4.2 Independencia Lógica Y Física De Los Datos.

Podemos definir a la independencia de datos como la capacidad para modificar el esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior. Se pueden definir dos tipos de independencia de datos:

La independencia lógica es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. Se

puede modificar el esquema conceptual para ampliar la base de datos o para reducirla. Si, por ejemplo, se reduce la base de datos eliminando una entidad, los

esquemas externos que no se refieran a ella no deberán verse afectados. La independencia física es la capacidad de modificar el esquema físico o

interno sin tener que alterar el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de datos. Dado que

la independencia física se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento, es más fácil de conseguir que la independencia lógica.

1.5 ESTRUCTURA GENERAL DE UN SISTEMA DE BASE DE DATOS

Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más

básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de base de

datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.

Los componentes funcionales de un sistema de base de datos, son:

Gestor de Archivos. Gestiona la asignación de espacio en la memoria del

disco y de las estructuras de datos usadas para representar información. Manejador de base de datos. Sirve de interfaz entre los datos y los

programas de aplicación.

Procesador de Consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Además convierte la solicitud del usuario en una forma más eficiente.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 6 de 15

Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos éstas se almacenan en el diccionario de

datos Archivo de Datos. En él se encuentran almacenados físicamente los datos

de una organización.

Diccionario de Datos. Contiene la información referente a la estructura de la base de datos.

Índices. Permiten un rápido acceso a registros que contienen valores

específicos. Una forma gráfica de representar los componentes antes mencionados y la

relación que existe entre ellos se muestra la siguiente Figura.

Estructura General de un Sistema de Base de Datos

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 7 de 15

1.5.1 El Gestor De Base De Datos

El sistema de gestión de la base de datos (SGBD) es una aplicación que permite a los usuarios definir, crear y mantener la base de datos, y proporciona acceso controlado a la misma.

El SGBD es la aplicación que interacciona con los usuarios de los programas

de aplicación y la base de datos. En general, un SGBD proporciona los siguientes

servicios:

Proporciona un acceso controlado a la base de datos mediante: Un sistema de seguridad, de modo que los usuarios no autorizados no

puedan acceder a la base de datos.

Un sistema de integridad que mantiene la integridad y la consistencia de los datos.

Un sistema de control de concurrencia que permite el acceso compartido a

la base de datos. Un sistema de control de recuperación que restablece la base de datos

después de que se produzca un fallo del hardware o del software.

Un diccionario de datos o catálogo accesible por el usuario que contiene la descripción de los datos de la base de datos.

Las funciones del Gestor de Base de Datos son:

Interactuar con el gestor de archivos: Traduce proposiciones DML a

comandos del sistema de archivos. El gestor de ficheros asigna espacio en disco, localiza el fichero, lleva el control de los ficheros

Es responsable de conservar la integridad: Comprueba si los datos

almacenados en la Base de Datos satisfacen las restricciones de integridad (consistencia)

Es responsable de garantizar la seguridad: Evita accesos indebidos. Es responsable de respaldo y recuperación: Para evitar pérdidas de

información el gestor de la Base de Datos debe detectar fallos y restaurar la BD estado que tenía antes de que ocurriera el fallo.

Control de concurrencia: Cuando varios usuarios actualizan la Base de Datos de forma concurrente (a la vez) puede que no se conserve la consistencia de

los datos, con lo cual el sistema debe controlar la interacción entre los usuarios. Manejar los datos de acuerdo a las peticiones de los usuarios

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 8 de 15

1.5.2 Los Usuarios De La Base De Datos

Usuarios accidentales o ingenuos. Son usuarios poco complejos que interactúan con el sistema mediante alguna aplicación permanente, por ejemplo, una aplicación que los orienta mediante menús

dirigidos (por ejemplo, el cajero de un banco). No son en absoluto conscientes de la existencia de la Base de Datos o del sistema que da soporte a sus operaciones. Las operaciones que pueden realizar son muy

limitadas y sólo afectan a una porción concreta de la Base de Datos.

Usuarios especializados. Son usuarios que no escriben las aplicaciones tradicionales de procesamiento de datos, sino aplicaciones de inteligencia artificial, sistemas expertos, aplicaciones de audio o gráficas, etc., aunque

también pueden considerarse dentro del grupo de programadores de aplicaciones.

Usuarios Complejos o Sofisticados Interactúan con el sistema directamente sin escribir programas, escribiendo sus consultas en un lenguaje de consulta de Base de Datos. Los usuarios online pueden ser

también ingenuos y estar comunicándose con la Base de Datos mediante determinadas ayudas y menús.

Programadores de aplicaciones Desarrollan los programas o interfaces de usuario que utilizan los primeros y algunos de los segundos; en los programas están incrustadas las sentencias de acceso a la Base de Datos

escritas en LMD. Puesto que la sintaxis del LMD es por lo común muy diferente a la del lenguaje huésped, las llamadas en LMD van precedidas

y seguidas, generalmente, por algunos caracteres especiales para que el precompilador de LMD pueda generar el código adecuado.

Administrador de la Base de Datos Tiene el control centralizado del sistema de base de datos incluyendo programas y datos.

1.5.3 El Administrador De La Base De Datos (DBA)

El alcance de la actividad de Administración de Datos es la organización completa (empresa, institución u otro organismo), mientras que el alcance de Administración de Bases de Datos queda restringido a una Base de Datos en

particular y a los sistemas que los procesan. La Administración de la Base de Datos opera dentro de un marco proporcionado por la Administración de Datos

facilitándose de esta manera el desarrollo y el uso de una Base de Datos y sus

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 9 de 15

aplicaciones. Las siglas DBA suelen utilizarse para designar tanto la función Administración de Base de Datos como al título del puesto administrador de Base

de Datos. Administrador de Base de Datos Es la persona encargada de definir y

controlar las bases de datos corporativas, además proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la requieran. Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de

datos, generalmente tiene(n) experiencia en SGDB, diseño de bases de datos, Sistemas operativos, comunicación de datos, hardware y programación. En los distintos niveles y aplicaciones de Base de Datos existe la función DBA, aunque

varía en complejidad. Esta es más sencilla cuando se trata de una Base de Datos personal que cuando se refiere a una Base de Datos de grupos de trabajo, y esta a su vez es más sencilla que en una Base de Datos Organizacional.

En una Base de Datos Personal comúnmente el mismo usuario es el

Administrador de la Base de Datos; las Bases de Datos de grupos de trabajo requieren de una o dos personas que normalmente no se dedican a esta función de tiempo completo puesto que tienen otras responsabilidades dentro o fuera de la

organización.

En las Bases de Datos Organizacionales, que comúnmente permiten el

acceso a decenas e incluso centenas de usuarios, se requiere de un administrador de Base de Datos de tiempo completo; lo anterior debido al alto volumen de procesos que deben desarrollarse, controlarse y supervisarse.

Un Administrador de Base de Datos de tiempo completo normalmente tiene

aptitudes técnicas para el manejo del sistema en cuestión además, son cualidades

deseables nociones de administración, manejo de personal e incluso un cierto grado de diplomacia. La característica más importante que debe poseer es un conocimiento profundo de las políticas y normas de la empresa así como el criterio

de la empresa para aplicarlas en un momento dado.

La responsabilidad general del DBA es facilitar el desarrollo y el uso de la Base de Datos dentro de las guías de acción definidas por la administración de los datos.

El DBA es responsable primordialmente de:

Administrar la estructura de la Base de Datos Documentación de la Base de Datos. Administrar la actividad de los Datos

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 10 de 15

Administrar el Sistema Manejador de Base de Datos Establecer el Diccionario de Datos

Asegurar la confiabilidad de la Base de Datos Confirmar la seguridad de la Base de Datos.

Administración de la estructura de la Base de Datos

La administración de la estructura de la Base de Datos incluye participar en

el diseño inicial de la misma y su puesta en práctica así como controlar, y administrar sus requerimientos, ayudando a evaluar alternativas, incluyendo los SGDB a utilizar y ayudando en el diseño general de la Base de Datos. En los casos

de grandes aplicaciones de tipo organizacional, el DBA es un gerente que supervisa el trabajo del personal de diseño de la Base de Datos.

Una vez diseñada la Base de Datos, es puesta en práctica utilizando productos del SGDB, procediéndose entonces a la creación de los datos (captura

inicial). El DBA participa en el desarrollo de procedimientos y controles para asegurar la calidad y la alta integridad de la Base de Datos.

Los requerimientos de los usuarios van modificándose, estos encuentran nuevas formas o métodos para lograr sus objetivos; la tecnología de la Base de Datos se va modificando y los fabricantes del SGDB actualizan sus productos.

Todas las modificaciones en las estructuras o procedimientos de Base de Datos requieren de una cuidadosa administración.

Documentación

La responsabilidad final de un DBA en la administración de la estructura de

una Base de Datos es la DOCUMENTACIÓN. Es de suma importancia saber que modificaciones han sido efectuadas, como fueron realizadas y cuando fueron establecidas. Una modificación sobre la estructura de la Base de Datos pudiera

ocasionar un error que no apareciera a corto plazo; una vez que este surja, sin la documentación adecuada sobre las modificaciones realizadas, el diagnostico

resultaría extremadamente complicado. En estos casos, se haría necesaria una secuencia de reejecuciones para intentar detectar el punto en conflicto; el riesgo de este procedimiento radica en que es posible afectar la información contenida en

la Base de Datos. Para identificar un cambio es de suma importancia mantener un registro de los formatos de prueba y de las ejecuciones de las pruebas efectuadas. Si se utilizan procedimientos de prueba formatos de pruebas y métodos de registro

estandarizados, el registro de los resultados de la prueba no consumirá tiempo excesivo.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 11 de 15

Administración de la actividad de datos

Aunque el DBA protege los datos, no los procesa. El DBA no es usuario del sistema, en consecuencia, no administra valores de datos; el DBA administra actividad de datos. Dado que la Base de Datos es un recurso compartido, el DBA

debe proporcionar estándares, guías de acción, procedimientos de control y la documentación necesaria para garantizar que los usuarios trabajan en forma cooperativa y complementaria al procesar datos en la Base de Datos.

Administración del Sistema Gestor de Base de Datos (SGBD)

A demás de administrar la actividad de datos y la estructura de la base de datos, el DBA debe administrar el SGDB mismo. Deberá compilar y analizar estadísticas relativas al rendimiento del sistema e identificar áreas potenciales del

problema. Dado que de la base de datos está sirviendo a muchos grupos de usuarios, el DBA requiere investigar todas las quejas sobre el tiempo de respuesta

del sistema, la precisión de los datos y la facilidad de uso. Si se requieren cambios el DBA deberá planearlos y ponerlos en práctica.

Establecer el Diccionario de Datos

Cuando se definen estándares sobre la estructura de la base de datos, se

deben de registrarse en una sección del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de proceso pueden acceder. Este metadato debe precisar información que nos indique con claridad el tipo de datos

que serán utilizados, sus ámbitos de influencia y sus limitantes de seguridad. Asegurar la Confiabilidad de la Base de Datos

Se trata de realizar un sistema de bases de datos lo suficientemente robusto

para que sea capaz de recuperarse frente a errores o usos inadecuados. Se deben

utilizar gestores con las herramientas necesarias para la reparación de los posibles errores que las bases de datos pueden sufrir, por ejemplo tras un corte inesperado

de luz. Confirmar la Seguridad de la Base de Datos

Coordinar las nuevas propuestas para realizar ajustes en los derechos de

acceso a datos compartidos y aplicaciones específicamente propuestas serían

analizados en conjunto con los supervisores o directivos de las áreas involucradas para determinar si procede pudieran aparecer problemas cuando dos o más grupos de usuarios quedan autorizados para notificar los mismos datos. Uno de tales

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 12 de 15

conflictos es el de la actualización perdida; este ocurre cuando el trabajo de un usuario queda sobrescrito sobre por el de un segundo usuario. El DBA queda

responsabilizado para identificar la posible ocurrencia de dichos problemas así como de crear normas y procedimientos para su eliminación. Se obtendrán este tipo de garantías cuando el SGDB sea capaz de implementar las restricciones

aplicables al acceso concurrente, y este sea utilizado adecuadamente por programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estándares el seguimiento de instructivos y manuales y las reglas

establecidas para los diversos procesamientos y procedimientos que se llevan a cabo.

1.5.4 El Sistema De Comunicación Entre Los Distintos Componentes (API’s, Middleware’s, etc.)

Definición de middleware

El Middleware es un software de conectividad que ofrece un conjunto de

servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores

(sistema operativo y red). El Middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la

fácil programación y manejo de aplicaciones distribuidas. Es el enlace que permite que un cliente obtenga un servicio de un servidor.

Por lo general el middleware del lado cliente está implementado por el Sistema Operativo subyacente, el cual posee las librerías que implementan todas las

funcionalidades para la comunicación a través de la red. Este se inicia en el módulo de API de la parte del cliente que se emplea para

invocar un servicio real; esto pertenece a los dominios del servidor. Tampoco a la interfaz del usuario ni la a la lógica de la aplicación en los dominios del cliente.

Tipos de Middleware Existen dos tipos de middleware: 1. Middleware general

Este tipo permite la impresión de documentos remotos, manejos de transacciones, autenticación de usuarios, etc.

2. Middleware de servicios específicos

Generalmente trabajan orientados a mensajes. Trabaja uno sola transacción a la vez.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 13 de 15

Definición de API

Una API (del inglés Application Programming Interface - Interfaz de Programación de Aplicaciones) es el conjunto de funciones y procedimientos (o métodos si se refiere a programación orientada a objetos) que ofrece cierta librería

para ser utilizado por otro software como una capa de abstracción. Una API representa un interfaz de comunicación entre componentes

software. Se trata del conjunto de llamadas a ciertas librerías que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir abstracción en la programación, generalmente (aunque no necesariamente) entre

los niveles o capas inferiores y los superiores del software. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma,

los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio. Las APIs

asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementación de esa API.

En el siguiente tema se trata de explicar cómo es el funcionamiento de una Base de datos en un entorno de red donde existen varios equipos que necesitan la información que se encuentra concentrada en algún lugar, se le conoce como

arquitectura Cliente / Servidor.

1.7 COMPONENTES DE UN GESTOR DE BASE DE DATOS Los Sistemas Gestores de Base de Datos (SGBD) son paquetes de software

muy complejo y sofisticado que deben proporcionar los servicios comentados en la

sección anterior. No se puede generalizar sobre los elementos que componen un SGBD ya que varían mucho unos de otros. Sin embargo, es muy útil conocer sus componentes y cómo se relacionan cuando se trata de comprender lo que es un

sistema de bases de datos. Un SGBD tiene varios módulos, cada uno de los cuales realiza una función específica. El sistema operativo proporciona servicios básicos al SGBD, que es construido sobre él.

1.7.1 Estructura General Un SGBD se divide en módulos que se encargan de tareas específicas.

Normalmente el Sistema Operativo proporciona una serie de funciones básicas que son utilizadas por el SGBD, para realizar otras tareas más complejas. Los componentes más importantes del SGBD son:

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 14 de 15

Gestor de ficheros (File Manager o File System)

Encargado de asignar espacio en disco y mantener la estructura de los ficheros donde se almacenarán los datos. Además es el responsable de localizar el bloque de información que se requiere solicitándoselo al Gestor de discos del Sistema

Operativo y proporcionándoselo al Gestor de Datos. Puede implementarse simplemente como un interfaz al Gestor de Ficheros del Sistema Operativo o el SGBD puede tener uno propio.

Gestor de datos (Data Manager) Es el principal componente del SGBD. Entre sus funciones podemos citar:

Acceso a los datos interactuando con el gestor de ficheros propio o del S.O. Asegura que se cumplen los requisitos para mantener la integridad y

consistencia de los datos, además de controlar la seguridad.

Sincroniza las operaciones de los usuarios que están accediendo concurrentemente a la BD.

Interviene también en operaciones de respaldos y recuperaciones. Procesador de consultas (Query Processor)

Interpreta las consultas de los usuarios online y los convierte en una serie de operaciones que serán enviadas al Gestor de Datos para su ejecución. Entre sus funciones están el optimizar estas operaciones haciendo uso de la información del

diccionario de datos y encontrar una estrategia eficiente para su ejecución (plan de ejecución).

Compilador de LDD (DDL, Data Definition Languaje) Convierte las sentencias de definición de esquemas en tablas y la información sobre las mismas se almacena en el DD.

Precompilador de LMD (DML, Data Manipulation Languaje) Convierte las sentencias en LMD dentro de un programa de aplicación a

llamadas a procedimientos en el lenguaje huésped. El precompilador debe interactuar con el procesador de consultas para generar el código

apropiado. Aunque no forma parte del SGBD es interesante nombrar al software que permite

la comunicación entre los usuarios online de un sistema y el SGBD, ya que el SGBD interactúa estrechamente con él. Este software, llamado sistema de telecomunicaciones o programa de control de comunicaciones hace de

intermediario trasmitiendo los mensajes desde el usuario al SGBD y las respuestas.

[FUNDAMENTOS DE BD UNIDAD 1 – ING. EN INFORMÁTICA] MSC. Guadalupe Robles Calderón

Página 15 de 15

Además, se requieren una serie de estructuras de datos para que los módulos del SGBD puedan realizar correctamente sus funciones:

Ficheros de datos donde se guardan los datos de la Base de Datos. Diccionario de datos o catálogo del sistema donde se guarda la información

relativa a la estructura de la Base de Datos. Es una base de datos que sirve para documentar los datos. Se usa constantemente, por lo que su diseño e implementación deben ser adecuados para obtener el mejor rendimiento

posible. Además de la información mencionada suele contener información y estadísticas que ayudan a optimizar el acceso a los datos.

Índices que permiten el acceso rápido a elementos de información con

determinados valores.