sábado, 17 de noviembre de 2012

Sistema Manejador de Bases de Datos


  • SISTEMA MANEJADOR DE BASE DE DATOS(SMBD) (DBMS)
    Es un software de sistemas que tiene como propósito general facilitar el proceso de
    definir, construir y manipular bases de datos que se utilizan para diferentes tipos de
    aplicaciones.

    Componentes de software principales asociados a un SMDB :
             Generadores de aplicación.
             Lenguajes de cuarta generación (4GL).
             Software de consulta a la base de datos.
             Generadores de reportes y pantallas.
    Ejemplos de software: Informix 4GL, Oracle, SQL server...




    PROCESOS RELACIONADOS CON LOS SMBD:
    *Definir la base de datos significa la declaración de:
             Los tipos de datos
             La estructura
             Las restricciones de los datos a ser almacenados en la base de datos.
    * Crear o construir la base de datos: es el proceso de almacenar los datos en algún
    medio de almacenamiento, esto es controlado por el SMBD.
    * Manipular una base de datos incluye funciones como:
             Consultar la base de datos para obtener algunos datos específicos.
             Actualizar la base de datos para reflejar cambios en el minimundo.
             Generar reportes de los datos.
             Eliminar algunos datos





    CAPACIDADES QUE DEBE OFRECER UN SMBD:

             Control de redundancias.
             Restricción de accesos no autorizados
             Proporcionar múltiples interfaces de usuario.
             Representar relaciones complejas entre datos.
             Forzar el uso de restricciones de integridad.
             Proporcionar métodos de respaldos y recuperación.

    CUANDO NO UTILIZAR UN SMBD
    * La base de datos y aplicaciones son simples, bien definidas y se requieren
       pocos cambios.
    * No es necesario el acceso de múltiples usuarios a los datos.

    Los tres niveles de arquitectura de un SMBD:

    Nivel Externo: Vista del usuario de aplicación, definida por el usuario o el programador de
    Aplicaciones en consulta con el DBA.

    Nivel conceptual: Definido por el DBA

    Nivel Interno: Definido por el DBA para su optimización


    Las principales funciones que debe realizar un S.G.B.D. son:

    ·        La definición de los datos.
    ·        La manipulación de los datos.
    ·        Garantizar la seguridad e integridad de los datos.
    ·        La gestión de las transacciones y el acceso concurrente.


    Definición de datos

    Mediante el Lenguaje de Definición de datos (L.D.D.) el S.G.B.D. permite describir y definir los esquemas de la base de datos. Este lenguaje debe permitir:

    ·        La creación de objetos conceptuales
    ·        La descripción de estructuras físicas
    ·        La definición de vistas

    Para una base de datos existente, el L.D.D. debe permitir también:

    ·        La modificación de la descripción de objetos conceptuales
    ·        El borrado de objetos conceptuales
    ·        La modificación y borrado de caminos de acceso
    ·        La modificación de las vistas

    Un L.D.D. está compuesto por un conjunto de comandos que actúan sobre los objetos conceptuales y sobre los objetos físicos El conjunto de las descripciones de objetos de una base de datos se le conoce con el nombre de diccionario de datos.


    Manipulación de datos

    La función de manipulación de datos se encarga de todas las operaciones de intercambio de datos entre los usuarios y la base de datos. Esta función se hace con la ayuda del Lenguaje de Manipulación de datos (L.M.D.), que está compuesto por un conjunto de comandos que nos permiten la consulta o puesta al día (inserción, modificación y borrado) de los datos de una base de datos.

    Los L.M.D. funciona de forma diferente, según el modelo de datos:


    ·        En los modelos en red y jerárquicos son, lenguajes procedimentales (se indica que datos se quieren y como se van a obtener esos datos), es decir, los programadores deben indicar el camino a seguir para acceder a los datos solicitados.

    ·        En el modelo relacional son lenguajes declarativos o no procedimentales (se indica que datos se quieren pero no la forma de obtenerlos), y no es necesario indicar cómo se tiene que acceder a los datos, es suficiente indicar qué es lo que se desea obtener.


    Seguridad e integridad de los datos

    Se trata de garantizar la coherencia de los datos, comprobando que sólo los usuarios autorizados puedan efectuar las operaciones correctas sobre la base de datos. Esto se consigue mediante:

    ·        Un control sobre los usuarios que acceden a la base de datos y los tipos de operaciones que están autorizados a realizar. Este control se llama gestión de autorizaciones, y permite crear o borra usuarios y conceder o retirar derechos a efectuar determinados tipos de operaciones (por ejemplo: crear objetos, borrar objetos, modificar datos, etc.).

    ·        La validación de las operaciones realizadas con los datos. Este control se hace mediante un conjunto de reglas llamadas restricciones de integridad. Existen varios tipos de restricciones de integridad, como por ejemplo, las restricciones de integridad referencial, que imponen que las modificaciones realizadas sobre algunos datos, obliguen a realizar modificaciones de otros datos con los que están enlazados (por ejemplo, si se modifica el código de un artículo, se debería modificar ese código en todos los pedidos que soliciten el artículo).

    ·        Una protección de los datos contra los accesos malintencionados y los fallos. Los accesos malintencionado se suelen evitar con la asignación de palabras de paso (password) a los usuarios, la definición de vistas, protección física de los datos (encriptado de los datos). Con respecto a los fallos causados por manipulaciones incorrectas, o accidentes lógicos o físicos, los S.G.B.D. suelen disponer de utilidades de recuperación de los datos después de un fallo.

    La correcta utilización de todas estas operaciones de seguridad e integridad constituye una tarea esencial del Administrador de la base de datos (gestión de usuarios y sus derechos, gestión de vistas y recuperación después de un fallo).


    Gestión de transacciones y acceso concurrente

    El principal objetivo de la implantación de una base de datos en un sistema de información de una organización, es poner a disposición de un gran número de usuarios un conjunto integrado de datos. El S.G.B.D. debe proteger los datos cuando estos sean manipulados simultáneamente por diferentes usuarios.

    Una transacción se define como una unidad lógica de tratamiento (conjunto de órdenes) que aplicada a un estado coherente de la base de datos la deja, de nuevo, en un estado coherente, después de hacer las modificaciones. Una transacción solo se puede ejecutar completamente o ser anulada.

    Para controlar la ejecución simultanea de transacciones es necesario una buena gestión de acceso concurrente que controle que  la ejecución paralela de transacciones da el mismo resultado que una ejecución secuencial. Para controlar la ejecución paralela, la solución clásica consiste en bloquear momentáneamente los datos utilizados por una transacción hasta que finalice la actualización y las demás transacciones que demandan estos datos se ponen en espera hasta que quedan desbloqueados.

    Un parámetro importante que afecta al rendimiento es el nivel de bloqueo de datos, llamadogranularidad del bloque. Esta granularidad puede ser lógica (toda la base, una tabla, una línea) o física (segmento, fichero, página).

    La consecuencia de esta técnica de bloqueos es el riesgo del interbloqueo (llamado bloqueo mortal), que sucede cuando dos o más transacciones se encuentran a la espera de que queden liberados datos que tiene bloqueados otra transacción que espera por los datos que están bloqueados por las transacciones anteriores. El S.G.B.D. debe estar capacitado para detectar esta situación y desbloquearla.


    Otras funciones que deben realizar los S.G.B.D. son:

    ·   Capacidad de auditoria: Para el administrador de la base de datos es muy importante conocer quien accede a la base de datos y que operaciones realiza. Un buen S.G.B.D debe poder proporcionarle esa información.

    ·   Garantizar un tiempo de respuesta idóneo para el diálogo entre los usuarios y la base de datos en los procesos en línea.





No hay comentarios:

Publicar un comentario