Unidad I I.SISTEMAS GESTORES DE BASES DE DATOS

1.1. ¿Cuáles son las cuatro diferencias principales entre un sistema de procesamiento de archivos y un SGBD?
  •  Dificultad en el acceso a los datos. La cuestión aquí es que el entorno de procesamiento de archivos convencional no permite que los datos necesarios sean obtenidos de una forma práctica y eficiente. Se deben desarrollar sistemas de recuperación de datos más interesantes para un uso general.
  •  Aislamiento de datos. Debido a que los datos están dispersos en varios archivos, y los archivos pueden estar en diferentes formatos, es difícil escribir nuevos programas de aplicación para recuperar los datos apropiados.
     
  •  Problemas de integridad. Los valores de los datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia; El problema es complicado cuando las restricciones implican diferentes elementos de datos de diferentes archivos.
  •   Problemas de atomicidad. Un sistema de un computador, como cualquier otro dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo. Es decir, la transferencia de fondos debe ser atómica: ésta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difícil asegurar esta propiedad en un sistema de procesamiento de archivos convencional.

1.2. En este capítulo se han descrito las diferentes ventajas principales de un sistema gestor de bases de datos. ¿Cuáles son los dos inconvenientes?
  • Anomalías en el acceso concurrente. Conforme se ha ido mejorando el conjunto de ejecución de los sistemas y ha sido posible en muchos sistemas que múltiples usuarios actualicen los datos simultáneamente. Sin embargo, ya que se puede acceder a los datos desde muchos programas de aplicación diferentes que no han sido previamente coordinados, la supervisión es difícil de proporcionar.
  • Problemas de seguridad. No todos los usuarios de un sistema de bases de datos deberían poder acceder a todos los datos. Por ejemplo, en un sistema bancario, el personal de nóminas necesita ver sólo esa parte de la base de datos que tiene información acerca de varios empleados del banco. No necesitan acceder a la información acerca de las cuentas de clientes. Como los programas de aplicación se añaden al sistema de una forma espontánea, es difícil garantizar tales restricciones de seguridad.
1.3. Explíquese la diferencia entre independencia de datos física y lógica.
  • 1.- 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.Por ejemplo, el añadir cuentas de mercado de valores en un sistema bancario. Son más difíciles de lograr que las independencias físicas, ya que los programas de aplicación son fuertemente dependientes de la estructura  lógica de los datos a los que acceden.
  • 2.- Independencia Física.
    Es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento.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.­­
1.4. Lístense las cinco responsabilidades del sistema gestor de la base de datos. Para cada responsabilidad explíquense los problemas que ocurrirían si no se realizara esa función.

Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. 
Los componentes funcionales de un sistema de bases de datos se pueden dividir a grandes rasgos en los componentes gestor de almacenamiento y procesador de consultas. 
  1. El gestor de almacenamiento es responsable de la interacción con el gestor de archivos. Los datos en bruto se almacenan en disco usando un sistema de archivos, que está disponible habitualmente en un sistema operativo convencional.
  2. Gestor de autorización e integridad, que comprueba que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos.
  3. Gestor de transacciones, que asegura que la base de datos quede en un estado consistente (correcto) a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran si conflictos.
  4. Gestor de archivos, que gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco.
  5.  Gestor de memoria intermedia, que es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en memoria caché. El gestor de memoria intermedia es una parte crítica del sistema de bases de datos, ya que permite que la base de datos maneje tamaños de datos que son mucho mayores que el tamaño de la memoria principal.
  6. Los componentes del procesador de consultas incluyen:
    • Intérprete del LDD, que interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos.
    • Compilador del LMD, que traduce las instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que consiste en instrucciones de bajo nivel que entiende el motor de evaluación de consultas.
    Una consulta se puede traducir habitualmente en varios planes de ejecución alternativos que proporcionan el mismo resultado. El compilador del LMD también realiza optimización de consultas, es decir, elige el plan de evaluación de menor coste de entre todas las alternativas.
    • Motor de evaluación de consultas, que ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD.
1.5. ¿Cuáles son las cinco funciones principales del administrador de la base de datos?
  • Definición del esquema. El administradores de la base de datos crea el esquema original de la base de datos escribiendo un conjunto de instrucciones de definición de datos en el LDD.
  • Definición de la estructura y del método de acceso.
  • Modificación del esquema y de la organización física. Los administradores de la base de datos realizan cambios en el esquema y en la organización física para reflejar las necesidades cambiantes de la organización, o para alterar la organización física para mejorar el rendimiento.
  • Concesión de autorización para el acceso a los datos. La concesión de diferentes tipos de autorización permite al administrador de la base de datos determinar a qué partes de la base de datos puede acceder cada usuario. La información de autorización se mantiene en una estructura del sistema especial que el sistema de base de datos consulta cuando se intenta el acceso a los datos en el sistema.
  • Mantenimiento rutinario. Algunos ejemplos de actividades rutinarias de mantenimiento del administrador de la base de datos son:
    — Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre servidores remotos, para prevenir la pérdida de datos en caso de desastres como inundaciones.
    — Asegurarse de que haya suficiente espacio libre en disco para las operaciones normales y aumentar el espacio en disco según sea necesario.
    — Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
 Definiciones


Abstracción de datos.
Para que el sistema sea útil debe recuperar los datos eficientemente. Esta preocupación ha conducido al diseño de estructuras de datos complejas para la representación de los datos en la base de datos. Como muchos usuarios de sistemas de bases de datos no están familiarizados con computadores, los desarrolladores esconden la complejidad a los usuarios a través de varios niveles de abstracción para simplificar la interacción de los usuarios con el sistema.

