Beruflich Dokumente
Kultur Dokumente
Viene a ser la forma como se colocaran o ubicaran los registro dentro del archivo y
las relaciones que se podrán establecer entre ellos para una mejor manipulación de
su contenido; es decir se establecerá la estructura interna del archivo y la
vinculación entre las partes que la conforman.
Podemos mencionar cuatro formas de colocar los registros en el archivo:
• Secuencial
• Relativa
• Indexada
• Multillave.
ORGANIZACIÓN DE ARCHIVOS
“n” registros
n-1
ORGANIZACIÓN DE ARCHIVOS
Alumno
Cod nom ape Telef fec_nac
Proceso
Dirección
ORGANIZACIÓN DE ARCHIVOS
Código
Dirección
ORGANIZACIÓN DE ARCHIVOS
“n” registros
n-1
<eof>
Cuando se coloquen en el soporte físico, esto se ubicaran uno a continuación de
otro, formando un “tren” de registros.
0
1 Reg 0 Reg 1 Reg 2 ……… Reg n - 1
2
“n” registros
“n”
registros
n-1
<eof>
ESTRUCTURACIÓN DE ARCHIVOS
REGISTRO DE DATOS: Una vez que se coloca toda la información en el archivo, esta
se convierte en una secuencia de bytes, perdiéndose la integridad de las unidades
de información; ya que ni habrá forma de reconvertirla en información nuevamente
si es que no contamos con un molde o estructura que nos indique el inicio y el final
de cada unidad de información.
Cuando se efectúa la definición de un registro se tiene que saber que campos son
los que integraran y de que tipo son cada uno de ellos, para determinar cual será la
longitud del registro, en base al tamaño de cada campo.
Los tipos de datos mas comunes que podemos manejar en un registro son: Datos
Numéricos, Datos Alfanuméricos.
• Archivos con Registros de Longitud Fija: todos los registros del archivo
tienen la misma longitud, lo que facilita la tarea de saber, en la secuencia de
bytes, donde comienza y donde termina cada registro, lo único que debe
saber el programa es posicionarse al inicio del registro y tomar la cantidad
de bytes que ocupa el registro. Al definir este tipo de registros se deberá
establecer para cada campo una cantidad fija de bytes, con lo que el
tamaño del registro será su suma. Así por ejemplo, si tenemos un registro
de alumnos como el que se implementa a continuación vamos a necesitar
10 bytes para el código, 50 para el nombre, 2 para la edad y 4 para el
promedio ponderado, lo que hace un total de 66 bytes para cada registro de
datos.
struct Alumno
{
char cod[10];
char nombre[50]; Registro de longitud fija de 66 bytes, en este
int edad; caso el registro cabecera , se le considerara un
float pp; tamaño de 15 bytes.
};
Registro Cabecera
0
1 Reg 0 Reg 1 Reg 2 ………… = NRR
0 15 81 147 <=
Direcci
n-1 on
<eof>
66 bytes
Si utilizamos registros de longitud fija, el programa se puede valer del NRR de los
registros para localizarlos rápidamente, así, si queremos el registro con NRR=30, lo
que hará el programa será multiplicar este numero por el tamaño del registro y
sumarle el tamaño del registro cabecera, obteniendo así la dirección del registro
solicitado, con lo que podrá dirigirse directamente hacia el y recuperarlo.
dir = 30 * 66 + 15
=> dir =1995
Esto significa que el registro con NRR = 30 estará ubicado en la posición 1995,
contando desde el inicio del archivo por lo que el programa se posicionara en el
byte 1995 y tomara 66 bytes del archivo de datos.
Registro Cabecera
0
Reg 0 Reg 1 Reg 2 ………… = NRR
1
15 bytes 80 bytes 64 bytes 116 bytes ……… <eof>
2
n-1
<eof>
………… = NRR
Reg 0 Reg 1 Reg 2
15 bytes 80 64 116 ……… <eof>
15 <= Direccion
0 97 163
………… = NRR
Reg 0 Reg 1 Reg 2
15 bytes \n \n \n ……… <eof>