PDF de programación - 2 Archivos - Fundamentos de Programación II

Imágen de pdf 2 Archivos - Fundamentos de Programación II

2 Archivos - Fundamentos de Programación IIgráfica de visualizaciones

Publicado el 24 de Septiembre del 2020
78 visualizaciones desde el 24 de Septiembre del 2020
722,8 KB
103 paginas
Creado hace 7a (12/02/2013)
Fundamentos de Programación II
Fundamentos de Programación II

2 Archivos
2. Archivos

Luis Rodríguez Baena (luis.rodriguez@upsam.es)

Universidad Pontificia de Salamanca
Escuela Superior de Ingeniería y Arquitectura

Concepto de archivo

 Necesidad de almacenar los datos en dispositivos de memoria auxiliares (discos)

que mantengan la información de forma permanente.

ó

 Necesidad de poder tratar grandes cantidades de información de forma

fraccionada de forma que la memoria central pueda tratarlas.

 Limitaciones de los arrays.

● Carácter finito.

 Definen su tamaño en tiempo de compilación y no se puede modificar a lo largo de la ejecución

de un programa.
de un programa.

 El tamaño de la memoria es limitado.

● Los archivos tienen una cardinalidadvirtualmente infinita.

 Toman o liberan espacio de almacenamiento en tiempo de ejecución.
 En realidad el tamaño está limitado por el tamaño de los dispositivos de almacenamiento y el

ñ

ñ

á

sistema operativo.
● Carácter temporal.

 Los arrays guardan información no permanente.

y g

p

○ Su tiempo de vida máximo es el tiempo de vida de la aplicación en memoria.

● Los archivos permiten almacenar información de forma permanente.

 No es necesario carga la información.
 Es posible intercambiar información de forma fácil entre programas
 Es posible intercambiar información de forma fácil entre programas.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

2

Concepto de archivo (II)

 El tipo de dato archivo.
 El tipo de dato archivo.

● Archivo: colección ordenada de datos homogéneos almacenada

en un dispositivo externo.
 El di
 El dispositivo podrá ser un soporte de almacenamiento auxiliar (disco) o

)
cualquier flujo de información de entrada o salida (teclado, impresora,
pantalla, puertos serie, memoria, etc.).

d á

(di

i i

ili

● Es un dato estático.

E
 Aunque el tamaño de un archivo en disco puede variar en función de la

á i

d

información contenida, desde el punto de vista de la memoria, se
considera un dato estático.

á

d

l

i

 Un archivo ocupará en memoria un tamaño fijo, correspondiente al
bufferempleado para la comunicación entre el disco y la memoria
i
principal.
l
○ A diferencia de los arrays, sólo se almacenará en la memoria principal un

i

fragmento del archivo almacenado en disco.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

3

Estructura lógica

 Hace referencia a la forma en que un algoritmo ve al archivo.
 Hace referencia a la forma en que un algoritmo ve al archivo.
 Un archivo está compuesto por una colección de datos

homogéneos
homogéneos.
● Cada vez que se realiza una operación de entrada o salida en un

archivo, se lee o se escribe uno de esos datos.
 A la cantidad mínima de información que se puede leer o escribir en un archivo

se le denomina registro.

● El concepto de registro es distinto de la estructura de datos de tipo
● El concepto de registro es distinto de la estructura de datos de tipo

registro.
 La información que se lee o escribe podrán ser enteros, reales, cadenas,

caracteres, o estructuras de datos de tipo registro.
○ Habrá archivos de enteros, de caracteres, de cadenas (si el registro son datos simples)

o de personas, de estudiantes o de cualquier dato de tipo registro o estructura.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

4

Estructura lógica (II)

t

t

)

 Cuando el tipo base de un archivo es un dato de tipo registro (una

d á d

estructura), se podrá descomponer en datos más elementales: campos.
● Por ejemplo, un archivo de personas podrá estar compuesto por registros de tipo
persona con información sobre su DNI, sus apellidos, su nombre, su provincia de
residencia o su teléfono.

d t

t l

á

l

● Dentro de los campos pueden existir determinados campos clave.

 Campos que identifican un registro dentro de un archivo.

○ Clave primaria (primarykey, PK).

− Identifica un registro de forma unívoca.
Identifica un registro de forma unívoca.
− No admite duplicados.
− Por ejemplo, el DNI.

○ Claves alternativas o secundarias (foreign key, FK).

lt
alternativas.

ti

− Pueden tener o no duplicados.
− Por ejemplo, la provincia de residencia o los apellidos.

○ Claves compuestas.

− Permiten realizar otros procesos como ordenaciones por distintos campos o búsquedas

− Tanto las claves primarias como las alternativas se pueden obtener por la combinación de
Tanto las claves primarias como las alternativas se pueden obtener por la combinación de
distintos campos