Administrador de la base de datos (ADB).
Una de las principales razones de usar sistema gestor de bases de datos es tener un control centralizado tanto de los datos como de los programas que acceden a esos datos. La persona que tiene este control central sobre el sistema se llama administrador de la base de datos

Aplicaciones de sistemas de bases de datos.
Las bases de datos son ampliamente usadas: 
• Banca. Para información de los clientes, cuentas y préstamos, y transacciones bancarias.
• Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos).
• Universidades. Para información de los estudiantes, matrículas de las asignaturas y cursos.
• Transacciones de tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de extractos.
• Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar información sobre las redes de comunicaciones.
• Finanzas. Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos.
• Ventas. Para información de clientes, productos y compras.

Concurrencia.
cuando varias transacciones actualizan la base de datos concurrentemente, la consistencia de los datos puede no ser preservada, incluso aunque cada transacción individualmente sea correcta. Es responsabilidad del gestor de control de concurrencia controlar la interacción entre las transacciones concurrentes para asegurar la consistencia de la base de datos.

 Diccionario de datos.
El gestor de almacenamiento implementa varias estructuras de datos como parte de la implementacion física del sistema donde el diccionario de datos, que almacena metadatos acerca de la estructura de la base de datos, en particular, el esquema de base de datos.

Esquema.
Las bases de datos van cambiando conforme la información se inserta y borra. La colección
de información almacenada en la base de datos en un momento se llama ejemplar de la base de datos. El diseño completo de la base de datos se llama el esquema de la base de datos, es la analogía con un programa escrito en un lenguaje de programación.

— Esquema de la base de datos.
Un esquema de base de datos corresponde a las declaraciones de variables (junto con definiciones de tipos asociadas) en un programa. Cada variable tiene un valor particular en un instante de tiempo. Los valores de las variables en un programa en un instante de tiempo corresponde a un ejemplar de un esquema de bases de datos.

— Esquema físico.
El esquema físico describe el diseño físico en el nivel físico. Esté está oculto bajo el esquema lógico, y puede ser fácilmente cambiado usualmente sin afectar a los programas de aplicación. 

— Esquema lógico.
El esquema lógico describe el diseño de la base de datos en el nivel lógico. Esté es con mucho el más importante, en términos de su efecto en los programas de aplicación, ya que los programadores construyen las aplicaciones usando el esquema lógico.

• Inconsistencia de datos.
Debido a que los archivos y programas de aplicación son creados por diferentes programadores en un largo período de tiempo, los diversos archivos tienen probablemente diferentes formatos y los programas pueden estar escritos en diferentes lenguajes. Esta repetición conduce a un almacenamiento y coste de acceso más altos, que puede conducir a la inconsistencia de datos; es decir, las diversas copias de los mismos datos pueden no coincidir.

• Independencia física de los datos.
Los programas de aplicación se dice que muestran independencia física de datos si no dependen del esquema físico y, por tanto, no deben ser modificados si cambia el esquema físico.

• Lenguajes de bases de datos.
Un sistema de bases de datos proporciona un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de datos y las modificaciones. En la práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes separados; en su lugar simplemente forman partes de un único lenguaje de bases de datos.

— Lenguaje de consultas.
Una consulta es una instrucción de solicitud para recuperar información. La parte de un LMD que implica recuperación de información se llama lenguaje de consultas. Aunque técnicamente sea incorrecto, en la práctica se usan los términos lenguaje de consultas y lenguaje de manipulación de datos como sinónimos.

— Lenguaje de definición de datos.
Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición de datos (LDD). Especificamos el almacenamiento y los métodos de acceso usados por el sistema de bases de datos por un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y definición de datos. Estas instrucciones definen los detalles de implementación de los esquemas de base de datos, que se ocultan sualmente a los usuarios.Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia.

• Lenguaje de manipulación de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos básicamente:
• LMDs procedimentales. Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
• LMDs declarativos (también conocidos como LMDs no procedimentales). Requieren que el usuario especifique qué datos se necesitan sin especificar cómo obtener esos datos.

• Máquinas cliente y servidor.
La mayoría de usuarios de un sistema de bases de datos no están situados actualmente junto al sistema de bases de datos, sino que se conectan a él a través de una red. Se puede diferenciar entonces entre las máquinas cliente, en donde trabajan los usuarios remotos de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema de bases de datos.
En una arquitectura de dos capas, la aplicación se divide en un componente que reside en la
máquina cliente, que llama a la funcionalidad del sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas. Los estándares
de interfaces de programas de aplicación como ODBC y JDBC se usan para la interacción entre el cliente y el servidor.
En cambio, en una arquitectura de tres capas, la máquina cliente actúa simplemente como frontal y no contiene ninguna llamada directa a la base de datos. En su lugar, el cliente se comunica con un servidor de aplicaciones, usualmente mediante una interfaz de formularios.
El servidor de aplicaciones, a su vez, se comunica con el sistema de bases de datos para acceder a los datos.

• Metadatos.
Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos.

• Modelos de datos.
Es  una colección de herramientas conceptuales para describir los datos, las relaciones, la semántica y las restricciones de consistencia. Para ilustrar el concepto de un modelo de datos, describimos dos modelos de datos en este apartado: el modelo entidad-relación y el modelo relacional. Los diferentes modelos de datos que se han propuesto se clasifican en tres grupos diferentes: modelos lógicos basados en objetos, modelos lógicos basados en registros y modelos físicos.


Comentarios

Entradas populares de este blog

Ejercicios

Evaluación Intermedia Unidad V

Arquitectura del Sistema Gestor de Base de Datos (SGBD)