Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

Apuntes de Administración de Bases de Datos




Enviado por iscgarcia



    1. Funciones del Administrador
      de la Base de Datos
    2. Implementación del
      esquema Conceptual (Nivel Lógico
      Global)
    3. Implementación del
      Esquema Interno (Nivel Físico)
    4. Implementaciones de los
      Esquemas Externos (Vistas)
    5. Diccionario de
      Datos
    6. Herramientas del
      Sistema
    7. Implicaciones de Bases de
      datos Distribuidas
    8. Bibliografía

    Introducción.

    Una Base de Datos
    es una colección de archivos,
    datos,
    información; ordenada, organizada, y
    relacionada, con la finalidad de permitir el manejo de la
    información para su procesamiento.  Cada uno de los
    archivos representan una  colección de registros y cada
    registro
    está compuesto de una colección de campos. 
    Cada uno de los campos de cada registro permite llevar
    información de alguna característica o atributo de
    alguna entidad del mundo real.

              
    El DBMS es un conjunto de programas que se
    encargan de manejar la creación y todos los accesos a las
    bases de
    datos. Se compone de un Lenguaje de
    Definición de Datos (DDL: Data Definition Languaje), de un
    Lenguaje de Manipulación de Datos (DML: Data Manipulation
    Languaje), y de un Lenguaje de Consulta (SQL:
    Structured Query Languaje).

    Sistema de Administración de Base de Datos
    (DBMS).

    Es el nivel de software que provee el
    acceso a la información a un alto nivel de
    abstracción. En lugar de manipular archivos, registros,
    índices, el programa de
    aplicación opera en términos de clientes,
    cuentas,
    saldos, etc.

    Acceso a la Base de Datos

    La secuencia conceptual de operaciones que
    ocurren para accesar cierta información que contiene una
    base de datos es la siguiente:

    • El usuario solicita cierta información
      contenida en la base de datos.
    • El DBMS intercepta este requerimiento y lo
      interpreta.
    • DBMS realiza las operaciones necesarias para accesar
      y/o actualizar la información solicitada

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Proceso para Accesar Información
    de Bases de Datos.

    Unidad I. Funciones del
    Administrador
    de la Base de Datos.

    1. Conceptos Generales.

    Administrador de la 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 DBMS, diseño
    de bases de datos, Sistemas
    operativos, comunicación de datos, hardware y  programación.

              
    Un Administrador de Base de Datos de tiempo
    completo normalmente tiene aptitudes técnicas
    para el manejo del sistema en cuestión a demá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 Administrador de Bases de Datos es responsable
    primordialmente de:

    • Administrar la estructura
      de la Base de Datos.
    • Administrar la actividad de los datos.
    • 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.

    Administrar la estructura de la Base
    de Datos.

    Esta responsabilidad incluye participar en el
    diseño inicial de la base de datos y su puesta en practica
    así como controlar, y administrar sus requerimientos,
    ayudando a evaluar alternativas, incluyendo los DBMS a utilizar y
    ayudando en el diseño general de la bases 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 BD.

             
    Una vez diseñada las bases de datos, es puesta en
    práctica utilizando productos del
    DBMS, 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 BD.

               
    Los requerimientos de los usuarios van modificándose,
    estos encuentran nuevas formas o métodos
    para lograr sus objetivos; la
    tecnología
    de la BD se va modificando y los fabricantes del DBMS actualizan
    sus productos. Todas las modificaciones en las estructuras o
    procedimientos de BD requieren de una cuidadosa
    administración.

    Administración
    de la Actividad de Datos.

              
    El DBA no es usuario del sistema, no administra valores de
    datos; sino la actividad de datos; protege los datos, no los
    procesa. 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 trabajen en forma cooperativa y
    complementaria al procesar datos en la bases de datos.

    Administrar el Sistema Manejador de Base de
    Datos
    .

              Existe
    una gran actividad al interior de un DBMS. La concurrencia de
    múltiples usuarios requiere la estandarización de
    los procesos de
    operación; el DBA es responsable de éstas
    especificaciones y de asegurarse que estas lleguen a quienes
    concierne. Todo el ámbito de la base de datos se rige por
    estándares, desde la forma de como se captura la
    información (tipo de dato, longitud, formato), como es
    procesada y presentada. El nivel de estandarización
    alcanza hasta los aspectos más internos de la base de
    datos; como sé accesa a un archivo, como se
    determinan los índices primarios y auxiliares, registros,
    etc.

              El
    DBA debe procurar siempre que los estándares que
    serán aplicados beneficien también a los usuarios,
    privilegiando siempre la optimización en la
    operación del DBMS y el apego de las políticas de
    la empresa.  Entre las funciones del DBA se encuentra la de
    revisar los estándares periódicamente para
    determinar su operatividad, ajustarlos, ampliarlos o cancelarlos
    y hacer que éstos se cumplan.

    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 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 DBMS 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 acabo.

        Entre las alternativas mas utilizadas
    por el DBA para tratar de resolver o minimizar este problema se
    encuentran las siguientes:

    • Restringir el acceso a los procedimientos para
      ciertos usuarios.
    • Restringir al acceso a los datos para ciertos
      usuarios procedimientos y/o datos.
    • Evitar la coincidencia de horarios para usuarios que
      comparten.

             
    Las técnicas de recuperación son otra función
    esencial del DBA al administrar la actividad de datos. A pesar de
    que el DBMS lleva a cabo una parte del proceso de
    recuperación, los usuarios determinan en forma critica la
    operatividad de esos sistemas de
    protección. El DBA debe anticipar fallas y definir
    procedimientos estándares de operación; los
    usuarios deben saber que hacer cuando el sistema este
    caído y que es lo primero que debe realizarse cuando el
    sistema este puesto en marcha nuevamente. El personal de
    operación deberá saber como iniciar el proceso de
    recuperación de la BD que copias de seguridad utilizar;
    como programar la reejecución del tiempo perdido y de las
    tareas pendientes; es importante también establecer un
    calendario para llevar a cabo estas actividades sin afectar a
    otros sistemas dentro de la
    organización que hagan uso de los mismos recursos de
    computo. Destacan por su importancia en el proceso de
    recuperación y a su vez en la atención que prestan a otros sectores de la
    organización. Los dispositivos de
    comunicación remota, los sistemas de interconexión
    y otros accesorios de uso compartido.

             
    El DBA es el responsable de la publicación y mantenimiento
    de la documentación en relación con la actividad de
    los datos, incluyendo los estándares de la BD, los
    derechos de recuperación y de acceso a la BD, los
    estándares para la recuperación de caídas y
    el cumplimiento de las políticas establecidas. Los
    productos DBMS más populares que se encuentran en el
    mercado
    proporcionan servicios de
    utilerías para ayudar al DBA en la administración
    de los datos y su actividad. Algunos sistemas registran en forma
    automática los nombres de los usuarios y de las
    aplicaciones a las que tienen acceso así como a otros
    objetos de la BD. Incorpora también utilerías que
    permitan definir en el diccionario de datos las restricciones
    para que determinadas aplicaciones o módulos de ellas solo
    tengan acceso a segmentos específicos de la BD.

    Objetivos del
    Administrador de la Base de Datos.

    Mantener la Integridad de los
    Datos.
    Una base de datos debe protegerse de
    accidentes
    tales como los errores en la entrada de los datos o en la
    programación, del uso mal intencionado de la base de datos
    y de los fallos del hardware o del software que corrompen los
    datos. La protección contra accidentes, que ocasiona
    inexactitudes en los datos, es parte del objetivo de
    garantizar la integridad de los datos. Estos accidentes incluyen
    los fallos durante el procesamiento de las transacciones, los
    errores lógicos que infringen la suposición de que
    las transacciones preservan las restricciones de consistencia de
    la base de datos y las anomalías debido al acceso
    concurrente en la base de datos (acceso concurrente). La
    integridad, se encarga de asegurar que las operaciones ejecutadas
    por los usuarios sean correctas y mantengan la consistencia de la
    base de datos.

    Mantener la Seguridad de los Datos. La
    protección de la base de datos de usos mal intencionados o
    no autorizados se denomina seguridad de los datos. La seguridad
    se encarga de limitar a los usuarios a ejecutar únicamente
    las operaciones permitidas.

    Mantener la Disponibilidad de los
    Datos.
    La posibilidad de fallos de hardware o de
    software requiere procedimientos de recuperación de la
    base de datos. Tiene que proporcionar medios para el
    restablecimiento de las bases de datos que se hayan corrompido
    por desperfectos del sistema, a un estado
    uniforme.

    Funciones Básicas del Administrador de la
    Bases de Datos.

    Creación de Bases de Datos y
    Tablas.

    Creando Bases de Datos:

    • Localización de las bases de
      datos.
    • Tipo de base de datos (modo de
      direccionamiento).

    Creando Tablas:

    • Seleccionando tipos de
      datos.
    • Tablas fragmentadas o no fragmentadas.
    • Localización de la tabla.
    • Determinación del espacio en
      disco.
    • Modo de aseguramiento de candados.

    Especificación de las Restricciones de
    Integridad de los Datos.
    Las restricciones de integridad
    se mantienen en una estructura especial del sistema que consulta
    el gestor de la base de datos cada vez que se tiene lugar una
    actualización en el sistema. Estos son algunos
    métodos para asegurar la integridad de los
    datos:

    • Privilegios:
      • Base de datos.
      • Tabla.
      • Columna
    • Integridad de identidad,
      semántica y referencial.
    • Vistas.

    Administrar la Concurrencia. La
    administración de la concurrencia involucra como los datos
    son consultados y actualizados en un ambiente
    multiusuario. Existen dos tipos de control de la
    concurrencia:

    • Concurrencia de Lectura:
      (Instrucción SELECT)
    • Administrada a través de los niveles de
      aislamiento.
    • Concurrencia de Actualización: Instrucciones
      INSERT, DELETE y UPDATE.

    Optimización del Acceso a
    Datos.

    • Índices.
    • Estadísticas de
      actualización.
    • Distribución de datos.

    Definir el Esquema Conceptual. Es tarea
    del administrador de datos decidir con exactitud cual es la
    información que debe mantenerse en la base de datos, una
    vez identificado los datos a almacenar en un nivel abstracto, el
    dba debe crear a continuación el esquema conceptual
    correspondiente, empleando el DDL conceptual.

    Definir el Esquema Interno. El dba debe
    definir la representación de la información en la
    base de datos almacenada (diseño físico). Debe
    crear la definición de estructura de almacenamiento
    correspondiente (esquema interno) con el DDL interno y definir la
    correspondencia entre los esquemas interno y
    conceptual.

    Vincularse con los Usuarios. El dba
    debe encargarse de la
    comunicación con los usuarios, garantizar la
    disponibilidad de los datos que requieren y escribir y/o ayudar a
    los usuarios a escribir los esquemas externos necesarios,
    empleando el DDL externo aplicable.

    Procedimientos de Respaldo y
    Recuperación.
    El dba debe definir un plan de
    recuperación adecuado que incluya descarga o vaciado
    periódico de la base de datos en un medio
    de almacenamiento de respaldo, y procedimientos para cargar otra
    vez la base de datos a partir del vaciado más reciente
    cuando sea necesario.

    Supervisar el Desempeño y Responder a cambios en los
    Requerimientos.
    El dba debe organizar el sistema de modo
    que se obtenga el desempeño que sea "el mejor para la
    empresa", y realizar los ajustes apropiados cuando cambien los
    requerimientos.

    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 regular que partes de la base de datos van a poder ser
    accedidas por varios usuarios.

    Definición de esquema. Es el
    esquema original de la base de datos se crea escribiendo un
    conjunto de definiciones que son traducidas por el compilador de
    DDL a un conjunto de tablas que son almacenadas permanentemente
    en el diccionario de datos.

    Definición de la estructura de
    almacenamiento del método de
    acceso.
    Estructuras de almacenamiento y de acceso
    adecuados se crean escribiendo un conjunto de definiciones que
    son traducidas por e compilador del lenguaje de almacenamiento y
    definición de datos.

    1. Funciones Específicas del
      DBMS

    El sistema  manejador   de bases de datos es
    la porción más importante del software de un
    sistema de base de datos. Un DBMS es una colección de
    numerosas rutinas de software interrelacionadas, cada una de las
    cuales es responsable de alguna tarea específica. El DBMS
    es un conjunto de programas que coordina y controla la
    creación y los accesos a la base de datos. Se compone de
    un Lenguaje de Definición de Datos (DDL), que es la parte
    estática en donde se define la estructura
    de la base de datos; de un Lenguaje de Manipulación de
    Datos (DML) que es la parte dinámica y de un Lenguaje de Consulta
    (SQL).

              
    A demás de administrar la actividad de datos y la
    estructura de la base de datos, el DBA debe administrar el DBMS
    mismo. Deberá compilar y analizar estadísticas relativas al rendimiento del
    sistema e identificar áreas potenciales del problema. Dado
    que la BD esta 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.

              
    El DBA deberá vigilar periódica y continuamente las
    actividades de los usuarios en la base de datos. Los productos
    DBMS incluyen tecnologías que reúnen y publican
    estadísticas. Estos informes
    pudieran indicar cuales fueron los usuarios activos, que
    archivos y que elementos de datos han sido utilizados, e incluso
    el método de acceso que se ha aplicado. Pueden capturarse
    y reportarse las tasas de error y los tipos de errores. El DBA
    analizará estos datos para determinar si se necesita una
    modificación en el diseño de la BD para manejar su
    rendimiento o para facilitar las tareas de los usuarios; de ser
    así, el DBA la llevará a cabo.

             
    El DBA deberá analizar las estadísticas de tiempo
    de ejecución sobre la actividad de la BD y su rendimiento.
    Cuando se identifique un problema de rendimiento, ya sea mediante
    una queja o un informe, el DBA
    deberá determinar si resulta apropiada una
    modificación a la estructura de la base de datos o al
    sistema. Casos como la adición de nuevas claves o su
    eliminación, nuevas relaciones entre los datos y otras
    situaciones típicas deberán ser analizadas para
    determinar el tipo de modificación procedente.

              
    Cuando el fabricante del DBMS en uso anuncie una nueva
    versión del producto, debe
    realizarse un análisis de las características que
    esta incorpora e insopesarlas contra las necesidades de la
    comunidad de
    usuarios. Si se decide la adquisición del producto, los
    usuarios deben ser notificados y capacitados en su uso. El DBA
    deberá administrar y controlar la migración
    tanto de las estructuras, como de los datos y las aplicaciones.
    El software de soporte y otras características de hardware
    pueden implicar también modificaciones de las que el DBA
    es responsable ocasionalmente, estas modificaciones traen como
    consecuencia cambios en la configuración o en algunos
    parámetros de operación del DBMS.

    Las Funciones Principales de un DBMS
    son:

    Manejo de un Diccionario de Datos.
    Definiciones y relaciones entre los datos.

    Administración de los Datos
    Almacenados.
    Creación de estructuras complejas
    requeridas para el almacenamiento de los datos, descargando al
    usuario de definir y programar las características
    físicas de los datos.

    Transformación y Presentación de
    los Datos.
    Transformación de los datos nuevos
    para que satisfaga la estructura ya definida.

    Seguridad. Fortalece la seguridad y la
    privacidad.

    Control de Concurrencia. Controla el
    acceso multiusuarios. Consiste en controlar la interacción entre los
    usuarios concurrentes para no afectar la inconsistencia de
    los datos.

    Integridad de Datos. Minimiza la
    redundancia y maximiza la consistencia. 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.

    Lenguaje de Acceso a la Base de Datos.
    (Interfaz para la programación de aplicaciones). Provee
    acceso a los datos vía lenguaje de consulta SQL y
    vía lenguaje procedural (pascal, c,
    etc.).

    Interfaz de Comunicación de
    Datos.
    Permite el requerimiento de usuarios en ambiente
    de red. Crear y
    organizar la Base de datos. Establecer y mantener las
    trayectorias de acceso a la base de datos de tal forma que 
    los datos puedan ser accesados rápidamente. Manejar los
    datos de acuerdo a las peticiones de los usuarios. Registrar el
    uso de las bases de datos.

    Interacción con el manejador de
    archivos.
    Esto a través de las sentencias en DML
    al comando de el sistema de archivos. Así el
    Manejador de base de datos es el responsable del verdadero
    almacenamiento de los datos.

    Respaldo y
    recuperación. 
    Consiste en contar con
    mecanismos implantados que permitan la recuperación
    fácilmente de los datos en caso de ocurrir fallas en
    el sistema de base de datos.

    Manejador de Bases de Datos.

             
    Su propósito es definir una arquitectura que
    sirva como referencia. Esta también es llamada
    arquitectura referencial a tres niveles, consta de tres
    niveles:

    Nivel Interno: Es el más cercano
    al almacenamiento físico; es decir, es el que se ocupa de
    la forma como se almacena físicamente los
    datos.

    Nivel Externo: Es el más cercano
    a los usuarios; es decir, es el que se ocupa de la forma como los
    usuarios individuales perciben los datos.

    Nivel Conceptual: Es el nivel de
    mediación entre los dos anteriores. En este se trabaja con
    información; esto es, con datos suficientes para provocar
    acciones. La
    vista conceptual es la representación de toda la
    información contenida en la base de datos, también
    una forma un tanto abstracta si se compara con el almacenamiento
    físico de los datos. La información es una esencia
    nueva y no redundante por lo que su adquisición aumenta
    el
    conocimiento.

    El Sistema Administrador de la Base de
    Datos.

            Un sistema de
    base de datos, es la combinación de programas y archivos
    que se utilizan conjuntamente. Un conjunto integrado de programas
    para dar apoyo en una base de datos puede formar un sistema de
    manejo de bases de datos y sirve además para supervisar y
    mantener la vista lógica
    global de los datos. El DBMS es conocido también como
    Gestor de Base de datos.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Sistema Gestor de Base de
    Datos.

                
    El  DBMS sirve como interfase entre la base de datos
    física y
    las peticiones del usuario. El DBMS interpreta las peticiones de
    entrada/salida del usuario y las manda al sistema operativo
    para la transferencia de datos entre la unidad de memoria
    secundaria y la memoria
    principal. En sí, un sistema manejador de base de datos es
    el corazón de
    la base de datos ya que se encarga del control total de los
    posibles aspectos que la puedan afectar.  

    Unidad II.
    Implementación del esquema Conceptual (Nivel Lógico
    Global)

    El nivel conceptual describe la estructura lógica
    global de la base de datos mediante un modelo
    abstracto de datos comprensible por el SGBD. Se definen la
    descripción de atributos, de entidades, las
    conexiones y las restricciones de integridad asociadas a la
    semántica (significado). Podemos decir que 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.

                
    El esquema conceptual representa la visión organizacional
    de la base de datos que se obtiene al integrar los requerimientos
    de todos los usuarios en una empresa; y es
    totalmente independiente de las estructuras físicas de
    almacenamiento y de la representación final de los datos
    que los usuarios manejan. La implantación de este esquema
    es responsabilidad del DBA.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Diagrama del esquema
    conceptual.

    El esquema conceptual consta de las siguientes
    definiciones:

    Definición de los datos: Se
    describen el tipo de datos y la longitud de campo todos los
    elementos direccionables y precisión de la
    información que será guardada en la base de datos.
    Los elementos por definir incluyen artículos elementales
    (atributos), totales de datos y registros conceptuales
    (entidades).

    Relaciones entre datos: Se definen las
    relaciones entre datos para enlazar tipos de registros
    relacionados para el procesamiento de archivos múltiples
    para obtener información compuesta y procesos
    complejos.

             
    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.

    Elementos en la Definición de
    Datos
    .

    Atributos.- Identificador que permite
    manipular en forma individual las características de un
    objeto (entidades). Representan las propiedades básicas de
    las entidades y de las relaciones. Cada atributo tiene un
    conjunto de valores asociados denominado dominio. El
    dominio define
    todos los valores
    posibles que puede tomar un atributo.

    Existen diferentes tipos de atributos:

    • Atributo simple: Este atributo tiene un solo
      componente, que no se puede dividir en partes mas
      pequeñas que tengan un significado propio.
    • Atributo Compuesto: Es un atributo con
      varios componentes, cada uno con un significado por sí
      mismo. Un grupo de
      atributos se representa mediante un atributo compuesto cuando
      tienen afinidad en cuanto a su significado, o en cuanto a su
      uso. Se representa gráficamente mediante un
      óvalo.
    • Atributo Monovalente: es aquél que
      tiene un solo valor para
      cada ocurrencia de la entidad o relación a la que
      pertenece.
    • Atributo Polivalente: Es aquél que
      tiene varios valores para cada ocurrencia de la entidad o
      relación a la que pertenece. también se les
      denomina multivaluados, y pueden tener un
      número máximo y un número mínimo de
      valores dada por la cardinalidad.

    Llaves.- Atributos o conjuntos de
    atributos mediante los cuales pueden hacerse referencia a una
    entidad específica, que deben reconocerse y definirse con
    claridad:

    • Super-llaves: Es un conjunto de uno o
      más atributos que, tomados colectivamente, permiten
      identificar de forma única una entidad en el conjunto de
      entidades. Es un conjunto de atributos mediante los cuales es
      posible reconocer a una entidad. Este tipo de llaves contiene
      comúnmente atributos ajenos; es decir, atributos que no
      son indispensables para llevar a cabo el reconocimiento del
      registro.
    • Llaves candidato: Las llaves candidatas son
      subconjuntos mínimas de las superclaves, ya que el
      concepto de
      superclave no es suficiente, puede contener atributos
      innecesarios. Son aquellas super llaves que no contienen
      atributos ajenos; es decir, aquellos conjuntos de atributos que
      no tienen un subconjunto menor que pueda considerarse como
      super llave
    • Llave primaria: Es aquel atributo el cual
      consideramos clave para la identificación de los
      demás atributos que describen a la entidad. Es aquella
      llave que el diseñador de la base de datos selecciona
      entra las llaves candidatos encontradas.

    Entidades Fuertes y Débiles.-
    Una entidad es un objeto que existe y se distingue de otros
    objetos de acuerdo a sus características llamadas
    atributos. Existen conjuntos de entidades que no poseen los
    atributos necesarios para conformar una llave primaria; a estos
    se les conoce como entidades débiles. Cuando existen los
    atributos necesarios para formar una llave primaria, se denominan
    entidades fuertes. Las entidades débiles se subordinan a
    las entidades fuertes.

    Especialización y
    Generalización
    .- La
    generalización es el resultado de la unión
    de 2 o más conjuntos de entidades (de bajo nivel) para
    producir un conjunto de entidades de más alto nivel. Se
    usa para hacer resaltar los parecidos entre tipos de entidades de
    nivel más bajo y ocultar sus diferencias. En otras
    palabras, consiste en identificar todos aquellos atributos
    iguales de un conjunto de entidades para formar una entidad(es)
    global(es) con dichos atributos semejantes, dicha entidad(es)
    global(es) quedara a un nivel más alto al de las entidades
    origen. Trata de eliminar la redundancia (repetición) de
    atributos, al englobar los atributos semejantes. La
    Especialización es el resultado de tomar un
    subconjunto de entidades de alto nivel para formar un conjunto de
    entidades de más bajo nivel. Partición de entidades
    con el objeto de optimizar el espacio de
    almacenamiento.

    Dependencias de Existencias.- Debe
    especificarse con precisión si la existencia de una o
    más entidades –o conjuntos de entidades-
    están supeditadas a la existencia de otras; es decir, si
    la entidad A depende de la existencia de la entidad B, entonces A
    es dependiente de existencia por B, si eliminamos a B
    tendríamos que eliminar por consecuente la entidad A, en
    este caso B es la entidad Dominante y A es la entidad
    subordinada.

    Elementos en la Definición de las
    Relaciones.

              
    El establecimiento de conexiones entre las entidades y conjuntos
    de entidades que conforman una base de datos, deben especificarse
    en forma precisa de la siguiente manera:

    Para cada relación:

    • Nombre de las Relaciones.-
      Generalmente es una etiqueta que indica la función que
      desempeña la relación; a esta relación se
      le denomina papel. En los modelos
      donde se requiere una mayor precisión en la
      definición de los componentes, se recomienda indicar los
      papeles en ambos sentidos.
    • Cardinalidad de las Relaciones.-
      Debe definirse en forma muy precisa si las entidades de cada
      conjunto de entidades tendrán interacción con
      solo una o varias entidades del conjunto a relacionar. Debe
      verificarse que la cardinalidad tenga validez para todos los
      casos que puedan presentarse en el manejo de la BD; es decir,
      si son validas para cualquier instancia.
    • Opcionalidad de las Relaciones.-
      Permiten definir con mayor claridad aquellos casos en los que
      una relación puede no establecerse. Las especificaciones
      de estas situaciones nos permitirán definir estructuras
      más precisas, consistentes y de baja
      redundancia.

    Consideraciones de
    Agregación.

            Es la
    agrupación dos o más conjuntos de entidades
    relacionados para conformar un solo conjunto lógico de
    entidades. El objetivo primordial en la agregación
    será el establecer relaciones entre conjuntos de entidades
    agrupadas.

    Metodología del
    Diseño Conceptual

             Se
    construyen varios esquemas conceptuales, cada uno para
    representar las distintas visiones que los usuarios tienen de la
    información. Cada una de las visiones suelen corresponder
    a las diferentes áreas funcionales de la empresa. A los
    esquemas conceptuales correspondientes a cada vista de usuario se
    les denomina esquemas conceptuales locales. Cada uno de
    estos esquemas se compone de entidades, relaciones, atributos,
    dominios de atributos e identificadores. El esquema conceptual
    también tendrá una documentación, que se
    irá produciendo durante su desarrollo. Las tareas a
    realizar en el diseño conceptual son las
    siguientes:

    1. Identificar las entidades.
    2. Identificar las relaciones.
    3. Identificar los atributos y asociarlos a entidades y
      relaciones.
    4. Determinar los dominios de los atributos.
    5. Determinar los identificadores.
    6. Determinar las jerarquías de
      generalización (si las hay).
    7. Dibujar el diagrama
      entidad-relación.
    8. Revisar el esquema conceptual local con el
      usuario.

    2.1 Estructura de la
    Base de Datos.

    Esquema de base de datos: Es la
    estructura por la que esta formada la base de datos, se
    especifica por medio de un conjunto de definiciones que se
    expresa mediante un lenguaje especial llamado lenguaje de
    definición de datos. (DDL).

             
    Además de la definición de las propiedades de los
    datos y de las relaciones debe especificarse el formato que
    guardaran las siguientes estructuras:

    Diccionario de datos. Contiene la
    información referente a la estructura de la base de datos.
    Información que nos indique con claridad el tipo de datos
    que serán utilizados, sus ámbitos de influencia y
    sus limitantes de integridad.

    Índices. Permiten un
    rápido acceso a registros que contienen valores
    específicos. Son estructuras, se definen para un atributo
    o conjunto de atributos asociados, que nos permiten simular una
    secuencia lógica para las entidades. La principal cualidad
    de un índice reside en la capacidad para acelerar el
    acceso a un dato específico.

    Formatos de Captura y
    Presentación:
    Las aplicaciones deberán
    proveer interfaces amigables y eficientes entre el usuario y la
    BD. Para esto se definirán, formatos y pantallas de
    captura, de consulta y de reporte. La información
    resultante será procesada y direccionada cada vez que se
    active la captura o la consulta, el formato de tal captura o
    consulta, el formato de tal captura o consulta podrá
    almacenarse para su reutilización.

              
    La etapa de normalización debe refinar los detalles del
    modelo resultante, de tal forma que la estructura de las tablas
    proporcione un bajo nivel de redundancia, minimice hasta donde
    sea posible la inconsistencia y sea capaz de proporcionar acceso
    eficiente a los datos. Ocasionalmente será preferible
    llevar la normalización hasta un nivel no óptimo si
    se obtiene a cambio
    eficiencia en
    el acceso a los datos u otros beneficios que eleven en forma
    significativa el desempeño del sistema.

    2.2 Esquema de
    Integridad.

    Integridad: Consiste en
    conservar  la  seguridad  en  un 
    sistema  que  se permite a múltiples usuarios el
    acceso al sistema y compartir la base de datos. Tiene  
    como   función   proteger  
    la  base   de  datos contra operaciones que
    introduzcan inconsistencias en los datos. Se habla de integridad
    en el sentido de corrección, validez o 
    precisión de los datos. Un control de integridad o
    restricciones es aquel que nos permite definir con
    precisión el rango de valores validos para un elemento y/o
    las operaciones que serán consideraciones validas en la
    relación de tale elementos.

    El objetivo primordial de un control de integridad es
    la reducción de la inconsistencia en la BD.

    Las restricciones de integridad normalmente se aplican
    en tres niveles:

    • Un Atributo Simple: Se define un
      dominio del atributo que es totalmente independiente del resto
      del entorno de la Base de Datos. Es un atributo que tiene un
      solo componente, que no se puede dividir en partes mas
      pequeñas que tengan un significado propio(valor
      único). Se identifica por la letra inicial en
      mayúscula.
    • Un Atributo Dependiente de Otro: Se
      definen subconjuntos de dominios posibles para un atributo X
      según el valor que previamente a sido asignado al
      atributo W. También es conocido como atributos de
      grupo
      y se representa por medio de corchetes.
    • Relaciones entre Tuplas de una o varias
      Tablas:
      Se especifican valores posibles para registros
      completos según los valores acumulados registros previos
      o por valores existentes en registros de otras tablas.
      También es conocido como objeto
      simétrico
      y se representa con un rectángulo
      sombreado y todo con mayúscula.

    Reglas de
    Integridad.

    Integridad de
    referencial
    . Se aplica a las
    claves ajenas: si en una relación hay alguna clave ajena,
    sus valores deben coincidir con valores de la clave primaria a la
    que hace referencia, o bien, deben ser completamente nulo. Se
    enmarca en términos de estados de la base de datos indica
    lo que es un estado ilegal pero no dice como puede evitarse.
    Existen 2 opciones rechazar la operación o bien aceptar la
    operación y realizar operaciones adicionales
    compensatorias que conduzcan a un estado legal.

    Por lo tanto, para cada clave ajena de la base de datos
    habrá que contestar a tres preguntas:

    Reglas de los nulos: ¿tiene
    sentido que la clave ajena acepte nulos?

    Regla de borrado: ¿Qué
    ocurre si se intenta borrar la tupla referenciada por la clave
    ajena?

    • Restringir: no se
      permite borrar la tupla referenciada.
    • Propagar: se borra la
      tupla referenciada y se propaga el borrado a las tuplas la
      referencia mediante la clave ajena.
    • Anular: se borra
      la tupla referenciada y las tuplas que la
      reverenciaba ponen a nulo la clave ajena (solo si acepta
      nulos).

    Reglas de modificación:
    ¿Qué ocurre si se intenta modificar el valor de la
    clave primaria de la tupla referenciada por la clave
    ajena?

    • Restringir: no se permite
      modificar el valor de la clave primaria de la
      tupla referenciada.
    • Propagar: se modifica el valor de
      la
      clave primaria de la tupla referenciaba
      y se propaga  la  modificación a las
      tuplas que la  referencia mediante clave
      ajena.
    • Anular: se modifica la tupla
      referenciada y las tuplas que la referenciaban
      ponen a nulo la clave ajena (solo si acepta
      nulos).

    Reglas de Integridad de Dominio.
    Un  dominio de valores  posibles 
    puede estar  asociado con  cada  
    atributo. Los límites  de dominio son la  
    forma  mas  elemental  de  
    restricciones de integridad.  Son fáciles de probar
    por el sistema  siempre  que se introduce un nuevo dato
    en la base de datos.
    Tipos de dominios: Es posible  
    que  varios  atributos  tengan el mismo 
    dominio.  Podemos  ver que una definición
    adecuada de restricciones  de  dominio  no 
    solo nos permite probar  consultas  para 
    asegurar  que  la comparación que se hace tiene
    sentido. El principio que hay detrás de  los 
    dominios  de  atributo  es similar al 
    que  hay detrás  de la asignación de
    tipos a variables en
    los  lenguajes  de  programación. Los
    lenguajes de
    programación fuertemente tipiados permiten que el
    compilador el programa con mayor detalle.
    Integridad de relaciones. Esta regla se
    aplica a las claves primarias de las relaciones base:
    ningún atributo que forme parte de una llave primaria
    puede aceptar valores nulos.
    Por definición, una
    clave primaria es irreducible que se utiliza para identificar de
    modo único las tuplas. Irreducible significa que
    ningún subconjunto de la clave primaria sirve para
    identificar las tuplas de modo único. Si se permite que
    parte de la clave primaria sea nula, se está diciendo que
    no todos sus atributos son necesarios para distinguir las tuplas,
    con lo que se contradice la irreducibilidad. Esta regla solo se
    aplica a las relaciones base y a las claves primarias, no a las
    claves alternativas.

    Nulos: Ningún atributo que forme
    parte de una llave primaria puede aceptar valores nulos. Un
    valor  nulo es un  valor  que 
    esta   fuera  de   la  
    definición  de  cualquier   
    dominio  el   cual permite dejar el valor del
    atributo "latente"; en otras palabras, un valor nulo no
    representa el valor cero, ni una cadena vacía,
    éstos son valores que tienen significado; implica ausencia
    de información por que se desconoce el valor del atributo
    o simplemente no tiene sentido.

    Reglas de negocio: Los usuarios o los
    administradores de la base de datos pueden imponer ciertas
    restricciones específicas sobre los datos, a esto se le
    conoce como reglas de negocio.

    2.3 Esquema de Seguridad y
    Autorización.

    Seguridad: El objetivo es
    proteger la Base de Datos  contra accesos no
    autorizados.  Se le conoce también como
    privacidad.

    Incluye aspectos de:

    • Aspectos legales, sociales y
      éticos.
    • Políticas de la empresa, niveles de
      información pública y privada.
    • Controles de tipo físico, acceso a las
      instalaciones.
    • Identificación de usuarios: voz, retina del
      ojo, etc.
    • Controles de sistema operativo.

    En relación al SGBD, debe mantener
    información de los usuarios, su tipo y los accesos y
    operaciones permitidas a éstos.

                
    El problema de la seguridad consiste en lograr que los recursos
    de un sistema sean, bajo toda circunstancia, utilizados para los
    fines previstos. Para eso se utilizan mecanismos de
    protección. Un aspecto importante de la seguridad es el de
    impedir la pérdida de información, la cual puede
    producirse por diversas causas: fenómenos naturales,
    guerras,
    errores de hardware o de software, o errores humanos. La
    solución es una sola: mantener la información
    respaldada, de preferencia en un lugar lejano

              
    Otro aspecto importante de la seguridad, es el que tiene que ver
    con el uso no autorizado de los recursos:

    • Lectura de datos.
    • Modificación de datos.
    • Destrucción de datos.
    • Uso de recursos: ciclos de CPU,
      impresora,
      almacenamiento.

    Otras amenazas y ataques
    posibles:

    Virus. Un virus es parecido
    a un gusano, en cuanto  se reproduce, pero la diferencia es
    que no es un programa  por  sí 
    sólo, si  no  que  es  un  trozo
    de código
    que se adosa  a un programa legítimo,
    contaminándolo. Cuando un programa  contaminado
    se ejecuta, ejecutará también el código del
    virus, lo que permitirá
    nuevas reproducciones, además de alguna
    acción (desde un simple mensaje inocuo hasta la
    destrucción de todos los archivos).

    Caballo de troya. Un caballo
    de troya es un programa aparentemente útil
    que contiene un trozo de código que hace algo no
    deseado.

    Puerta trasera.
    Una  puerta  trasera es un 
    punto de  entrada  secreto, dejado por 
    los implementadores  del  sistema 
    para saltarse los procedimientos normales de seguridad.
    La puerta trasera  puede  haberse dejado 
    con  fines maliciosos
    o como parte del  diseño; en cualquier
    caso, son un riesgo.

    Caza claves. Dejar corriendo en un
    terminal un programa que pida "login:" y luego "password:", para
    engañar a los usuarios de modo que estos revelen su
    clave.

    Solicitar recursos  como  páginas 
    de  memoria  o  bloques  de 
    disco,  y  ver  qué 
    información contienen; muchos sistemas no los borran
    cuando se liberan, de modo que se puede encontrar
    información "interesante".
    Sobornar o torturar al administrador para que suelte la
    clave.

    Principios básicos para la
    seguridad:

    • Suponer que el diseño del sistema es
      público.
    • El defecto debe ser: sin acceso.
    • Chequear permanentemente.
    • Los mecanismos de protección deben ser
      simples,  uniformes  y  construidos en las capas
      más básicas del sistema.
    • Los mecanismos deben ser aceptados
      sicológicamente por los usuarios.

    Tipos de usuarios:

               
    Podemos definir a los usuarios como toda persona que tenga todo
    tipo de contacto con el sistema de base de datos desde que este
    se diseña, elabora, termina y se usa.

    • DBA, están permitidas todas las operaciones,
      conceder privilegios y establecer usuarios. Usuario con derecho
      a crear, borrar y modificar objetos y que además puede
      conceder privilegios a otros usuarios sobre los objetos que ha
      creado. Privilegios sobre los objetos, añadir nuevos
      campos, indexar, alterar la estructura de los objetos,
      etc.
    • Programadores de aplicaciones. Los profesionales en
      computación que interactúan con el
      sistema por medio de llamadas en DML (Lenguaje de
      Manipulación de Datos), las cuales están
      incorporadas en un programa escrito en un lenguaje de
      programación (Por ejemplo, Cobol, PL/I,
      Pascal, C, etc.).
    • Usuarios sofisticados. Los usuarios sofisticados
      interactúan con el sistema sin escribir programas. En
      cambio escriben sus preguntas en un lenguaje de consultas de
      base de datos.
    • Usuarios especializados. Algunos usuarios
      sofisticados escriben aplicaciones de base de datos
      especializadas que no encajan en el marco tradicional de
      procesamiento de
      datos.
    • Usuarios ingenuos. Los usuarios no sofisticados
      interactúan con el sistema invocando a uno de los
      programas de aplicación permanentes que se han escrito
      anteriormente en el sistema de base de datos, podemos mencionar
      al usuario ingenuo como el usuario final que utiliza el sistema
      de base de datos sin saber nada del diseño interno del
      mismo por ejemplo: un cajero.

              
    Los SGBD tienen opciones que permiten manejar la seguridad, tal
    como GRANT, REVOKE, etc. También tienen un archivo de
    auditoria  en  donde  se  registran 
    las  operaciones  que  realizan los
    usuarios.

    Medidas de
    Seguridad

    Físicas: Controlar
    el acceso al equipo. Tarjetas de
    acceso, etc.

    Personal: Acceso sólo del
    personal autorizado. Evitar sobornos, etc.

    SO: Seguridad a nivel de SO.

    SGBD: Uso herramientas de seguridad que
    proporcione el SGBD. Perfiles de usuario, vistas, restricciones
    de uso de vistas, etc.

               
    Un SMBD cuenta con un subsistema de seguridad y
    autorización que se encarga de garantizar la seguridad de
    porciones de la BD contra el acceso no autorizado:

    • Identificar y autorizar a los usuarios: uso de
      códigos de acceso y palabras claves, exámenes,
      impresiones digitales, reconocimiento de voz, barrido de la
      retina, etc.
    • Autorización: usar derechos de acceso dados
      por el terminal, por la operación que puede realizar o
      por la hora del día.
    • Uso de técnicas de cifrado: para proteger
      datos en Base de Datos distribuidas o con acceso por red o
      internet.
    • Diferentes tipos de cuentas: en especial del
      ABD  con   permisos 
      para: creación de cuentas,  
      concesión  y  revocación  
      de  privilegios y  asignación 
      de   los niveles de seguridad.
    • Manejo de la tabla de usuarios con código y
      contraseña, control de las operaciones efectuadas en
      cada sesión de trabajo por cada usuario y anotadas en la
      bitácora, lo cual facilita la auditoria de la Base de
      Datos.

    Identificación y
    Autentificación
    .

               
    En un SGBD existen diversos elementos que ayudan a controlar el
    acceso a los datos. En primer lugar el sistema debe identificar y
    autentificar a los usuarios utilizando alguno de las siguientes
    formas:

    • Código y contraseña.
    • Identificación por hardware.
    • Características
      bioantropométricas.
    • Conocimiento, aptitudes y hábitos del
      usuario.
    • Información predefinida (Aficiones, cultura,
      etc.)

    Además, el administrador deberá
    especificar los privilegios que un usuario tiene sobre los
    objetos:

    • Usar una B.D.
    • Consultar ciertos datos.
    • Actualizar datos.
    • Crear o actualizar objetos.
    • Ejecutar procedimientos almacenados.
    • Referenciar objetos.
    • Indexar objetos.
    • Crear identificadores.

    Mecanismos de
    Autentificación
    .

             
    La autentificación, que consiste en identificar a los
    usuarios que entran al sistema, se puede basar en posesión
    (llave o tarjeta), conocimiento (clave) o en un atributo del
    usuario (huella digital).

    Claves: El mecanismo de
    autentificación más ampliamente usado se basa en el
    uso de claves o passwords; es fácil de entender y
    fácil de implementar. Sin embargo, una
    proporción demasiado grande de las claves escogidas por
    los usuarios son fáciles de adivinar,  pues la 
    idea es  que  sean  también 
    fáciles de recordar.   La clave también
    se puede descubrir mirando (o filmando)  cuando 
    el  usuario  la  digita,  o si el 
    usuario hace login remoto, interviniendo la red y observando
    todos los paquetes que pasan por ella. Por último,
    además de que las claves se pueden descubrir, éstas
    también se pueden "compartir", violando las reglas de
    seguridad. En definitiva,  el  sistema 
    no  tiene  ninguna garantía de  que 
    quien  hizo login es realmente el usuario que se supone que
    es.

    Identificación física: Un
    enfoque diferente es usar un elemento físico
    difícil de copiar, típicamente  una 
    tarjeta con una banda magnética. Para mayor seguridad este
    enfoque se suele combinar con una clave (como es el caso de los
    cajeros automáticos). Otra posibilidad es medir
    características físicas  particulares del
    sujeto: huella digital, patrón de vasos sanguíneos
    de la retina, longitud de los dedos.   Incluso la firma
    sirve.

    Algunas medidas
    básicas:

    • Demorar la respuesta ante claves erróneas;
      aumentar la demora cada vez. Alertar si hay demasiados
      intentos.
    • Registrar todas las entradas. Cada vez que un usuario
      entra, chequear cuándo y desde dónde entró
      la vez anterior.
    • Hacer chequeos periódicos de claves
      fáciles de adivinar, procesos que llevan demasiado
      tiempo corriendo, permisos erróneos, actividades
      extrañas (por ejemplo cuando usuario está de
      vacaciones).

    Matriz de
    Autorización.

    Autorizaciones. Para
    facilitar la administración los SGBD suele incorporar el
    concepto de perfil, rol o grupo de usuarios que agrupa a una
    serie de privilegios por lo que el usuario que se asigna a un
    grupo hereda todos los privilegios del grupo. El 
    mecanismo  de  control  de  acceso 
    se  encarga  de  denegar o conceder el acceso a
    los usuarios. En un SGBD puede existir diferentes tipos de
    autorización:

    Una primera distinción puede hacerse
    entre:

    Autorización explicita.
    Normalmente usada en los sistemas tradicionales. Consiste en
    almacenar que sujetos pueden accesar a ciertos objetos con
    determinados privilegios para lo que suele utilizarse una
    matriz de
    control de accesos.

    Autorización implícita.
    Consiste en que una autorización definida sobre un objeto
    puede deducirse a partir de otras (por ejemplo si se puede
    acceder a una clase en un
    SGBD se puede también acceder a todas las instancias de
    esa clase).

             Los
    usuarios pueden tener varios tipos de autorización para
    diferentes partes de la base de datos. Entre ellas están
    las siguientes:

    • La autorización de lectura
      permite la lectura
      de los datos, pero no su modificación
    • La autorización de
      inserción
      permite la inserción de datos
      nuevos, pero no la modificación de los existentes.
      La autorización de actualización
      permite la modificación de los datos, pero no su
      borrado.
    • La autorización de borrado
      permite el borrado de los datos.

                
    Los usuarios pueden recibir todos los tipos de
    autorización o ninguno de ellos, o una combinación
    determinada de los mismos. Además de estas formas de
    autorización para el acceso a los datos los usuarios
    pueden recibir autorización para modificar el esquema de
    la base de datos:

    • La autorización de
      índices
      permite la creación y borrado de
      índices.
    • La autorización de recursos
      permite la creación de las relaciones
      nuevas.
    • La autorización de
      alteración
      permite el añadido o el
      borrado de atributos de las relaciones.
    • La autorización de
      eliminación
      permite el borrado de
      relaciones.

               
    Las autorizaciones de eliminación y de borrado se
    diferencian en que la autorización de borrado solo permite
    el borrado de tuplas.  Si un usuario borra todas las tuplas
    de una relación, la relación sigue existiendo,
    vacía.  Si se elimina una relación, deja de
    existir. La capacidad de crear nuevas relaciones queda regulada
    mediante la autorización de recursos. El usuario con la
    autorización de recursos que crea una relación
    nueva recibe automáticamente todos los privilegios sobre
    el sistema.

              
    La autorización de índices puede parecer
    innecesaria, dado que la creación o borrado de un
    índice no afecta a los datos de
    las relaciones.  Más bien,  los
    índices  son  una  estructura 
    para  las mejoras  de  rendimiento.  Sin
    embargo,  los  índices 
    también  ocupan  espacio  y 
    se   exige que  las modificaciones de las bases de
    datos actualicen los índices , los que llevaran a 
    cabo  actualizaciones estarían  tentados de
    borrar los índices , los que  llevan  a 
    cabo  actualizaciones  estarían tentados de
    borrar los índices, mientras que  los  que
    formulara consultas  estarían  tentados 
    de   crear  numeroso índices.

               
    La forma superior  de  autoridad  es la concebida  al 
    administrador de la base de   datos. El administrador
    de la base de datos puede autorizar usuarios nuevos,
    reestructurar la base de datos, etc. Esta forma de
    autorización es análoga  a la
    proporcionada  al  súper usuario u
    operador  del sistema operativo.

    Riesgos para la Seguridad de la
    Información.

    Riesgos en la Implantación.
    Cuando se esta instalando o actualizando un sistema, los
    principales factores de riesgo son aquellos relacionados con el
    ajuste de formatos, dominios y otros parámetros que pueden
    verse afectados por la conversión del sistema; ya sea
    manual-automatizado o automatizado-automatizado.
    Cuando el sistema que se implanta ha de recibir nueva
    información, es importante el establecimiento de
    códigos que permitan validar la captura para minimizar los
    riesgos de
    información no confiable.

    Riesgos en la Operación.
    Mientras el sistema se encuentra en uso, se dice que las
    operaciones se realizan en línea; es decir, la
    información se afecta por medio de los procedimientos
    definidos en el sistema. La protección más
    común para reducir estos riesgos consiste en el
    establecimientos de claves de operación (password) tanto
    para accesar a la aplicación como a las diversas
    operaciones que esta desempeña.

        Las claves pueden
    asignarse:

    • Genérico
    • Por niveles de seguridad
    • Por tipos de acceso a los datos.

        Criterios para la selección
    de las claves de acceso:

    • No información que pueda asociarse al
      usuario.
    • Fácil de recordar, difícil de
      adivinar.
    • Debe utilizar un parámetro variable o
      algoritmo

             Algunos
    sistemas que manejan claves fijas pueden incluir controles sobre
    el usuario que lo obliguen a modificar su clave de acceso con
    cierta regularidad. Es importante que el código que
    mantiene la tabla de claves de usuarios en el sistema se
    encuentre codificada o encriptada.

    Riesgos en Tiempos Muertos. Cuando el
    sistema no se encuentra en operación la información
    esta expuesta a ser alterada fuera de línea; es decir, sin
    utilizar los programas de aplicación diseñados para
    este fin. Algunas de las técnicas más utilizadas
    para evitar y en algunos casos solo para ejecutar modificaciones
    fuera de línea son:

    • Encriptamiento.- Consiste en convertir la
      información de la BD a un formato que resulte ilegible
      sino se dispone del algoritmo de
      conversión.
    • Aplicación de Totales de Control.
      Consiste en generar registros ficticios que son agregados a la
      BD y que permitirán detectar la inserción,
      eliminación o modificación de datos en la gran
      mayoría de los casos. Los registros ficticios son
      creados con información que se obtiene de acumulados o
      valores estadísticos de los registros
      reales.
    • Dígitos de Control.- son caracteres
      que se anexan a las claves o a los datos que serán
      manejados con el objeto de autentificar su validez. Su
      aplicación se extiende a procesos en línea y
      protección fuera de línea.

    Consideraciones en
    Ambiente Multiusuario
    .

             
    Precauciones adicionales a las anteriores, deben ser tomadas en
    cuenta para elevar el nivel de seguridad en
    redes de usuarios. Las más comunes son:

    • Validar no contraseñas repetidas.
    • Eliminar claves de acceso de usuarios
      deshabilitados.
    • Establecer políticas y sanciones por
      desatender estaciones desconectadas (con acceso).
    • Restringir procesos de alto riesgo a terminales con
      mayor nivel de seguridad y/o vigilancia.
    • Establecer controles dial-up/call-back para el acceso
      validado a las terminales; es decir, implementar sistemas
      electrónicos de autenticación de
      terminal.
    • Establecer políticas para denegar el acceso
      después de una cantidad determinada de intentos fallidos
      de un tiempo transcurrido.

    Controles
    Genéricos de Acceso
    .

             
    Debe considerarse la posibilidad de controles alternos cuando el
    sistema maneja información o recursos altamente
    privilegiados para la organización. Las formas más
    comunes para autentificar la identidad del usuario
    son:

    • Algo que el usuario conoce.- Password,
      contraseña, algoritmos
      de acceso.
    • Algo que el usuario tiene.- Tarjetas de acceso,
      bandas magnéticas etc.
    • Identificación de aspectos físicos del
      usuario.- Huellas digitales, examen de la retina, voz
      etc.

    2.4 Herramientas.

             
    El esquema conceptual se construye utilizando la
    información que se encuentra en la especificación
    de los requisitos de usuario. El diseño conceptual es
    completamente independiente de los aspectos de
    implementación, como pueden ser el SGBD que se va a usar,
    los programas de aplicación, los lenguajes de
    programación, el hardware disponible o cualquier otra
    consideración física. Durante todo el proceso de
    desarrollo del esquema conceptual éste se prueba y se
    valida con los requisitos de los usuarios. El esquema conceptual
    es una fuente de información para el diseño
    lógico de la base de datos.

    Unidad III.
    Implementación del Esquema Interno (Nivel
    Físico).

    Es el nivel más bajo 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 diseño físico es el proceso de
    producir la descripción de la implementación de la
    base de datos en memoria secundaria: estructuras de
    almacenamiento y métodos de acceso que garanticen un
    acceso eficiente a los datos. Entre el diseño
    físico y el diseño lógico hay una
    realimentación, ya que alguna de las decisiones que se
    tomen durante el diseño físico para mejorar las
    prestaciones,
    pueden afectar a la estructura del esquema
    lógico.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Diagrama del Esquema
    Físico.

              
    El propósito del diseño físico es describir
    cómo se va a implementar físicamente el esquema
    lógico obtenido en la fase anterior. Concretamente en el
    modelo relacional, consiste en:

    • Obtener un conjunto de relaciones (tablas) y las
      restricciones que se deben cumplir sobre ellas.
    • Determinar las estructuras de almacenamiento y los
      métodos de acceso que se van a utilizar para conseguir
      unas prestaciones óptimas.
    • Diseñar el modelo de seguridad del
      sistema.

    En el nivel físico se debe
    especificar:

    • Estrategias de Almacenamiento:- Asignación de
      espacio de almacenamiento para el conjunto de
      datos.
    • Estrategias de Emplazamiento de los Datos:- Para
      optimizar los recursos a la hora de exportar la base de datos
      (tiempo de respuesta, disco, memoria, etc.).
    • Caminos de Acceso:- Se incluye la
      especificación de claves como la de índices y
      punteros. El administrador debe especificar dispositivos de
      memoria, tamaño de página, número de
      páginas asignadas a cada área de almacenamiento,
      tamaño de buffer, correspondencia entre esquemas y
      organizaciones
      físicas, agrupamiento, índices, y dependiendo del
      SGDB podrá también definir punteros entre
      registros.

    Ventajas:

    • Aplicaciones Independientes del Nivel Interno:- Un
      cambio en la estrategia en
      los accesos a datos, no cambia el esquema
      conceptual.
    • Transportabilidad para cambiar el SGDB a otro
      Entorno:- Basta rescribir la correspondencia
      interna/física.
    • Aplicaciones Independientes del Nivel Conceptual:- Se
      puede modificar sin que afecte a las aplicaciones. Esto
      garantiza la confidencialidad de los datos.

    3.1
    Estructura 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.

    Compilador de DDL. Convierte las
    proposiciones DDL en un conjunto de tablas que contienen
    metadatos, estas 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.
    Información que nos indique con claridad el tipo de datos
    que serán utilizados, sus ámbitos de influencia y
    sus limitantes de integridad.

    Índices. Permiten un
    rápido acceso a registros que contienen valores
    específicos. Son estructuras, se definen para un atributo
    o conjunto de atributos asociados, que nos permiten simular una
    secuencia lógica para las entidades. La principal cualidad
    de un índice reside en la capacidad para acelerar el
    acceso a un dato específico.

    Datos Estadísticos. Almacenan
    información estadística sobre los datos en la base de
    datos. El procesador de
    consultas usa esta información para seleccionar las formas
    eficientes para ejecutar una consulta.

    Diseño Físico de una
    Base de Datos.

    El diseño físico es el proceso de escoger
    las estructuras de almacenamiento en disco y métodos de
    acceso a los datos más adecuada para lograr un buen
    rendimiento de la base de datos. En el momento del diseño
    físico es importante conocer la carga de trabajo
    (combinación de consultas y actualizaciones) que la base
    de datos debe soportar y los requerimientos del usuario. Es
    importante también que el diseñador conozca las
    técnicas de procesamiento de consultas e indexación
    soportadas por el SGBD.

             La
    clave de un buen diseño físico es una correcta
    descripción de la carga de trabajo: lista de consultas y
    actualizaciones, indicando sus frecuencias de operación y
    el resultado esperado. Para cada consulta es necesario indicar
    las relaciones a las que se accede, los atributos de salida y los
    que intervienen en filtros y condiciones. Igualmente para las
    actualizaciones deben conocerse los atributos sobre los que se
    expresan condiciones y el tipo de actualización y la
    relación y atributos actualizados.

    Durante el diseño físico es necesario
    realizar importantes decisiones:

    • Que índices crear. Las consultas y
      actualizaciones pueden beneficiarse de la presencia de
      índices. Sin embargo las actualizaciones requieren de un
      tiempo adicional para mantener los índices sobre
      atributos modificados.

    Aspectos para realizar cambios en el esquema
    conceptual:

    Esquemas normalizados alternativos. En
    general existen diferentes alternativas para descomponer esquemas
    en una forma normal.

    Desnormalización. Podemos
    reconsiderar las descomposiciones realizadas durante la
    normalización para la mejora de consultas aplicadas sobre
    atributos de varias relaciones.

    Particionamiento vertical. En ocasiones
    puede resultar de interés
    dividir una relación en más relaciones para la
    mejora de consultas que afectan sólo a ciertos
    atributos.

    Vistas. Añadir vistas para
    ocultar a los usuarios los cambios en el esquema
    conceptual.

    3.2
    Métodos de Acceso.

    Organización de
    Ficheros.

              
    La organización de ficheros es la forma de situar los
    registros cuando se almacenan en disco. La eficiencia en las
    operaciones de manipulación de registros depende de una
    correcta organización de ficheros.

              
    Los gestores soportan diferentes técnicas  de
    organización de ficheros y es una tarea importante del
    administrador de la base de datos elegir la opción en
    función del patrón de uso. Existen tres
    organizaciones básicas de archivos:

    a) Ficheros Heap. Sus registros
    están colocados en forma aleatoria, este tipo de
    organización resulta adecuada cuando la forma de acceso
    más frecuente es la recuperación de todos los
    registro.

    b) Ficheros Ordenados. Sus registros
    están ordenados según los valores de una secuencia
    de campos (denominada clave de búsqueda). Éste tipo
    resulta adecuado cuando los registros se recuperan en un cierto
    orden o cuando se recupera sobre un cierto rango de
    registro.

    c) Ficheros Hash. El hashing consiste
    en convertir el valor de un campo (o conjunto de campos) en una
    posición dentro del archivo aplicándole una
    función denominada función de randomización
    o hash.

    3.3
    Herramientas.

    Herramientas CASE.

              
    Una de las herramientas para llevar a cabo el resto de tareas del
    modo más eficiente y efectivo posible en la primera etapa
    del ciclo de vida
    de las aplicaciones de bases de datos, es hacer uso de la
    herramienta CASE (Computer-Aided Software
    Engineering).

             La
    tecnología CASE supone la automatización del desarrollo del software,
    contribuyendo a mejorar la calidad y la productividad en
    el desarrollo de sistemas de
    información.

    Una herramienta CASE suele incluir:

    • Un diccionario de datos para almacenar
      información sobre los datos de la aplicación de
      la base de datos.
    • Herramienta de diseño para dar apoyo al
      análisis de datos.
    • Herramientas que permitan desarrollar el modelo de
      datos corporativo, así como los esquemas conceptual y
      lógico.
    • Herramientas para desarrollar los prototipos de las
      aplicaciones.

              
    El uso de las herramientas
    CASE puede mejorar la productividad en el desarrollo de una
    aplicación de base de datos. Y por productividad se
    entiende tanto la eficiencia en el desarrollo, como la
    efectividad del sistema desarrollado. La eficiencia se refiere al
    coste, tanto en tiempo como en dinero, de
    desarrollar la aplicación. La efectividad se refiere al
    grado en que el sistema satisface las necesidades de los
    usuarios. Para tener una buena productividad, subir el nivel de
    efectividad puede ser más importante que aumentar la
    eficiencia. 

    Unidad IV. Implementaciones de los Esquemas
    Externos (Vistas)

    4.1
    Estructura de Datos.

    Es el nivel más alto de abstracción, es lo
    que el usuario final puede visualizar del sistema terminado,
    describe sólo una parte de la base de datos al usuario
    acreditado para verla. El sistema puede proporcionar muchas
    visiones para la misma base de datos.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Esquema del nivel de Vistas.

              
    Las Vistas:- Son una especie de tablas
    virtuales; es decir no existen físicamente sino que forman
    mediante la selección y/o filtrado de los componentes de
    otras tablas, una vista puede ser definida en base a una lista
    previa. Esto significa que pueden crearse dependencia entre las
    vistas. Cuando una vista es definida en base a otra, se dice que
    es dependiente de esta por lo tanto, se suprimirá
    automáticamente la vista dependiente si se suprime la
    vista original. La eliminación de una tabla provoca
    también la eliminación automática de todas
    las vistas que se hayan definido haciendo referencia a
    ella.

             
    Las vistas son una forma lógica de ver los datos
    físicos ubicados en tablas. Cuando creamos una vista,
    seleccionamos un formato que incluye datos que pueden ser tomados
    de una o más tablas. La vista queda almacenada en forma
    permanente, si bien los datos grabados permanecen inalterados en
    las tablas correspondientes. Una vista sólo es una ventana
    a los datos almacenados.

     
               Una
    vista es el resultado dinámico de una o varias operaciones
    relacionales realizadas sobre las relaciones base. Una vista es
    una relación virtual que se produce cuando un usuario la
    consulta. Al usuario le parece que la vista es una
    relación que existe y la puede manipular como si se
    tratara de una relación base, pero la vista no está
    almacenada físicamente. El contenido de una vista
    está definido como una consulta sobre una o varias
    relaciones base. Cualquier operación que se realice sobre
    la vista se traduce automáticamente a operaciones sobre
    las relaciones de las que se deriva. Las vistas son
    dinámicas porque los cambios que se realizan
    sobre las tablas base que afectan a una vista se reflejan
    inmediatamente sobre ella. Cuando un usuario realiza un cambio
    sobre la vista (no todo tipo de cambios están permitidos),
    este cambio se realiza sobre las relaciones de las que se
    deriva.

               
    El nivel más alto de abstracción describe
    sólo parte de la base de datos completa. A pesar del uso
    de estructuras más sencillas en el nivel conceptual,
    permanece algo de complejidad debido al gran tamaño de la
    base de datos. Muchos usuarios del sistema de bases de datos no
    se interesarán por toda la información. En cambio,
    dichos usuarios sólo necesitan una parte de la base de
    datos. Para simplificar su interacción con el sistema, se
    define el nivel de abstracción de visión. El
    sistema puede proporcionar muchas visiones de la misma base de
    datos.
              

             
    La fase concluyente en el diseño de aplicaciones es la
    generación de las interfaces que la aplicación
    proporcionara para establecer comunicación con el usuario.
    Tradicionalmente estas interfaces han sido escritas y/o
    capturadas, de tal forma que el usuario revisa información
    desplegada en pantalla o impresa en papel y responde introducción de datos por el teclado y/o
    con el auxilio del ratón.

    Objetivos y Ventajas de las
    Vistas.

    El objetivo primordial de la utilización de
    esquemas externos es facilitar al usuario la percepción
    que este tiene de la base de datos así como el trabajo que
    van a desarrollar sobre ésta.

        Las principales ventajas que se
    obtienen al utilizar vistas son:

    • Perspectivas Directas.- Proporcionarse diversos
      modelos de información basados en los mismos datos,
      enfocándolos hacia distintos usuarios con necesidades
      específicas. El mostrar la información desde
      distintos ángulos nos ayuda a crear ambientes de trabajo
      y operación acordes a los objetivos de la empresa. Debe
      evaluarse el perfil y requerimientos de información de
      los usuarios destino de la vista.
    • Transparencias en las Modificaciones.- El usuario
      final no se vera afectado por el diseño o alteraciones
      que se realicen en el esquema conceptual de la base de datos.
      Si el sistema requiere una modificación en su
      funcionamiento interno, podrán afectarse diversas
      estructuras que proveen el desempeño de este; se
      pretende que los usuarios finales no adviertan tales
      alteraciones.
    • Seguridad.- Las vistas proporcionan de manera natural
      un medio para ocultar y proteger datos, dado que solo se
      presenta al usuario una selección de lo atributos
      existentes.

    4.2 Control
    de Acceso.

    Una vista es una forma de proporcionar al usuario un
    modelo personalizado de la base de datos. Aunque es
    imposible impedir que un usuario tenga acceso directo a una
    relación, puede permitírsele acceso a parte de esa
    relación por medio de una vista.  En
    una vista pueden implementarse controles que restrinjan los
    valores de entrada ó salida al dominio válido de
    los atributos, mejorando así el nivel de integridad de la
    BD. De igual manera, el nivel de seguridad se incrementa al
    incluir en la vista sólo los elementos que sean
    considerados al alcance del usuario.

            Actualmente
    los Sistemas Administradores de Bases de Datos (DBMS) soportan
    generalmente uno o ambos enfoques con respecto a la seguridad de
    los datos. Estos enfoques son conocidos como Control Discrecional
    y Control Obligatorio.

    • Control Discrecional, un usuario
      específico tendrá generalmente diferentes
      derechos de acceso (conocidos como privilegios) sobre
      diferentes objetos; además, existen muy pocas
      limitaciones sobre que usuarios pueden tener que derechos sobre
      que objetos.
    • Control Obligatorio, cada objeto de
      datos está etiquetado con un nivel de
      clasificación determinado y a cada usuario se le da un
      nivel de acreditación.

                
    Las vistas utilizadas como mecanismo de seguridad, restringen el
    acceso de un usuario a determinadas columnas de la tabla. Si la
    columna excluida es la clave de la fila, también se
    está impidiendo que el usuario pueda relacionar dos
    tablas. La vista deberá ser propiedad del
    mismo usuario que posea objetos subyacentes.

    Las vistas son útiles por varias
    razones:

    • Proporcionan un poderoso mecanismo de seguridad,
      ocultando partes de la base de datos a ciertos usuarios. El
      usuario no sabrá que existen aquellos atributos que se
      han omitido al definir una vista.
    • Permiten que los usuarios accedan a los datos en el
      formato que ellos desean o necesitan, de modo que los mismos
      datos pueden ser vistos con formatos distintos por distintos
      usuarios.
    • Se puede simplificar operaciones sobre las relaciones
      base que son complejas. Por ejemplo, se puede definir una vista
      como la concatenación de dos relaciones. El usuario
      puede hacer restricciones y proyecciones sobre la vista, que el
      SGBD traducirá en las operaciones equivalentes sobre la
      concatenación.

    4.3
    Herramientas.

    La tecnología nos permite ahora establecer una
    comunicación más eficiente por medios auditivos,
    táctiles y hasta de realidad
    virtual. Dentro de las aplicaciones que procesan
    información podemos encontrar diversas alternativas
    mediante las que el usuario indica al sistema las acciones a
    realizar:

    • Menús de opciones
    • Secuencia preestablecida (con opción a
      interrumpirla)
    • Comunicación con la interfase directa de
      comando.

    Elementos Relevantes de una
    Vista.

    Además de la información particular que la
    vista presenta o requiere, debe contener información
    referente a:

    Tiempo. Deben especificarse los
    periodos en los que debe considerarse esta información
    como vigente posibles fechas de caducidad o actualización
    así como fechas en que se genera la información
    presentada.

    Origen. Debe contener
    información precisa de las fuentes
    utilizadas para generar la información; de los
    responsables directos o indirectos de esta generación y de
    los medios utilizados para ello.

    Destino. Se describe a los
    departamentos y/o personas para quienes la información es
    útil o valida; de igual forma, deben especificarse
    destinatarios indirectos o afectados por la información
    presentada en la vista.

    Especificaciones Particulares. En casos
    especiales, pueden incluirse valores o datos que permitan la
    toma de
    decisiones o la aplicación de un criterio sobre la
    información contenida en la vista. Estos datos adicionales
    pueden ser utilizados para completar procesos, cálculos o
    delimitar áreas de acción.

    Unidad V. Diccionario de Datos.

    5.1
    Definición.

    El primer paso en el diseño de una base de datos
    es recolectar información acerca de la empresa, que es,
    acerca de su uso, relaciones y significado de datos. Como el
    diseño de procesos es progresivo, es necesario depositar
    información acerca de la opinión lógica,
    interna y externa del modelo en la localización central.
    Una herramienta que facilita el control y manejo de la
    información acerca de datos en el diseño,
    implementación, operación y expansión de
    fases de una base de datos es llamado diccionario de
    datos.

               
    El diccionario de datos es un lugar dónde se deposita
    información acerca de datos como origen,
    descripción, relaciones y otros datos, es decir el
    diccionario de datos es una base de datos misma, la cual deposita
    datos acerca de los datos, el diccionario de datos es una
    guía y contiene "mapas
    guías" para la base de datos en vez de "nuevos datos", es
    decir es un lugar en dónde se almacena o se mantiene un
    conjunto de estados (controles), información relacionada
    con los diferentes tipos de registros (tablas) privilegios de los
    usuarios y estadísticas (cuantos registros tiene cada
    tabla, índices, etc.)

              
    Los diccionarios
    de datos de los Sistemas de Base de datos (DBMS) no son iguales,
    aunque mantienen los mismos lineamientos o las mismas
    características.

               En
    otras palabras, es un catálogo, un depósito, de los
    elementos en un sistema. Contiene las características
    lógicas de los sitios donde se almacenan los datos del
    sistema, incluyendo nombre, descripción, alias, contenido
    y organización. Identifica los procesos donde se emplean
    los datos y los sitios donde se necesita el acceso inmediato a la
    información, se desarrolla durante el análisis de
    flujo de datos y auxilia a los analistas que participan en la
    determinación de los requerimientos del sistema, su
    contenido también se emplea durante el
    diseño.

      En un diccionario de datos se encuentra la lista
    de todos los elementos que forman parte del flujo de datos en
    todo el sistema. Los elementos más importantes son flujos
    de datos, almacenes de
    datos y procesos. El diccionario guarda los detalles y
    descripciones de todos estos elementos.

                 Si
    los analistas desean conocer cuántos caracteres abarca un
    determinado dato o qué otros nombres recibe en distintas
    partes del sistema, o dónde se utiliza, encontrarán
    las respuestas en un diccionario de datos desarrollado en forma
    apropiada.

    5.2
    Explotación.

    Razones para la utilización de los diccionarios
    de datos:

    1. Para manejar los detalles en sistemas muy grandes, ya
      que tienen enormes cantidades de datos, aun en los sistemas
      más chicos hay gran cantidad de datos. Los sistemas al
      sufrir cambios continuos, es muy difícil manejar todos
      los detalles. Por eso se registra la información, ya sea
      sobre hoja de papel o usando procesadores de
      texto. Los analistas mas organizados usan el diccionario de
      datos automatizados diseñados específicamente
      para el análisis y diseño de
      software.
    2. Para asignarle un solo significado a cada uno de los
      elementos y actividades del sistema. Los diccionarios de datos
      proporcionan asistencia para asegurar significados comunes para
      los elementos y actividades del sistema y registrando detalles
      adicionales relacionados con el flujo de datos en el sistema,
      de tal manera que todo pueda localizarse con
      rapidez.
    3. Para documentar las características del
      sistema, incluyendo partes o componentes así como los
      aspectos que los distinguen. También es necesario saber
      bajo que circunstancias se lleva a cabo cada proceso y con que
      frecuencia ocurren. Produciendo una comprensión mas
      completa. Una vez que las características están
      articuladas y registradas, todos los participantes en el
      proyecto
      tendrán una fuente común de información
      con respecto al sistema.
    4. Para facilitar el análisis de los detalles con
      la finalidad de evaluar las características y determinar
      donde efectuar cambios en el sistema. Determina si son
      necesarias nuevas características o si están en
      orden los cambios de cualquier tipo. Se abordan las
      características:
    • Naturaleza de las transacciones:
      las actividades de la empresa que se llevan a cabo mientras
      se emplea el sistema.
    • Preguntas: solicitudes para la
      recuperación o procesamiento de información
      para generar una respuesta específica.
    • Archivos y bases de datos:
      detalles de las transacciones y registros maestros que son de
      interés para la organización.
    • Capacidad del sistema: Habilidad
      del sistema para aceptar, procesar y almacenar transacciones
      y datos.
    1. Localizar errores y omisiones en el sistema, detectan
      dificultades, y las presentan en un informe. Aun en los
      manuales, se revelan errores.

    Contenido de un Registro de un
    Diccionario de Datos.

    El diccionario tiene dos tipos de descripciones para el
    flujo de datos del sistema, son los elementos datos y estructura
    de datos.

    Elementos Datos: Son los bloques
    básicos para todos los demás datos del sistema, por
    si mismos no le dan un significado suficiente al usuario. Se
    agrupan para formar una estructura de datos.

    • Descripción: Cada entrada en el diccionario
      consiste de un conjunto de detalles que describen los datos
      utilizados o producidos por el sistema.

    Cada uno esta identificado con:

    • Un nombre: para distinguir un dato de
      otro.
    • Descripción: indica lo que representa en el
      sistema.
    • Alias: porque un dato puede recibir varios nombres,
      dependiendo de quien uso este dato.
    • Longitud: porque es de importancia de saber la
      cantidad de espacio necesario para cada dato.
    • Valores de los datos: porque en algunos procesos solo
      son permitidos valores muy específicos para los datos.
      Si los valores de los datos están restringidos a un
      intervalo especifico, esto debe estar en la entrada del
      diccionario.

    Estructura de Datos: Es un grupo de
    datos que están relacionados con otros y que en conjunto
    describen un componente del sistema.

    • Descripción: Se construyen sobre cuatro
      relaciones de componentes. Se pueden utilizar las siguientes
      combinaciones ya sea individualmente o en conjunción con
      alguna otra.
    • Relación secuencial: Define los componentes
      que siempre se incluyen en una estructura de datos.
    • Relación de selección: (uno u otro),
      define las alternativas para datos o estructuras de datos
      incluidos en una estructura de datos.
    • Relación de iteración: (repetitiva),
      define la repetición de un componente.
    • Relación opcional: los datos pueden o no estar
      incluidos, o sea, una o ninguna iteración.
    • Notación: Los analistas usan símbolos especiales con la finalidad de
      no usar demasiada cantidad de texto para
      la descripción de las relaciones entre datos y mostrar
      con claridad las relaciones estructurales. En algunos casos se
      emplean términos diferentes para describir la misma
      entidad (alias) estos se representan con un signo igual (=) que
      vincula los datos.

    Diccionario de Datos y las
    Interfases.

    El diccionario de datos puede componerse
    básicamente de dos interfases así:

    • La interfase con la gente involucrada, por ejemplo,
      el administrador de la base de datos, programador de sistemas,
      programador de aplicaciones, manejadores, y finalmente usuarios
      y observadores.
    • La interfase con el software por ejemplo, sistema de
      manejo de bases de datos, librerías, sistemas
      operativos y generador de reportes.

               
    El diccionario de datos puede ser usado como una herramienta
    efectiva para la función de administrador de base de datos
    en el diseño, implementación y fase de operaciones
    en la base de datos. Es responsabilidad del DBMS proteger el
    diccionario de datos por refuerzos estándar, seguridad y
    obligaciones
    privadas. Un diccionario de datos es el lugar ideal para
    encontrar respuestas a las preguntas como " dónde
    se usa
    ", " quién usa ", "
    cuando se usa".

                
    Estas interfases muestran que existen dos tipos de usos del
    diccionario de datos, un tipo de uso es por la gente que tiene
    funciones como administrador de base de datos, programador de
    sistemas, analista de sistemas, programador de aplicaciones,
    usuarios. Y el otro tipo de uso es por el software en
    áreas semejantes como manejadores de base de datos,
    sistemas, librerías, sistemas operativos y generador de
    reportes.

              
    Estos dos tipos de interfase enlazan al manejador y control del
    medio de la base de datos como un resultado de la eficiente
    comunicación entre las partes involucradas.

    Diccionario de Datos Ideal: Sus
    requerimientos y su Organización.

    La siguiente es una lista de requerimientos convenientes
    de un diccionario de base de datos para describir los datos, no
    quiere decir que cualquier paquete de diccionario de datos
    particular abarca ahora todos estos requerimientos.

    Modelo Conceptual.- la
    información acerca de los datos necesaria en el proceso de
    diseño del modelo conceptual incluye entidades, campos o
    atributos y las relaciones entre campos, atributos,
    también incluye información acerca de cuales
    departamentos y usuarios están usando o intentan usar que
    atributos y con que frecuencia estos datos son usados,
    conjuntamente con las descripciones textuales y con significados
    y propósitos. Las entidades y relaciones deberían
    tener títulos apropiados, versiones, estados, los
    membership (campo de una entidad el cual va ha servir de
    referencia).

    Modelo Lógico.- la
    información siguiente acerca del modelo lógico de
    la base de datos debería ser almacenada en el diccionario
    de datos: el campo de agrupación con su llave (estos
    grupos pueden ser los subgrupos de los grupos especificados en el
    modelo conceptual), el fundamento del modelo de datos, la
    relaciones de los grupos basados en el modelo de datos, el modelo
    externo soportado por el modelo lógico, las transacciones
    lógicas, los programas y los módulos, la referencia
    cruzada de la información entre las transacciones,
    también deberían ser almacenados. Otra
    información necesaria es el lenguaje de
    programación y el tipo de programa (bath o en
    línea) para los programas y transacciones.

    Modelo Interno.- la información
    física acerca de los atributos como por ejemplo: longitud
    (caracteres), modo (cadena de caracteres, decimales, datos de
    simple precisión, empaquetados), justificación
    (derecha izquierda), formas de presentación, reglas de
    edición
    (constantes, rango de valores), derivación
    algorítmica, secuencia o posición secuencial que un
    atributo particular ocupa en una ocurrencia, seguridad
    (códigos de seguridad para leer, actualizar), medio de
    almacenamiento (tarjetas, discos, cintas, video), el
    control de acceso a la información debería ser
    almacenado en el diccionario de datos.

              
    Un diccionario de datos ideal debería se una parte
    integral de todo el medio ambiente
    de la base de datos y el administrador de la base de datos es el
    responsable de la entrada al diccionario de datos,
    señalando que un diccionario de datos tiene que ser
    salvado en copias de respaldo para evitar efectos desastrosos
    debido a un mal funcionamiento del sistema o cualquier
    destrucción no intencional de la versión producida
    del diccionario de datos, la función del administrador de
    base de datos lleva la gran responsabilidad de proteger la parte
    vital del medio de la base de datos "el diccionario de
    datos".

    Sistemas Ideales del Diccionario de
    Datos.

    1. El diccionario de datos debe soportar los modelos
      conceptual, lógico, interno y externo.
    2. El diccionario de datos debe ser integrado con el
      manejador del sistema de base de datos.
    3. El diccionario de datos debe soportar varias
      versiones de documentación (historial)
    4. El diccionario de datos debe apoyar la transferencia
      eficiente de información al manejador del sistema de
      base de datos. Idealmente la conexión entre los modelos
      interno y externo debe ser realizada en tiempo de
      ejecución.
    5. Un diccionario de datos debería comenzar con la
      reorganización de versiones de producción de la base de datos como un
      resultado de los cambios para la descripción de la
      base de datos. Similarmente, cualquier cambio a la
      descripción de programas debe ser reflejado
      automáticamente en la librería de
      descripción de programas con la ayuda del diccionario
      de datos.

      Unidad VI.
      Herramientas del Sistema.

      1. Afinación, Medición del Desempeño,
        Reorganización Física y
        Lógica.
    6. El diccionario de datos para ser eficiente
      deberá ser almacenado en un medio de almacenamiento con
      acceso directo para la fácil recuperación de
      información.

    Afinación.

             
    La afinación se refiere a ajustes y
    cambios en la organización del almacén de
    datos después de que el sistema ha entrado en servicio y se
    han aclarado suficientemente las pautas de uso. Este proceso de
    ajuste de la base de datos se llama afinación
    (Tunning).

             
    El uso de la base de datos evoluciona continuamente, a medida que
    más personas se van familiarizando con ella y se van
    creando más programas de aplicación. Los ajustes en
    la organización del almacén para el óptimo
    desempeño se convierten en un proceso continuo.

             
    El responsable de realizar la afinación de la base de
    datos es el administrador de o su grupo, y es importante que este
    tenga libertad para
    introducir los cambios que sean necesarios, sin hacer estragos en
    los programas de aplicación.

    Requisitos para una correcta
    afinación:

    • Independencia física de los
      datos.
      Es la capacidad de modificar el esquema interno
      sin alterar el esquema conceptual, ni los programas de
      aplicación.
    • Medios: Para supervisar
      automáticamente el uso de la base de datos con el fin de
      que puedan hacerse los ajustes necesarios.

     Los manejadores actuales de bases de datos ya
    incorporan medios para la afinación
    automática.

    Medición del
    Desempeño.

    Es responsabilidad del DBA organizar el sistema de modo
    que se obtenga el desempeño que sea "mejor para la
    empresa", y realizar los ajustes apropiados cuando cambien los
    requerimientos. Es necesario reorganizar la base de datos
    (descargarla y volverla a cargar) en forma periódica con
    el fin de garantizar que los niveles de desempeño sigan
    siendo aceptables.

             
    Los datos obtenidos del desempeño se comparan con aquellos
    datos esperados. esta razón proporciona los factores de
    multiprogramación, Mn, para cada uno de los procesos
    básicos h que son parte de los cálculos de la base
    de datos. En la práctica estos factores pueden variar de 1
    a 0.1.

    Para ver la fórmula seleccione la
    opción "Descargar" del menú superior

              
    Tales pruebas no
    requieren la existencia de la base de datos completa y puede ser
    que ni siquiera exista el estudio piloto, que consiste en la
    ejecución de una secuencia adecuada de operaciones
    aleatorias o secuenciales de lectura o escritura,
    junto con una cantidad equivalente del uso del cpu. Es posible
    escribir y ejecutar un programa que imite la operación
    propuesta, en el sistema real que se va a utilizar, con el
    costo del
    esfuerzo de unos cuantos días.

    Reorganización Física y
    Lógica.

    La reorganización consiste en leer el archivo en
    forma en que se utilizaría al realizar el procesamiento
    serial y escribir los registros nuevos y viejos en el archivo
    nuevo, dejando fuera todos los registros marcados como eliminados
    lógicamente; y se crearán nuevos índices con
    base a los nuevos valores.

              
    La frecuencia de reorganización depende de la actividad de
    inserción dentro del archivo; y se debe de realizar antes
    de que el archivo esté realmente lleno para evitar
    problemas en tiempos de mucha actividad.  Las
    reorganizaciones físicas son necesarias para mejorar el
    rendimiento, añadir una nueva estructura de acceso,
    agilizar las operaciones de obtención y
    actualización, disminuir los tiempos de respuesta,
    minimizar el espacio de almacenamiento y optimizar el consumo de
    recursos. Las reorganizaciones lógicas pueden modificar el
    esquema conceptual, pero no alterar el esquema externo ni los
    programas de aplicación; puede ser un orden de
    visualización en las vistas.

    1. Auditoria.

    Para asegurar la calidad de la información
    contenida en el sistema, es necesario tener un experto que
    esté involucrado en el ajuste o hacer uso de un sistema
    que examine la información para asegurar su
    confiabilidad.

    Existen dos tipos de auditores:

    • Internos. Trabajan para la misma
      organización, dueña del sistema.
    • Externos. Contratados del exterior
      de la organización que auditan el sistema para asegurar
      la legalidad de
      los estados
      financieros.
    1. Respaldo y Recuperación.

    El DBA debe definir y poner en práctica un plan
    de recuperación adecuado que incluya una descarga o
    vaciado periódico de la base de datos en un medio de
    almacenamiento de respaldo y procedimientos para volver a cargar
    la base de datos a partir del vaciado más reciente. El
    respaldo y recuperación consiste en contar con un
    mecanismo que permiten la fácil recuperación de los
    datos en caso de ocurrir fallos en el sistema de la base de
    datos.

             
    El objetivo del concepto de
    recuperación es el de proteger la base de datos
    contra fallas lógicas y físicas que destruyan
    los datos en todo o en parte independientemente de la naturaleza de
    las fallas estas pueden afectar los aspectos de 
    almacenamiento de la base de datos como son:

    • Fallas que provocan la pérdida de la memoria
      volátil.
    • Fallas que provocan la pérdida del contenido
      de la memoria secundaria.

              
    En un sistema de base de datos, recuperación significa,
    restaurar la base de datos a un estado que se sabe que es
    correcto, después de una falla que provoca que se
    considere que el estado
    actual es incorrecto. Podemos tener la seguridad de que la base
    de datos es recuperable, si aseguramos que cualquier parte de la
    información que contiene, puede ser reconstruida, a partir
    de otra información que se encuentra almacenada
    redundantemente en algún lugar del sistema.

    Pasos para recuperar la información:

    • Detección del error.- El
      proceso de recuperación se inicia al detectar la
      existencia de un error. Es posible distinguir una variedad de
      puntos de entrada en le proceso de recuperación. Se
      considerarán fallas de sistemas detectadas por falta de
      acción del sistema o por verificaciones irrecuperables
      de redundancia y salida incorrecta observada por un
      usuario.
    • Determinación de la fuente del
      error.-
      para decidir cual es la mejor acción
      correctora es necesario determinar la extensión del
      daño.
      Desde luego este esfuerzo es muy relacionado con la
      determinación del tiempo y la causa del error.
      Después de una caída o cuando el procesamiento
      sea interrumpido debido a una señal de error, es
      necesario determinar tantos aquellas áreas del archivo
      de datos que sean sospechosas como cuál fue la
      transacción que no se concluyo.
    • Ubicación de errores
      secundarios.-
      cuando se ha detectado un error que
      provocó una modificación inadecuada a un archivo
      un rastreo a través de las listas de actividad
      encontrara aquellas transacciones que emplearon el bloque
      correcto. Entonces es posible volver a introducir
      automáticamente el bloque correcto de las transacciones
      afectadas y producir resultados correctos. Si se actualizaron
      bloques mediante transacciones que leyeron bloques incorrectos
      antes de existir es necesario restaurar a un más el
      archivo.
    • Aplicación de correcciones.
      Si la extensión del daño es limitada, puede
      utilizarse un proceso de volver a enrollar. Las porciones
      dañadas del archivo se restauran aplicando primero
      aquellas imágenes
      anteriores a los bloques en error reemplazando después
      de las transacciones incompletas. La salida proveniente de
      estas transacciones se suprime de ser posible, para evitar
      duplicar resultados que previamente se hayan enviado a los
      usuarios.
    1. Migración de Datos.

    Es conveniente mudar un conjunto de datos dentro del
    almacén de datos a posiciones accesibles de acuerdo con su
    actividad. En algunos sistemas se hace automáticamente, en
    otros, los hacen los programadores del sistema o el
    DBA.

              
    El DBA se encarga de supervisar y mantener la vista lógica
    global de los datos. Es deseable almacenar los datos de uso
    frecuente de manera que resulte fácil y rápido de
    acceder a ellas.

              
    Otra forma de migrar datos es cuando se migra de una
    versión anterior del SGBD a otra versión más
    actualizada (se trabaja con la versión 8i de Oracle y se
    desea actualizar esta versión a la 9i, por lo que se tiene
    que respaldar la información y migrarlo a la
    versión 9i de Oracle) o cuando se cambia de un manejador a
    otro (supongamos que actualmente se trabaja con S QL Server y se
    desea migrar a otro manejador como Oracle, entonces, se tiene que
    migrar la tablas de la base de datos de SQL a tablas de
    Oracle).

    Unidad VII.
    Implicaciones de Bases de datos Distribuidas.

    La evolución de los sistemas de
    información y el crecimiento no planeado de la
    información dentro de las organizaciones, ha traído
    dispersión de los datos en sitios local o
    geográficamente dispersos. La necesidad de integrar y
    compartir dicha información implica el nacimiento de una
    nueva tecnología  capaz de conformar de manera
    consistente la información de las organizaciones. Una de
    las tecnologías que trabaja en el problema de integración de información, es la de
    bases de datos distribuidas (BDD).

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Evolución de las bases de
    datos.

    Base de datos centralizada:- Los equipos
    están conectados a un servidor
    centralizado, donde esta almacenada la base de datos.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

              
    La interacción con el usuario como la aplicación
    residen en el cliente, siendo
    el servidor el depositario de los datos. En un sistema
    centralizado, la caída o desconexión del servidor,
    provoca la caída total del sistema.

    Base de datos distribuidos:- Una base de datos
    esta dividida en fragmentos, almacenados en diferentes sitios de
    la red. Todas las operaciones realizadas en los sitios se ven
    reflejadas en la base de datos que esta almacenada en el
    servidor.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

             
    El cliente debe conocer la topología de la red, así como la
    disposición y ubicación de los datos. Se delega
    parte de la gestión
    de la base de datos a los clientes.

    Arquitectura Cliente-Servidor:- Es la
    integración distribuida en un sistema de red, con los
    recursos, medios y aplicaciones, que definidos modularmente en
    los servidores,
    administran, ejecutan y atienden a las solicitudes de los
    clientes; todos interrelacionados física y
    lógicamente. En un esquema cliente-servidor, se denomina
    cliente a la máquina que solicita un determinado
    servicio, y servidor a aquella que proporciona tal
    servicio.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Arquitectura Cliente-Servidor.

    Objetivos de un Sistema
    Distribuido.

    Un sistema distribuido debe aparecer al usuario 
    como un sistema centralizado.

    • Transparencia a la localización.
    • Transparencia a la fragmentación.
    • Transparencia a la replicación.

    Desventajas de un Sistema
    Distribuido.

    • Optimización en el procesamiento de
      preguntas.
    • Propagación de actualizaciones.
    • Mayor problema con los accesos
      concurrentes.

    Ventajas de un Sistema
    Distribuido.

    • Autonomía local
      • Cada grupo es responsable de sus
        datos.
      • El tratamiento local es más
        rápido.
    • Capacidad y Crecimiento
      incremental.
      • Se pueden abordar proyectos de más
        envergadura.
      • Se puede ampliar la información sin
        cambiar todo el sistema.
    • Fiabilidad y Disponibilidad.
      • Los fallos suelen ser locales.
      • Se admite un cierto nivel de
        redundancia.
    • Eficiencia y Flexibilidad.

    7.1
    Distribución de Datos.

    El problema de diseño de bases de datos
    distribuidos se refiere, a hacer decisiones acerca de la
    ubicación de datos y programas a través de los
    diferentes sitios de una red de computadoras.

    Consideraciones para la base de datos
    distribuidos:

    • Diseño de la fragmentación, este
      se determina por la forma en que las relaciones globales se
      subdividen en fragmentos horizontales, verticales o
      mixtos.
    • Diseño de la asignación de los
      fragmentos
      , esto se determina en la forma en que los
      fragmentos se mapean a las imágenes físicas, en
      esta forma, también se determina la solicitud de
      fragmentos.

    Objetivos del Diseño de la
    Distribución de datos.

    En el diseño de la distribución de los
    datos, se deben de tomar en cuenta los siguientes
    objetivos:

    • Procesamiento local. La distribución de
      los datos, para maximizar el procesamiento local corresponde al
      principio simple de colocar los datos tan cerca como sea
      posible de las aplicaciones que los utilizan. Se puede realizar
      el diseño de la distribución de los datos para
      maximizar el procesamiento local agregando el número de
      referencias locales y remotas que le corresponden a cada
      fragmentación candidata y la localización del
      fragmento, que de esta forma se seleccione la mejor
      solución de ellas.
    • Distribución de la carga de trabajo. La
      distribución de la carga de trabajo sobre los sitios, es
      una característica importante de los sistemas de
      cómputo distribuidos. Esta distribución de la
      carga se realiza para tomar ventaja de las diferentes
      características (potencia) o
      utilizaciones de las computadoras de cada sitio, y maximizar el
      grado de ejecución de paralelismo de las aplicaciones.
      Sin embargo, la distribución de la carga de trabajo
      podría afectar negativamente el procesamiento local
      deseado.
    • Costo de almacenamiento y disponibilidad. La
      distribución de la base de datos refleja el costo y
      disponibilidad del almacenamiento en diferentes sitios. Para
      esto, es posible tener sitios especializados en la red para el
      almacenamiento de datos. Sin embargo el costo de almacenamiento
      de datos no es tan relevante si éste se compara con el
      del CPU, I/O y costos de
      transmisión  de las aplicaciones.

    Requerimientos de
    Información.

    Con el fin de realizar una fragmentación
    adecuada, es necesario proporcionar información que ayude
    a realizarla. Esta información normalmente debe ser
    proporcionada por el usuario y tiene que ver con cuatro
    tipos:

    • Información sobre el significado de los
      datos.
    • Información sobre las aplicaciones que lo
      usan.
    • Información acerca de la red de comunicaciones.
    • Información acerca de los sistemas de
      cómputo.

    Tipos de
    Fragmentación.

    Existen tres tipos de fragmentaciones
    principales:

    1. Fragmentación horizontal. Esta
      fragmentación se divide en primaria y
      derivada.
    • Fragmentación horizontal primaria. Consiste
      del particionamiento en tuplas de una relación R en
      subconjuntos, donde cada subconjunto puede contener datos que
      tienen propiedades comunes y se puede definir expresando cada
      fragmento como una operación de selección sobre
      la relación R.
    • Fragmentación horizontal derivada. Se define
      partiendo de una fragmentación horizontal. En esta
      operación se requiere de semi-junta(semi-join) el cual
      nos sirve para derivar las tuplas o registros de dos
      relaciones.
    1. Fragmentación vertical. Una relación R
      produce fragmentos R1,R2,…,Rn; cada fragmento contiene
      subconjuntos de atributos Pr así como la clave primaria
      de R. Cada atributo debe encontrarse al menos en un
      fragmento.
    2. Fragmentación híbrida (mixta). La
      relación R se divide en una serie de fragmentos
      R1,R2,…,Rn. Cada fragmento se obtiene como resultado de la
      aplicación del esquema de fragmentación
      horizontal o vertical a la relación R, o un fragmento de
      R obtenido con anterioridad. Resultado de la combinación
      de las dos fragmentaciones anteriores.

    Asignación.

    Encontrar la distribución óptima de los
    fragmentos F en los nodos S.

    • Mínimo coste:
      • almacenamiento.
      • modificación de un fragmento en toda
        sede.
      • coste de comunicación.
    • Rendimiento:
      • minimizar tiempos de respuesta.
      • maximizar la capacidad de procesamiento del
        sistema en cada nodo

    7.2
    Seguridad y Control de Concurrencia.

             
    La protección de los datos deberá llevarse a cabo
    contra fallos físicos, fallos lógicos y fallos
    humanos (intencionados o no). Estos fallos alteran indebidamente
    los datos, los corrompen con lo que la base de datos ya no puede
    servir a los fines para los que fue creada.

              
    El SGBD facilita normalmente mecanismos para prevenir los fallos
    (subsistema de control), para detectarlos una vez que se han
    producido (subsistema de detección) y para corregirlos
    después de haber sido detectados (subsistema de
    recuperación).

    Aspectos fundamentales de la seguridad:

    • Confidencialidad. No desvelar datos a usuarios
      no autorizados. Comprende también la privacidad
      (protección de datos personales).
    • Accesibilidad. La información debe
      estar disponible.
    • Integridad. Permite asegurar que los datos no
      han sido falseados.

    La seguridad en las bases de datos abarca varios
    temas:

    • Cuestiones éticas y legales relativas al
      derecho a tener acceso a cierta información.
    • Cuestiones de política en el
      nivel gubernamental, institucional o corporativo relacionadas
      con la información que no debe estar disponible para el
      público.
    • Cuestiones relacionadas con el sistema.
    • Necesidad en algunas organizaciones de identificar
      múltiples niveles de seguridad y de clasificar los datos
      y los usuarios según estos niveles.

    El SGBD debe proveer técnicas que permitan a
    ciertos usuarios tener acceso a porciones selectas de una base de
    datos sin tener acceso al resto. Por lo regular un SGBD cuenta
    con un subsistema de seguridad de autorización de la base
    de datos que se encarga de garantizar la seguridad de porciones
    de la base de datos contra el acceso no autorizado.

    Existen dos tipos de mecanismos de seguridad:

    • Discrecionales, se usan para otorgar privilegios a
      los usuarios.
    • Obligatorios, sirven para imponer seguridad de
      múltiples niveles clasificando los datos y los usuarios
      en varias clases de seguridad e implementando después la
      política de seguridad apropiada de la
      organización.

              
    Otro problema de seguridad es el acceso a una base de datos
    estadística, la cual sirve para proporcionar
    información estadística a partir de diversos
    criterios. Los usuarios de bases de datos estadísticas
    están autorizados para usarlas para obtener
    información estadística sobre una población pero no para tener acceso a
    información confidencial detallada sobre individuos
    específicos. La seguridad en bases de datos
    estadísticas debe cuidar que la información sobre
    individuos no sea accesible. En ocasiones es posible deducir
    ciertos hechos relativos a los individuos a partir de consultas,
    esto tampoco debe permitirse.

              
    Otra técnica de seguridad es el cifrado de datos que sirve
    para proteger datos confidenciales que se transmiten por
    satélite o algún tipo de red de comunicaciones.
    Asimismo el cifrado puede proveer protección adicional a
    secciones confidenciales de una base de datos. Los datos se
    codifican mediante algún algoritmo de codificación. Un usuario no autorizado
    tendrá problemas para descifrar los datos codificados,
    pero un usuario autorizado contará con algoritmos para
    descifrarlos.

             Entre
    las obligaciones del DBA está otorgar privilegios a los
    usuarios y clasificar los usuarios y los datos de acuerdo con la
    política de la organización. Las órdenes
    privilegiadas del DBA incluyen los siguientes tipos de
    acciones:

    1. Creación de cuentas
    2. Concesión de privilegios.
    3. Revocación de privilegios.
    4. Asignación de niveles de
      seguridad.

             
    La acción 1 de la lista sirve para controlar el acceso al
    SGBD en general, la 2 y la 3 para controlar las autorizaciones
    discrecionales y la 4 controla la autorización
    obligatoria.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Amenazas a la seguridad.

             
    Un sistema de manejo de bases de datos confiable es aquel que
    puede continuar procesando las solicitudes de usuario aún
    cuando el sistema sobre el que opera no es confiable. En otras
    palabras, aun cuando los componentes de un sistema distribuido
    fallen, un DDMBS confiable debe seguir ejecutando las solicitudes
    de usuario sin violar la consistencia de la base de datos. El
    control de concurrencia trata con los problemas de aislamiento y
    consistencia del procesamiento de transacciones.

                
    El control de concurrencia distribuido de una DDBMS asegura que
    la consistencia de la base de datos se mantiene en un ambiente
    distribuido multiusuario. Si las transacciones son internamente
    consistentes, la manera más simple de lograr este objetivo
    es ejecutar cada transacción sola, una después de
    otra. Sin embargo, esto puede afectar grandemente el
    desempeño de un DDBMS dado que el nivel de concurrencia se
    reduce al mínimo. El nivel de concurrencia, el
    número de transacciones activas, es probablemente el
    parámetro más importante en sistemas
    distribuidos. Por lo tanto, los mecanismos de control de
    concurrencia buscan encontrar un balance entre el mantenimiento
    de la consistencia de la base de datos y el mantenimiento de un
    alto nivel de concurrencia.

              
    Si no se hace un adecuado control de concurrencia, se pueden
    presentar dos anomalías. En primer lugar, se pueden perder
    actualizaciones provocando que los efectos de algunas
    transacciones no se reflejen en la base de datos. En segundo
    término, pueden presentarse recuperaciones de
    información inconsistentes.

    Bibliografía.

    Tutorial de: Administración de Bases de
    Datos.

    Instituto Tecnológico de La Paz.
    http://www.itl.edu.mx/tutoriales/

    Tutorial de: Administración de Bases de
    Datos.

    Instituto Tecnológico de Veracruz.
    http://www.itver.edu.mx/tutoriales/

    Tutorial de: Ingeniería de
    Software.

    /trabajos5/inso/inso2

    Fundamentos de Bases de Datos
    Silberschatz, Abraham;F. Korth, Henry
    Tercera Edicion

    Ricardo García

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter