Conceptos fundamentales de estructuras de archivos - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Conceptos fundamentales de estructuras de archivos

Description:

Primero se debe construir el registro y s lo en ese instante se puede escribir al ... En binario o en asccii ... se procura no utilizar espacios como separadores si ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 20
Provided by: AnaLi77
Category:

less

Transcript and Presenter's Notes

Title: Conceptos fundamentales de estructuras de archivos


1
Conceptos fundamentales de estructuras de archivos
  • Almacenamiento y Recuperación de Información

2
Organización por campos y registros
  • La intención de escribir archivos es la de volver
    persistentes los datos.
  • Esta propiedad implica que los datos puedan ser
    utilizados por otros programas. (posiblemente
    recreando su estructura original).
  • La unidad básica de información es el campo, que
    contiene un solo valor.

3
  • Los campos se organizan de varias formas
  • Instancias del mismo tipo (arreglos).
  • Instancias de conjuntos de valores de diferentes
    tipos (registros).
  • Cuando el registro es almacenado en la memoria
    también se le suele llamar estructura u objeto y
    sus campos se llaman miembros.

4
  • Imagine que tenemos una estructura con varios
    miembros (nombre, dirección, teléfono). Qué pasa
    si los escribimos en un archivo?
  • Si no tenemos cuidado, no se podría distinguir
    entre campos y registros y sería imposible
    recuperar las estructuras originales.
  • De aquí que surja la necesidad de organizar los
    campos en un archivo.

5
Formas de organización en archivos
  • Hacer que los campos tengan longitud predecible.
  • Comenzar cada campo con un indicador de longitud.
  • Colocar un separador al final de cada campo
  • Utilizar representaciones de la forma dato
    valor, con el fin de identificar cada campo y
    su contenido.

6
Método 1 fijar la longitud de los campos
  • Es muy fácil recuperar la información del
    archivo, cuando sabemos cuanto mide cada registro
    y cada campo.
  • Sin embargo pueden presentarse los siguientes
    problemas
  • Si el espacio destinado a un campo es grande
    puede desperdiciarse espacio.
  • Caso contrario los datos no caben.

7
Método 2 comenzar cada campo con un indicador de
longitud
  • Si se agrega la longitud continúa siendo fácil
    recuperar la información.
  • Si los campos no son muy grandes (menos de 256
    bytes) es posible almacenar la longitud en un
    sólo byte al comienzo de cada campo.

8
Método 3 separar los campos con delimitadores
  • Si agregamos los separadores, estos se deben
    poder distinguir de los datos, por lo cual la
    selección del separador es importante.
  • Por ejemplo, se procura no utilizar espacios como
    separadores si los datos son frases de más de una
    palabra.

9
Método 4 uso de llavevalor
  • Este método tiene una ventaja sobre las otras, y
    es que es una estructura cuyo campo proporciona
    información sobre el mismo.
  • Es fácil decir que campos están contenidos en un
    archivo. Este formato se utiliza con el formato
    de delimitador de campos.
  • Esto es útil en el sentido de que se muestra la
    división entre el valor y la llave.
  • Desafortunadamente este formato desperdicia mucho
    espacio aproximadamente el 50 o más se utiliza
    para las llaves, sin embargo hay aplicaciones
    donde este formato no demanda mucho overhead.

10
Formas de Organización para los registros
  • De forma similar se deben organizar los registros
    en un archivo y existen al menos 5 formas de
    hacerlo
  • 1. Requerir que los registros sean de una
    longitud en bytes predecible.
  • 2. Requerir que los registros sean de una
    longitud en campos predecible.
  • 3. Comenzar con un indicador de la longitud en
    bytes de un registro.
  • 4. Usar delimitadores para separar un registro de
    otro

11
Método 1 hacer que los registros tengan un
tamaño predecible en bytes
  • Cada registro contiene el mismo número de bytes
    Este método para reconocer los registros es
    análogo al método para reconocer los campos. Es
    uno de los métodos más comunes para organizar
    archivos.
  • Ejemplos son el struct de C y la clase de C.
  • Es importante hacer hincapié que fijar el numero
    de bytes para un record, no implica que el tamaño
    de los campos en un record sea fijo.

12
Método 2 hacer que los registros tengan un
número predecible de campos
  • En vez de que cada registro de un archivo esta
    constituido por un número fijo de bytes, podemos
    especificar que contendrá un número fijo de
    campos.

13
Método 3 comenzar cada registro con un indicador
de longitud
  • El número indica el número de bytes en el
    registro.
  • Es un método utilizado para registros de longitud
    variable.

14
Método 4 utilizar un archivo para mantener la
pista de las direcciones
  • Se utiliza un archivo secundario (índice) donde
    se almacena el estado de los bytes de cada
    registro del archivo original.
  • Mantener esta pista nos permite encontrar el
    comienzo de cada registro sub-secuente y calcular
    la longitud de cada registro.
  • Vemos cual es la posición del registro en el
    archivo índice, después buscamos el registro en
    el archivo de datos.

15
Método 5 colocar un delimitador al final de cada
registro
  • Esta opción es análoga a la solución de los
    campos, hay que tener cuidado con la elección del
    delimitador (debe ser diferente al delimitador
    del que se use en los campos).
  • OBSERVE QUE NINGÚN MÉTODO ES MEJOR QUE LOS DEMÁS
    PARA UNA SITUACIÓN CUALQUIERA.

16
Una estructura de registro que usa un indicador
de longitud
  • Note que si deseamos colocar un indicador de
    longitud al principio de cada registro (es decir
    antes que sus campos) debemos conocerla de
    antemano.
  • Primero se debe construir el registro y sólo en
    ese instante se puede escribir al archivo.
  • A este procedimiento se le conoce como buffer.
  • Cómo se escribe esa longitud?
  • En binario o en asccii.

17
  • Cualquier notación que se escriba debe ser
    posible distinguirla del resto del archivo.
  • Particularmente observe que el número 65 puede
    quedar representado como los caracteres 0x36,
    0x35 o bien como el carácter 0x41 (A).
  • Los buffers también se pueden utilizar en la
    lectura, para leer un registro completo cada
    ocasión

18
  • Finalmente una última nota de precaución
  • Si se va a utilizar una representación binaria,
    recuerde que no todos los sistemas representan
    los números de la misma forma. La pareja de bytes
    0x01, 0x02 pueden significar 258 en algún sistema
    y 513 en otro sistema y el problema se agrava al
    utilizar 4 o más bytes.

19
  • fin
Write a Comment
User Comments (0)
About PowerShow.com