− Por ejemplo, una clave posible podría estar formada por los apellidos y el nombre de la

persona.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

5

Estructura lógica (III)

d d

 Base de datos.

B
● De forma simplificada podemos

considerar una base de datos
como una colección de archivos.

● Conjuntos de información

relacionada.

● Cada conjunto (tabla) estará a su
vez compuesta de registros (tuplas
o filas) y campos (columnas).
)

) y

p

(

● Los conjuntos estarán relacionados

d

por claves externas que permiten
acceder a la información de una
a
a ó d u a
tabla con los datos de otra: bases
de datos relacionales.

a a

o

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

6

Estructura física

La estructura física hará referencia a la forma en que
La estructura física hará referencia a la forma en que

el sistema operativo ve el archivo.

Registro lógico (registro)
Registro lógico (registro).

● Unidad mínima de información a la que puede acceder un

programa
programa.

Registro físico (bloque).

● Unidad mínima de información que puede transferirse

d i f

id d

í

i



d

f

i

desde el soporte de almacenamiento a la memoria en una
operación de entrada salida
operación de entrada salida.

● Desde el punto de vista físico, el archivo está compuesto

por registros físicos o bloques
por registros físicos o bloques.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

7

Estructura física (II)

 Cuando el algoritmo solicita una operación de lectura o
 Cuando el algoritmo solicita una operación de lectura o
escritura en un archivo el sistema operativo no lee un
registro lógico.
● Se lee un bloque o registro físico que se almacena en un área de

memoria intermedia (buffer).
 Esa área de memoria será la zona de memoria identificada por la
 Esa área de memoria será la zona de memoria identificada por la

variable de tipo archivo.

● El programa lee los registros lógicos desde el buffer.

 Una vez almacenada la información en el buffer se transfiere el registro
 Una vez almacenada la información en el buffer, se transfiere el registro

lógico a la memoria del ordenador dónde puede acceder el algoritmo
leyendo los registros lógicos.

 Si se realiza otra operación de lectura se busca la nueva información en
 Si se realiza otra operación de lectura, se busca la nueva información en

el buffer.
○ Si se encuentra, se realiza la transferencia al registro lógico.
○ Si no se encuentra en el buffer se realiza otra operación de lectura física
○ Si no se encuentra en el buffer, se realiza otra operación de lectura física.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

8

Estructura física (III)

Archivo en disco formado por los campos DNI y nombre

234567C

Pérez

33434F

Ríos

34567A

Gómez

676856Y

García

678765U Buendía

454346I

Font

El programa hace una operación
El programa hace una operación
de lectura: se lee un bloque (2 y
pico registros lógicos)

234567C

Pérez

Bloque
33434F

Ríos

34567A

q

El bloque leído se almacena en la
memoria intermedia (buffer)

Registros lógicos en la memoria principal del ordenador
y accesible por el algoritmo

234567C
Pérez
El programa lee del
bloque un registro
lógico y lo almacena
en la memoria
principal

33434F

Ríos

En la siguiente
operación de lectura
que haga el
programa, no se
leerá del disco, sino
del bloque

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

9

Estructura física (IV)

Factor de bloqueo
Factor de bloqueo.

● Mide la relación entre los registro físicos y lógicos.

Número de registros lógicos por bloque
Número de registros lógicos por bloque.

● Tres casos:

Archivos bloqueados (factor de bloqueo

Archivos bloqueados (factor de bloqueo > 1).
1).
Archivos no bloqueados (factor de bloqueo = 1).
Archivos expandidos (factor de bloqueo < 1).

● Bloqueo fuerte. Se aprovecha el espacio sobrante.
● Bloqueo débil. El espacio sobrante no se aprovecha.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2013

10

Estructura física (V)

 Importancia del factor de bloqueo.
 Importancia del factor de bloqueo.

● El acceso a dispositivos externos es más costoso que el acceso a

la memoria interna.
 Al
 Al acceder a los registros lógicos a partir de la información almacenada

i d l

ló i

i f

d



l

l

i

en el buffer, se optimiza el acceso a la información.

● En teoría un factor de bloqueo mayor acelerará los procesos de

entrada/salida.
 Con un factor de bloqueo grande cada operación de E/S cargará más
información y, por lo tanto, habrá que acceder menos veces al disco.
q
○ Los accesos a disco son más lentos.

y, p

,

d

 Esto sólo es cierto cuando se desea acceder a toda la información de un

archivo.
○ Si se quiere acceder a los registros en orden aleatorio, un tamaño de bloque
mayor también implicará un tiempo mayor para transferir la información a la
memoria pero no ahorrará acceso
  • Links de descarga
http://lwp-l.com/pdf18251

Comentarios de: 2 Archivos - Fundamentos de Programación II (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad