Actividad 1.2. Cuestionario sobre SGBD (2ª parte) 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 de datos 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, lógica, global 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 los instrumentos necesarios 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 y sólo afectan a una porción concreta de la BD. 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 comunicá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 de la BD. Tiene el control centralizado del sistema de base de datos incluyendo programas y datos. Crea, modifica y mantiene los esquemas en los distintos niveles; cualquier cambio en los esquemas requiere su participación. Estas operaciones las realiza mediante el LDD. Especifica las restricciones necesarias para que se mantenga la integridad. Controla todas las autorizaciones de acceso a los datos. Define las políticas de recuperación y respaldos de datos (backup). No tiene que ser una única persona, lo normal es que sea un grupo. 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 LMD de bajo nivel, que se ocupa de la manipulación física de los datos (acceso físico), 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). 6.Indica las principales funciones realizadas por el SGDB. -Permitir a los usuarios la inserción, actualización y acceso a los datos, amen de ocultar a su vista el nivel interno. -Proporcionar un diccionario de datos o catalogo en el que figuren las descripciones o metadatos del conjunto de datos de la base de datos. Ej. Denominación de las relaciones existentes entre las distintas entidades. -Garantizar la atomicidad de las transacciones, es decir, las operaciones correspondientes a una transaccion deben de ser consideradas en su conjunto, tal que todas deben de ser realizadas, o bien no ser realizada ninguna. De no cumplirse dicha atomicidad, podría producirse la inconsistencia de la base de datos.
Ej. Una transferencia bancaria del usuario A al usuario B, conlleva 2 operaciones, siendo la primera una disminución del dinero del usuario A, y la segunda un aumento del dinero del usuario B. Si en medio de la transacción, fallase el aumento de dinero del usuario B, o la disminución de dinero del usuario A, tendría lugar una inconsistencia. En el supuesto A, de no darse la atomicidad, observamos que se ha producido un aumento del dinero del usuario B sin producirse una disminución de dinero del usuario A. Lo mismo puede predicarse del supuesto B, solo que a la inversa, es decir, se produce una disminución del dinero del usuario A sin que se produzca un aumento del dinero del usuario B. -Permitir el acceso concurrente sin que se produzcan interferencias fruto de la actualización/modificación de los datos. -Garantizar mecanismos que permitan la recuperación de la base de datos en caso de fallos de hardware o software. -Definir mecanismos de seguridad que permitan únicamente el acceso a la base de datos a aquellos usuarios autorizados. -Permitir la integración de un software de comunicación. -Integridad de la base de datos, es decir, los datos deben de ser validos, de acuerdo al conjunto de restricciones expresadas, además de ser consistentes, véase, coherentes en relación al resto de información. Ejemplo de restriccion: En una base de datos en la cual se establecen las nóminas de los empleados, fijar un límite salarial correspondiente a las diferentes categorías de trabajadores dentro de una empresa. Por ejemplo, en relación a un trabajador de la categoría A, no se permite la inserción de salarios superiores a 1500, puesto que es el tope salarial máximo fijado para tal categoría. -Garantizar la independencia entre los programas (nivel externo) y la estructura física de la base de datos (nivel interno), así como la independencia entre los datos (nivel conceptual), y la estructura física de la base de datos. Es lo que se conoce como independencia lógico-física. -Ofrecer herramientas que permitan la administración de la base de datos. 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. La independencia física: es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual 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 diccionarios 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. El lenguaje de definición de datos está orientado a definir la estructura de la base de datos, mientras que el lenguaje de manipulación de datos sirve para la inserción, modificación, supresión, y realización de consultas sobre los datos. 10.Indica los componentes principales de un sistema gestor de base de datos. -Control de autorización. Componente que comprueba que el usuario disponga de los permisos necesarios para efectuar la operación solicitada. -Procesador de comandos. Tras comprobar el sistema que el usuario tiene permiso, pasa el control a este modulo. -Control de integridad. Modulo que comprueba que tras producirse una modificación en los datos de la base de datos, se cumplen todas las restricciones de integridad. -Optimizador de consultas. Modulo que determina el camino más optimo para la ejecución de consultas. -Gestor de transacciones, encargado como su nombre indica, de procesar las transacciones. -Planificador, responsable de asegurar que ante un acceso concurrente por parte de múltiples usuarios, no se producen interferencias y/o conflictos. -Gestor de recuperación, orientado a que la base de datos, en caso de producirse algun fallo de hardware o software, siga siendo consistente. 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. Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí. 12. Qué son los lenguajes de cuarta generación? Pon ejemplos. Los lenguajes de cuarta generación son aquellos lenguajes de programación diseñados con un propósito específico, por ejemplo, el desarrollo de software comercial. Se caracterizan por una mayor facilidad de uso en comparación a los de la tercera generación, permitiendo la creación de prototipos de una aplicación rápidamente. 13.Indica las principales ventajas de un sistema de bases de datos. Existen algunas desventajas? Ventajas Gestión y control centralizado de los datos. Reducción de redundancias. Compartición de datos. Integridad. Seguridad. Control de concurrencia. Independencia de datos, permitiendo cambios y crecimiento.
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ástica-mente por la sobrecarga que añade el SGBD al tener que implementar la se-guridad, 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 mi-gració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).