Estructura Jerárquica

Anuncio
Fundamentos de
Programación
Archivos (Ficheros)
Noción de Archivo (Fichero):
Estructura Jerárquica
Las estructuras enunciadas hasta el momento se
almacenan en la memoria principal. Sin
embrago, no siempre es posible almacenar los
datos en la memoria central o principal de la
computadora, debido a las limitaciones que su
uso plantea:
• Limitación de capacidad de la memoria
principal.
• Tiempo encendida la máquina o ejecutando el
programa
2
Noción de Archivo (Fichero):
Estructura Jerárquica
Estas limitaciones dificultan:
• Manipulación de gran número de datos.
• La trasnmisión de salida de resultados de un
programa puede ser tratada como entrada a
otro programa.
3
Noción de Archivo (Fichero):
Estructura Jerárquica
Para poder superar estas dificultades se necesitan
dispositivos de almacenamiento secundario
(memorias externas o auxiliares) como cintas,
discos magnéticos, etc., donde se almacenará
la información o datos que podrá ser
recuperada para su tratamiento posterior. Las
estructuras de datos aplicadas a colección de
datos en almacenamientos secundarios se
llama organización de archivos.
4
Noción de Archivo (Fichero):
Estructura Jerárquica
La noción de archivo o fichero está relacionada
con los conceptos de:
• Almacenamiento permanente de datos
• Fraccionamiento o partición de grandes
volúmenes de información en unidades más
pequeñas que puedan ser almacenadas en
memoria central y procesadas por un programa.
5
Noción de Archivo (Fichero):
Estructura Jerárquica
Un archivo o fichero es un conjunto de datos
estructurados en una colección de entidades
elementales o básicas denominadas registros o
artículos, que son de igual tipo y cosntan a su
vez de diferentes entidades de nivel más bajo
denominados campos.
6
Conceptos y definiciones =
Terminología
• Clave
• Registro físico o bloque
• Factor de bloqueo
7
Soportes secuenciales y
direccionables
El soporte es el medio físico donde se almacenan
los datos. Los tipos de soporte utuilizados en la
gestión de archivos son:
• Soportes secuenciales
• Soportes direccionables
8
Organización de Archivos
Según las características del soporte empleado y
el modo wen que se han organizado los
registros, se consideran dos tipos de acceso a
los registros de un archivo:
• Acceso secuencial
• Acceso directo
9
Organización de Archivos
La organización de un archivo define la forma en
la que los registros se disponen sobre el
sioporte de almacenamiento, o también se
define la organización como la forma en que se
estructuran los datos en un archivo. En general,
se
consideran
tres
organizaciones
fundamentales:
• Organización secuencial
• Organización directa o aleatoria (random)
• Organización secuencial indexada (indexed)
10
Operaciones sobre Archivos
Las distintas operaciones que se pueden realizar son:
• Creación
• Consulta
• Actualización (altas, bajas, modificaación, consulta)
• Clasificación
• Reorganización
• Destrucción (borrado)
• Reunión, fusión
• Rotura, estallido
11
Gestión de Archivos
Las operaciones sobre los archivos se realizan
mediante programas y el primer paso para
poner gestionaar un archivo mediante un
programa es declarar un identificador lógico que
se asocie al nombre externo del archivo para
permitir su manipulación. La declaración se
realizará con una serie de instrucciones como
las que se muestran a continuación, cuya
asociación permite establecer la organuización
del archivo y estructura de sus registros lógicos.
12
Borrar Archivos
La instrucción de borrar tiene como objetivo la
supresión de un archivo del soporte o
dispositivo. El espacio utilizado por un archivo
borrado puede ser utilizado para otros archivos.
La información necesaria para eliminar un archivo
es:
• Nombre del dispositivo y número del canal de
comunicación
• Nombre del archivo
13
Borrar Archivos
Los errores que se pueden producir son:
• El archivo no se puede encontrar bien porque el
nombre no es válido o porque nunca existió.
• Otros usuarios estaban actuando sobre el
archivo y estaba activo.
• Se detectó un problema de hardware.
14
Flujos
Existen lenguajes d eprogramación que realizan
operaciones en archivos a través de flujos,
manipulados por clases, que conectan con el
medio de almacenamiento.
De esta forma, para crear y abrir un archivo, se
requiere utilizar una clase definida la
funcionalidad del flijo.
15
Flujos
Los flujos determinan la sentido de la
comunicación
(lectura,
escritura
o
lectura/escritura),
la
posibilidad
de
posicionamineto directo o no en determinado
registro y la forma de leer o escribir en el
archivo.
Cerrar un archivo implica cerra el flujo.
16
Mantenimientos de Archivos
La operación de mantenimiento de un archivo
incluye todas las opèraciones que sufre un
archivo durante su vida y desde su creación
hasta su eliminación o borrado.
El mantenimiento de un archivo consta de dos
operaciones diferentes:
• Actualización
• Consulta
17
Mantenimientos de Archivos
La actualización es la operación de eliminar o
modificar los datos ya existentes, o bien
introducir nuevos datos. En esencia, es la
puesta al día de los datos del archivo.
Las operaciones de actualización son:
• Altas
• Bajas
• Modificaciones
18
Procesamiento de Archivos
secuenciales (algoritmos)
Los archivos secuenciales terminan con una
marca final de archivo (FDA o EOF). Cuando se
tenga que añadir registros a un archivo
secuencial se añadirá al final, inmediatamente
pordelante de las marcas fin de archivos.
Es característico de este tipo de archivos el no
poder ser abiertos para operaciones de
lectyra/escritura simultáneamente
19
Archivos de Texto
Los archivos de texto son un caso particular de
archivos de organización secuencial. Un archivo
de texto es una serie contínua de caraceres que
se pueden leer uno tras otro.
Un archivo de texto es un archivo en el que cada
registro es del tipo de cadena de caracteres.
El tratamiento de archivos de texto es elemental y
en el caso de lenguajes como Pascal es posible
detectar lectura de caracteres especiales como
fin de línea o fin de archivo.
20
Procesamiento de Archivos directos
(algoritmos)
Se dice que un archivo es aleatorio o directo
cuando cualquier registro es directamente
accesible mediante la especificación de un
índice, que da la posición del registro respectoal
origen del fichero. Los archivos aleatorios o
directos tienen una gran rapidez para el acceso
comparados con los secuenciales; los registros
son fáciles de refernciar – número de orden del
registro- , lo que representa una gran facilidad
de mantenimiento.
21
Procesamiento de Archivos
Secuenciales Indexados
Los archivos de organización secuencial indexada
conmtienen tres áreas: un área de datos que
agrupa a los registros, un área índice que
contiene los niveles de índice y una zona de
desbordamiento o excedentes para el caso de
actualizaciones con adición de nuevos registros.
22
Procesamiento de Archivos
Secuenciales Indexados
Los
registros
han
de
ser
grabados
obligatoriamnete
en
orden
secuencial
ascendente por el contenido del campo clave y,
simultáneamente a la grabación de los registros,
el sistema crea los índices.
En este tipo de organización se puede usar claves
compuestas por una primaria y una o varias
secundarias.
23
Preguntas de Repaso
1. Escribir un algoritmo que permita la creación e
introducción de los primeros datos en un
archivo
secuencial
PERSONAL,
que
deseamos almacene la información mediante
registros que contenga los datos personales
del empleado.
2. Supuesto que deseamos añadir nueva
información
al
archivo
PERSONAL,
anteriormente creado, diseñar el algoritmo
correspondiente.
24
Preguntas de Repaso
3. Diseñar un algoritmo que muestre por pantalla el
contenido de todos los registros del archivo
PERSONAL
4. Un librería almacena en un archivo secuencial la
siguiente información sobre cada uno de sus libros:
CODIGO, TITULO, AUTOR y PRECIO.
El archivo está ordenado ascedentemente por los
códigos de los libros – de tipo cadena-, que no pueden
repetirse.
Se precisa un algoritmo con las opciones: Insertar y
Consulta (por el campo código)
25
Descargar