ALIPSO.COM - Trabajos prácticos, monografías, apuntes, tesis, manuales, material educativo y mucho más.
 

Página de inicio | Agregar a Favoritos | Contactate con nosotros | Publicidad

Alipso.com
 

Monografías

Examenes

Enlaces

Publicar material o sitio

Foros

ABC del estudio

Diversión

  Buscar material sobre...
Todas las palabras Cualquier palabra Frase Exacta
El sitio en el que encontrás
todo el material que buscás.

   

Enlaces recomendados
   

Material relacionado
 

Material educativo de Alipso relacionado con Ficheros bases datos

  • Algoritmos y Estructuras de Datos I: Algoritmos y Estructuras de Datos I Solución del Tercer Parcial – Segundo cuatrimestre de 1998.
  • Algoritmos y Estructuras de Datos I: Programación Imperativa: ...
  • Princesa Mononoke: "La película ""Princesa Mononoke"". Tradiciones y leyendas, personajes, Técnicas y datos sobre cómo se realizó la película, Biografía del autor, Datos e información secundaria."
  • Algoritmos y Estructuras de Datos I: Algoritmos y Estructuras de Datos I Facultad de Ciencias Exactas y Naturales. Universidad de Buenos Aires Primer Cuatrimestre de 2000. Resolución del Parcial 18.


  • Enlaces externos relacionados con Ficheros bases datos
  • Uso de Ceftriaxona y Cefazolina VEV en el Hospital Materno Infantil 10 de Octubre durante el ultimo trimestre del ano 2004
  • Instituto de Economía
  • Informatica Basica
  •  

    Publicidad
       

    Monografías
      Ficheros y bases de datos
    Jerarquía de memoria. Procesador de Entrada/Salida. Buffers. Dispositivos de almacenamiento. Estructura de un fichero. Técnicas de dispersión.

    Agregado: 30 de AGOSTO de 2003 (Por Michel Mosse) | Palabras: 12519 | Votar! | Sin Votos | Sin comentarios | Agregar Comentario
    Categoría: Apuntes y Monografías > Computación > Varios >

      Imprimir Recomendar a un amigo Recordarme el recurso Descargar como pdf

                         FICHEROS Y BASES DE DATOS

     

     

                       TEMA 1   ASPECTOS BÁSICOS DE LOS FICHEROS

     

    1.1   Jerarquía de memoria

     

                Memoria Primaria

     

    - La primera idea es almacenar la información en el medio más rápido posible, para asegurar

      una rápida gestión.

    - El coste de acceso a memoria primaria, o memoria RAM, es fijo y reducido.

    - Pero la utilización de este tipo de memoria presenta diferentes problemas:

                - Suele ser un medio bastante caro, por lo que se suele limitar su capacidad.

                - La información se pierde al producirse un fallo de corriente eléctrica.

     

                Memoria Secundaria

     

    - Estas limitaciones aconsejan, la utilización de la memoria secundaria.

    - Sus propiedades son las siguientes:

                - Presenta un coste por byte mucho menor que la memoria RAM.

                - Preserva su contenido al producirse un fallo de corriente eléctrica.

                - Es bastante más lenta que la RAM y además el coste de acceso no es fijo.

     

                Definición de Ficheros

     

    - La información en memoria secundaria se almacena en ficheros, que se define como una

      Colección de Información Relacionada.

    - Debido al alto coste temporal del acceso a la memoria secundaria, se desea:

                - Maximizar la información recuperada.

                - Minimizar el número de accesos.

     

                Manejo de Buffers

     

    - Un buffer se define como un conjunto de bytes, que son leídos o escritos desde un

      dispositivo de almacenamiento, en la memoria primaria.

    - La utilización de esta técnica permite reducir el número de accesos a memoria secundaria.

     

    1.2   Ficheros lógicos y ficheros físicos

     

    - Desde un punto de vista físico, un fichero se define como un conjunto de bytes que se

      almacenan en memoria secundaria.

    - Desde el punto de vista de una aplicación, un fichero es su conexión con el mundo exterior,

      posibilitándole el envío y la recepción de información.

    -De este modo se definen el Fichero Físico y el Fichero Lógico.

    - La conexión entre ambos es realizada por el sistema operativo.

     

     

     

    1.3   Acceso a los datos situados en ficheros

     

                Administrador de Ficheros

     

    - El administrador de ficheros es la parte del sistema operativo que se encarga de la gestión de

      los ficheros.

    - Su primera tarea es comprobar que existe una conexión entre el fichero lógico y un fichero

      físico determinado.

    - Seguidamente se define en que parte del fichero se desea realizar la operación, y si esta se

      encuentra en un buffer de memoria.

     

                Procesador de Entrada/Salida

     

    - El procesador de entrada/salida se encarga de controlar el tráfico de información desde y

      hacia la memoria primaria.

     

                Número de Buffers y Velocidad de Acceso

     

    - El manejo de buffers por parte del administrador de ficheros permite reducir el número de

      accesos a memoria secundaria.

    - Pero una cuestión fundamental es el número de buffers a utilizar.

    - En realidad  se utilizan varios buffers que se manejan de modo indistinto para lecturas y

      escrituras.

    - Si todos los buffers están ocupados, se debe vaciar uno de ellos para posibilitar una lectura.

    - Normalmente se utiliza el algoritmo LRU, es decir, se vacía el buffer menos recientemente

      utilizado.

     

    1.4   Coste de acceso a dispositivos de almacenamiento

     

                Tipos de Dispositivos

     

    - Según el modo en el que se accede a un dato dentro del medio de almacenamiento:

                - Los Dispositivos de Acceso en Serie, como las cintas magnéticas.

                - Los Dispositivos de Acceso Directo, como los discos magnéticos.

    - Los primeros se utilizan para almacenar información que deba ser leída o escrita de modo

      global.

    - Mientras que los segundos se utilizan en el manejo de ficheros cuyo criterio de acceso es

      más aleatorio.

     

    1.4.1   Coste de acceso a discos

     

                Organización de un Disco

     

    - Un disco se presenta como un conjunto de Platos, cada uno de los cuales presenta al menos

      una Superficie Magnética sobre la que se almacena información.

    - Cada superficie se divide en Pistas, y éstas a su vez en Sectores.

    - Las operaciones sobre la superficie se realiza a través del Cabezal de Lectura/Escritura.

    - El movimiento del cabezal para alcanzar una pista concreta se denomina Desplazamiento.

    - Cuando un disco presenta varios platos se denomina Paquete de Discos.

    - La capacidad de los sectores suele ser constante en todo el disco, por lo que las pistas

      interiores presentan mayor densidad de grabación.

    - El acceso a un dato en disco, lee o escribe la información de un sector sobre un buffer.

     

                Organización por Sectores

     

    - Un usuario asume que los ficheros aparecen en sectores continuos dentro del disco.

    - Pero no es así, ya que no es posible leer sectores contiguos, porque se requiere un cierto

      tiempo para procesar la información inicialmente leída.

    - Por tanto, si se almacenaran de este modo, sólo se podría leer un sector en cada giro.

    - Para evitar este problema, se suelen intercalar los sectores lógicamente contiguos entre otros

      sectores.

    - Otra alternativa es el acceso consecutivo de un conjunto de sectores, denominado Cúmulo.

    - La secuencia lógica de los cúmulos en el fichero aparece en la FAT.

    - Para reducir el coste de acceso, es necesario minimizar el coste de los desplazamientos.

    - Un registro puede aparecer en un único sector, lo que puede producir Fragmentación interna.

     

                Organización por Bloques

     

    - Las pistas de los discos también pueden estar organizados por bloques.

    - Su tamaño puede ser definido por el usuario, y su valor puede ser fijo o variable.

    - Un bloque puede descomponerse en una serie de subbloques:

                - Subbloque Contador, que incluye el número de bytes del bloque asociado.

                - Subbloque Clave, que incluye la clave del último registro del bloque.

                - Subbloque de Datos, en el que aparece la información.

     

                Overhead de las Organizaciones

     

    - Tanto los sectores como los bloques produce cierto overhead de almacenamiento, que

       reduce la capacidad del disco.

    - Parte de este overhead se produce cuando se formatea el disco.

    - En las organizaciones por sectores, debe de incluir en cada sector la siguiente información:

                - Dirección del Sector y de la Pista.

                - Estado del Sector, útil o dañado.

                - Espacios y Marcas de Sincronización.

    - El usuario no tiene la posibilidad de manejar esta información. En las organizaciones por

      bloques, parte de esta información sí puede ser definida por el programador.

     

                Cálculo del Coste de Acceso a un Disco

     

    - El coste del acceso a un disco se calcula a partir de la suma de tres valores:

                - Tiempo de Desplazamiento, para situar el cabezal sobre el cilindro adecuado.

                  Se obtiene como suma del Tiempo Inicial de Arranque del Cabezal, s, y el producto

                  del coste de atravesar un cilindro, m, y el número de cilindros a atravesar, n.

                                                   f(n) = s + m*n

                - Retraso por Rotación, que incluye el tiempo necesario para situar el cabezal en la

                  pista. Depende de la velocidad de giro del disco y de la posición del cabezal.

                - Tiempo de Transferencia, en el que se realiza de modo efectivo la operación.

                  Depende del número de bytes a transmitir y de la velocidad de giro.

     

       Tiempo Transferencia = (nº bytes a transmitir / nº bytes en la pista) * Tiempo Rotación

     

    1.4.2   Coste de Acceso a Cintas

     

                Organización de las Cintas

     

    - Una cinta suele estar compuesta por una serie de pistas paralelas.

    - Los datos se agrupan en bloques cuyo tamaño es variable.

    - Una cinta se caracteriza por los parámetros:

                - Densidad de la Cinta, medido en número de bits por pulgada.

                - Velocidad de la Cinta, medido en pulgadas por segundo.

                - Tamaño del Hueco entre Bloques.

     

                Cálculo del Tamaño de una Cinta

     

    - Para calcular el tamaño necesario de la cinta para almacenar una información se considera:

                - La longitud Física de un Bloque de Datos.

                         b = (Tamaño del Bloque) / (Densidad de la Cinta)

                - La longitud de un hueco entre bloques, g.

                - El número de Bloque, n.

                            s = n * (b+g)

     

                Cálculo del Acceso a una Cinta

     

    - El Coste Nominal de Transmisión de Datos se define como:

                            Densidad de Cinta (bpi) * Velocidad de Cinta (ips)

    - Pero no se tiene en cuenta el espacio ocupado por los huecos entre bloques, para ello es

       necesario definir la densidad de grabado efectivo,

           Número de Bytes por Bloque / Número pulgadas necesarias para almacenar bloque

     

     

                      TEMA 2   ESTRUCTURA DE UN FICHERO

     

     

    2.1   Introducción

     

    - Los bytes que constituyen el fichero aparecen agrupados para formar unidades de inform.

    - En un fichero aparecen un conjunto de entidades caracterizadas por una serie de atributos.

    - Las entidades se asocian a Registros, y los atributos a Campos.

    - La cuestión se centra en como se puede localizar un determinado atributo de una entidad

      dentro del fichero.

    - Una alternativa es conocer de antemano la posición de inicio de cada una de las informac.

    - Otra posibilidad es marcar de algún modo el principio y el fin de cada información.

     

     

     

     

     

    2.2   Organización: Campos y Registros

     

                Definición y Tipos de Campos

     

    - Campo: menor unidad de información con significado lógico en un fichero.

    - Alternativas para localizar los campos en un fichero:

    1º) Campos de Tamaño Fijo.

                - Cada campo ocupa en disco el mismo número de bytes. Para datos con longitud muy

                  variable, puede producir un derroche, bastante importante, de la capacidad del disco.

    2º) Comenzar un Campo con un indicador de longitud.

                Este indicador incluye el número de bytes del dato incluido en el campo.

    3º) Colocar un delimitador al final del campo.

                Se elige un carácter especial que se escribe a continuación de los bytes del campo.

     

                Definición y Tipos de Registros

     

    - Registro: conjunto de campos que permanecen juntos cuando se observa el fichero con un

      mayor nivel de abstracción.

    - Para poder agrupar los campos de un registro, resulta necesario determinar los límites de un

      registro, apareciendo diferentes opciones:

    1º) Registros de tamaño fijo, a nivel de bytes.

                Los campos de longitud fija se suelen reunir para formar registros de tamaño fijo.

    2º) Registros de tamaño fijo, a nivel de campos.

    3º) Comenzar cada registro con un indicador de longitud.

    4º) Definir un fichero índice.

                Se utiliza un fichero índice cuyos registros indican el byte de inicio de los registros del

                fichero original.

    5º) Colocar un delimitador al final de los registros.

     

                Elección de la Estructura

     

    - Existen diferentes aspectos que influyen en la elección de la estructura de un fichero: el

      lenguaje de programación, el tipo de operaciones que se implemente sobre el fichero.

     

    2.3   Acceso a la Información

     

                Modos de Acceso

     

    - La recuperación de la información puede ser de dos tipos:

                - Global, que recupera toda la información.

                - Selectiva, en donde se desea recuperar una parte de la información del fichero.

    - Mediante la utilización de la primera opción, el coste de los dos tipos de recuperación es

      equivalente, O(n).

    - La segunda opción debe conocer la posición de un registro en el fichero.

    - La recuperación selectiva con esta opción requiere el manejo de registros de tamaño fijo,

      obteniendo un coste O(1).

     

     

     

                Definición de Agrupamientos

     

    - El agrupamiento pretende almacenar lo más próximamente posible los registros que, de

      modo habitual, se acceden conjuntamente.

    - El agrupamiento se puede realizar dentro de un fichero o entre ficheros

     

    2.4   Actualización de la Información

     

    - Cuando se realizan diferentes operaciones de eliminación e inserción de información, puede 

      aparecer espacio no utilizado en el fichero.    

     

                Compactado de la Información

     

    - Esta opción es la más sencilla, siendo útil tanto para registros de tamaño fijo como variable.

    - Puede no ser una solución eficiente para fichero con un alto grado de actualización.

     

                Lista de Registros Disponibles

     

    - El borrado de registros debe de asegurar que el registro quede perfectamente marcado

      (elegir un carácter que se escriba al principio del registro) y que se puedan reutilizar estos

      registros, lo que se puede realizar de diferentes formas:

                - Acceso Secuencial al fichero (coste alto, no se suele utilizar).

                - Enlazar los registros borrados mediante una Lista.

     

                Lista en Registros de Longitud Fija

     

    - El carácter que marca el registro como borrado, aparece al principio del registro.

    - En este tipo de registros, la lista se forma a partir del número relativo de registro, grabado a

      continuación del carácter de borrado.

     

                Lista en Registros de Longitud Variable

     

    - La lista debe de contener el tamaño de cada uno de los registros que la componen.

    - El carácter de borrado aparece como primer carácter del primer campo del registro, es decir,

      a continuación del tamaño del registro.

    - El enlace entre los registros de la lista se realiza mediante la utilización de la posición física

      de los registros.

    - Dicha información aparece a continuación del carácter de borrado.

     

                Fragmentación Interna y Externa

     

    - La Fragmentación se define como el espacio asignado a un fichero en memoria secundaria

      que no puede ser utilizado para almacenar información.

    - La fragmentación puede ser de dos tipos:

                Interna, si el espacio aparece asignado a un registro.

                Externa, si el espacio aparece entre el asignado a dos registros.

    - El primer tipo aparece cuando se utilizan registros de longitud fija para almacenar datos de

      tamaño variable.

     

                Reducción de la Fragmentación Externa

     

    - La solución más sencilla es la Compactación de los ficheros, aunque es una solución muy

       costosa.

    - La solución más interesante es la utilización de Estrategias de Colocación que seleccionen el

       Hueco más adecuado en la lista.

     

                Estrategias de Colocación

     

    - La estrategia más sencilla es la del Primer Ajuste, que toma el primer espacio en el que

       quepa el nuevo registro, aunque no resuelve la problemática de la fragmentación externa.

    - Una solución es ordenar los espacios en orden de tamaño ascendente, de modo que en la

       búsqueda se obtenga el espacio de tamaño más similar.

    - Esta estrategia del Mejor Ajuste, puede tener un coste de inserción y borrado de la lista muy

       alto, y además los espacios libres pueden ser demasiado pequeños para su reutilización.

    - La ordenación descendiente reduce el coste del borrado, y además el tamaño del espacio

       libre resultante puede ser reutilizado.

    - Esta opción da lugar a la estrategia del Peor Ajuste.

     

                Conclusiones

     

    - Si la frecuencia de las operaciones de actualización es baja, la estrategia del primer ajuste es

       suficiente.

    - Cuando el problema se relaciona con la fragmentación interna, no debe ser utilizada la

       estrategia del peor ajuste.

    - Si aparece un problema de fragmentación externa, no debe utilizarse la estrategia del mejor

       ajuste.

     

     

          TEMA 3   ESTRUCTURAS DE ALMACENAMIENTO BÁSICAS

     

     

    3.1   Búsqueda de Información

     

                Definición de Clave

     

    - Normalmente se desea acceder a los registros que contienen cierta información en un campo

    - Este método de búsqueda de información se denomina Acceso por Clave.

    - Los valores en este campo deben de cumplir una serie de normas de almacenamiento que

       aseguren su localización, tales como:

                - Las cadenas de caracteres deben estar en mayúsculas, y sólo debe aparecer un

                  espacio en blanco entre palabras.

                - No deben aparecer espacios en blanco ni en los campos numéricos ni en los de fecha.

    - En estos casos se dice que la clave aparece en Forma Canónica.

     

                Búsqueda Secuencial y Búsqueda Binaria

     

    - El método de acceso más sencillo es la búsqueda secuencial, pero su coste es O(n).

    - Un método alternativo es la Búsqueda Binaria, cuyo coste es O(log n).

    - Este método requiere que los registros sean de tamaño fijo y que estén ordenados por el

       valor del campo clave asociado al proceso de búsqueda.

     

                Ordenación de un Fichero

     

    - La idea principal va a ser leer completa, o parcialmente, todos los registros, y

       posteriormente realizar la ordenación en memoria RAM.

     

                Ordenación en Memoria

     

    - La primera idea es leer todos los registros en un vector de cadena de caracteres que se puede

       ordenar en memoria.

    - Pero el orden de este vector de cadenas puede ser diferente al definido por la clave.

    - Para evitar este problema, se crea un segundo vector de caracteres, el índice, en el que

       aparece la clave de los registros y un puntero a la posición del registro en el anterior vector.

    - Es posible reducir el coste si se define un tercer vector que contiene únicamente los

       punteros antes mencionados.

     

                Conclusiones

     

    - La ordenación en memoria sólo es útil cuando el fichero es lo suficientemente pequeño

       como para poder almacenarse en memoria.

    - Todos estos hechos aconsejan definir una técnica que:

                - Reduzca el coste de acceso, a uno o dos accesos a disco, para cualquier clave.

                - La búsqueda de información no requiera ordenar los registros del fichero.

                - Las operaciones de actualización se realicen de modo eficiente.

     

    3.2   Definición y Manejo de Índices

     

                Concepto de Fichero Índice

     

    - Los Ficheros Índices se definen como un fichero cuyos registros son de tamaño fijo, en el

       que se almacena la clave del registro y un puntero a este registro.

    - Su utilización presenta una serie de ventajas:

                - Permite el uso de la búsqueda binaria tanto para ficheros de registros de tamaño fijo

                  como para los de tamaño variable.

                - El proceso de ordenación se restringe al fichero índice.

                - Es posible definir diferentes ficheros índice, cada uno de los cuales se asocia a una

                  clave de búsqueda.

    - Pero también presenta inconvenientes:

                - Las operaciones de actualización requieren la actualización de más de un fichero.

                - El orden establecido en los ficheros índices debe de mantenerse.

                - Si el fichero índice es demasiado grande para almacenarse en memoria, estas

                  operaciones pueden ser muy costosas.

     

                Tipos de Índices

    - Una primera clasificación es la siguiente:

                - Índice Denso, si contiene una referencia a todos los registros del fichero.

                - Índice no Denso, si sólo contiene referencia a un subconjunto de registros.

    - Otra posible clasificación es la siguiente:

                - Índice Primario, si contiene la clave primaria del fichero.

                - Índice Secundario, si contiene otra clave.

     

                Control contra Fallos del Sistema

     

    - Si no se produjera la actualización del índice por una fallo del sistema, este no reflejaría el

       estado real del fichero y por tanto debería de reestablecerse.

    - Para detectar esta posibilidad, en el registro de cabecera del fichero índice se introduce una

       bandera que indique esta situación:

                - La lectura del fichero, debería marcar el fichero como leído y no escrito.

                - Por su parte, la escritura debería modificar el valor de esta bandera.

    - La lectura debería controlar el estado de esta bandera, reconstruyendo el fichero índice si

       ésta indicara que ha sido leído y no reescrito.

     

    3.3   Índices Multinivel. Arboles B y B+

     

                Índices Multinivel

     

    - Cuando un fichero índice es demasiado grande para almacenarse en memoria RAM, su

       gestión puede resultar muy costosa.

    - Estos problemas también surgen si no es posible almacenar en memoria todos los ficheros

       índice de un fichero.

    - La solución a estos problemas es la definición de un índice no denso sobre el fichero índice

       en cuestión.

    - De este modo se define un índice multinivel, compuesto por un conjunto de índices no

       densos que actúan sobre un índice que puede ser denso o no denso.

     

                Propiedades de los Arboles B

     

    - Se define el orden de un árbol B como el número máximo de hijos de una página.

    - Por su parte la hoja de un árbol B como el nivel más bajo de la estructura.

    - Así un árbol B de orden m cumple que:

                - Una página puede referenciar m páginas hijo como máximo.

                - Toda página, except