2. Cuestionario sobre SGBD (parte 2)
Javier Benítez del Pozo
1. Indica las diferencias existentes entre las funciones de manipulación y de descripción. Función de descripción o de definición. Esta función debe permitir al administrador de la base especificar los elementos de datos que la integran, su estructura, las relaciones que existen entre ellos, las reglas de integridad, semántica, los controles a efectuar antes de autorizar el acceso a la base, etc. Esta función se lleva a cabo mediante el Lenguaje de Descripción o de Definición de Datos (LDD) propio de cada SGBD y debe suministrar los medios para definir las tres estructuras de datos (externa, conceptual e interna), especificando las características de los datos a cada uno de estos niveles. Función de manipulación. Permite a los usuarios de la Base buscar, añadir, suprimir o modificar los datos de la misma, siempre de acuerdo con las especificaciones y las normas de seguridad establecidas por el administrador. Esta función se realiza mediante el Lenguaje de Manipulación de Datos (LMD) que facilita las herramientas necesarias para la realización de estas tareas.
2. ¿Qué tipos de usuarios interaccionan con una 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 BD o del sistema que da soporte a sus operaciones. Las operaciones que pueden realizar son muy limitadas. Usuarios online. Comunican con la base de datos directamente, o indirectamente a través de un interfaz de usuario o de un programa de aplicación. Estos usuarios pueden ser conscientes de estar conectados a un sistema de base de datos y pueden tener una cierta experiencia dentro de las operaciones a que tienen acceso a través del interfaz que estén usando. Dentro de este tipo se encuentran también usuarios complejos que interactúan con el sistema directamente sin escribir programas, escribiendo sus consultas en un lenguaje de consulta de BD. Los usuarios online pueden ser también ingenuos y estar omunicándose con la BD 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 BD 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. Tiene el control centralizado del sistema de base de datos incluyendo programas y datos. Puede crear, modificar y mantener los esquemas de los distintos niveles, especifica las restricciones, controla las autorizaciones de acceso a datos y define las políticas de recuperación y respaldos de datos.
3. Cuestionario sobre SGBD (parte 2)
Javier Benítez del Pozo
Otros. Podemos considerar otro tipo de usuarios, los usuarios especializados, 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.
3. Indica que es un lenguaje huésped y un lenguaje anfitrión.
Lenguaje huésped: es el Lenguaje de Manipulación de Datos de bajo nivel, que se ocupa de la manipulación física de los datos, se llama huésped porque suele estar alojado en algún otro lenguaje de programación de propósito general.
Lenguaje anfitrión: Es un lenguaje principal a partir del cual se desarrolla la actividad necesaria con la base de datos. No necesita de ningún lenguaje huésped.
4. La gestión del espacio de almacenamiento, ¿a qué nivel de la arquitectura ANSI/SPARC pertenece?
Pertenece al nivel interno
5. Dibujar un diagrama de la arquitectura de sistemas de bases de datos (ANSI/SPARC).
Nivel conceptual
Nivel interno
Nivel externo
Nivel físico (Base de datos)
Usuarios
Diseño
Almacenamiento
4. Cuestionario sobre SGBD (parte 2)
Javier Benítez del Pozo
6. Indica las principales funciones realizadas por el SGDB.
Las funciones principales de un SGBD son:
1. Crear y organizar la Base de Datos. 2. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accedidos rápidamente. 3. Manejar los datos de acuerdo a las peticiones de los usuarios. 4. Registrar el uso de las bases de datos. 5. Responsable del verdadero almacenamiento de los datos. 6. Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallos en el sistema de base de datos. 7. Control de concurrencia. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos. 8. 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.
7. Explica la diferencia entre la independencia física y lógica de los 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 se verán afectados. La independencia física es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual. 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
8. ¿Qué es el diccionario de datos?
Un diccionario de datos contiene las características lógicas de los datos que se van a utilizar en el sistema que estamos programando, incluyendo nombre, descripción, alias, contenido y organización. Estos dicccionarios se desarrollan durante el análisis de flujo de datos y ayuda a los analistas que participan en la determinación de los requerimientos del sistema, su contenido también se emplea durante el diseño del proyecto.
9. Diferencias entre el LDD y LMD de un sistema gestor de base de datos.
LMD (Lenguaje de manupulación de datos) es un lenguaje que permite a los usuarios acceder o manipular datos. Hay dos tipos: LMD procedimentales que requieren que se especifiquen los datos requeridos y como se buscarán; y los LMD no procedimentales
5. Cuestionario sobre SGBD (parte 2)
Javier Benítez del Pozo
que solo requiere que se especifique que datos se solicitan. La misión del LDD (Lenguaje de definiciçon de datos) es describir y definir todos los esquemas que participen en la base de datos. Consiste en la descripción de los objetos que vamos a representar y la descripción de todas las estructuras que formen nuestra base de datos.
10. Indica los componentes principales de un sistema gestor de base de datos.
Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.
Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos.
Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.
Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas.
Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones.
Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.
Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.
Gestor de buffers. Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.
11. ¿Qué es un modelo de datos?
Un modelo de datos es un lenguaje orientado a describir una Base de Datos. Típicamente un modelo de datos permite describir:
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
12. ¿Qué son los lenguajes de cuarta generación? Pon ejemplos.
La idea del avance de la programación es que el programador se concentre en la resolución del problema y no en las complicaciones inherentes al lenguaje. Los lenguajes de cuarta generación son diseñados para reducir el esfuerzo en la programación, además de los tiempos y costos del desarrollo de software.
La cuarta generación incorpora lenguajes y metodologías de más alto nivel, con lo cual, empleando sentencias simples, se generan instrucciones que, en los lenguajes 3GL,
6. Cuestionario sobre SGBD (parte 2)
Javier Benítez del Pozo
hubiesen sido más complicadas. Esto también disminuye la posibilidad de errores al programar.
Ejemplo: SQL y QBE.
13. Indica las principales ventajas de un sistema de bases de datos. ¿Existen algunas desventajas?
Ventajas que proporciona: Gestión y control centralizado de los datos. Reducción de redundancias. Datos compartidos. Integridad. Seguridad. Control de concurrencia. Independencia.
Desventajas: Coste de software y hardware: Además del coste de comprar el software, probablemente haya que ampliar o subir de versión el hardware (upgrade) para que el programa pueda almacenarse y funcione correctamente; además, si no, el sistema podría degradarse y los tiempos de respuesta subir drásticamente por la sobrecarga que añade el SGBD al tener que implementar la seguridad, integridad y datos compartidos. Recordemos que estamos hablando de SGBD grandes, no por supuesto de los de ordenadores personales. Coste de migración de aplicaciones: Un coste adicional, también, es la migración de las aplicaciones para pasar a un entorno integrado. Las operaciones de respaldo y recuperación de los datos en caso de fallo son complejas, debido al acceso concurrente de múltiples usuarios. Criticidad del SGBD: La centralización también significa que los datos de la organización, están almacenados en un único lugar, en la base de datos, con lo que cualquier fallo de seguridad u operación del SGBD puede afectar a toda la organización (sistemas distribuidos y compartidos) .