El objetivo de este tema es dar unas nociones básicas del ......En un fichero secuencial ordenado,...

23
02/02/2012 1 El objetivo de este tema es dar unas nociones básicas del fichero electrónico.

Transcript of El objetivo de este tema es dar unas nociones básicas del ......En un fichero secuencial ordenado,...

  • 02/02/2012

    1

    El objetivo de este tema es dar unas nociones básicas del fichero

    electrónico.

  • 02/02/2012

    2

  • La idea central es que la "forma" del archivo la determina el estado

    tecnológico del momento.

    A partir de ahora hablaremos de lo que se conoce como almacenamiento

    secundario. Existe, en computación, lo que se conoce como

    almacenamiento primario y terciario, además.

    02/02/2012

    3

  • La cinta fue un gran avance respecto de la tarjeta perforada. No deja de

    ser un soporte analógico que necesita convertir la señal a un formato

    discreto que represente la información binaria.

    La cinta, básicamente, va hacia adelante y hacia atras. De otra forma,

    encontrar un dato implica empezar desde el principio e ir leyendo hasta

    llegar a lo buscado. Todo lo más, se puede ir hacia atrás y hacer lo

    mismo, todo depende de lo sofisticado que sea el controlador del

    cacharro.

    02/02/2012

    4

  • El bloque determina la cantidad mínima de información que se transfiere

    del disco duro a la RAM. Esto implica que cuando solicitamos un dato

    concreto no recuperamos solo eso sino todo el bloque y, ya en RAM, es

    cuando lo localizamos y usamos. Es más eficiente que hacerlo byte a

    byte (¿por qué?)

    02/02/2012

    5

  • 02/02/2012

    6

  • El tipo de fichero y organización más básico. De hecho, se puede decir

    que no hay estructura

    02/02/2012

    7

  • Ahora el fichero tiene una estructura, el registro, que a su vez se define

    por sus campos.

    02/02/2012

    8

  • El primer ejemplo, simple: al ser todos los registros y campos del mismo

    tamaño es fácil recuperar la información (¿por qué?). El problema es el

    espacio malgastado y que, seguramente, ciertos datos no nos cabrán.

    Tiene más sentido incluso en un disco duro puesto que podemos pedir al

    sistema operativo que se posicione en un punto concreto del fichero. En

    cinta, es posible que también, siempre que las bobinas se muevan con

    cierta precisión.

    En el segundo ejemplo (cuidado, se supone que el espacio de cada dato

    está asociado a su tipo, los ejemplos usan intencionadamente cadenas de

    caracteres todo el tiempo para que se vea más claro): aquí hemos

    redefinido el campo de la ciudad, hemos sido más generosos con el tipo

    de datos para que nos cupiera San Vicente del Raspeig, asumiendo que

    lo que gastamos de más con una definición de string más largo lo

    ahorraremos en otros registros.

    Hay más formas de montar la estructura del registro, la más obvia es la

    mezcla de campos de longitud fija y variable.

    02/02/2012

    9

  • Nuestro programa solicita una operación sobre un fichero al SO, éste

    busca en el disco y localiza, devolviendo los datos a la RAM del

    ordenador, donde el programa los manipula. Las operaciones posibles

    son leer y escribir (borrar, puede hacerse de varias formas y no

    necesariamente de forma física, marcando para reorganización

    posterior...) El detalle importante es que el SO recupera bloques (es

    habitual leer datos cercanos al primero, el disco duro es el dispositivo más

    lento que el procesador y la RAM y se necesita dejar al mínimo los

    accesos a disco duro...) y no registros individuales. Es en RAM donde se

    accede a un registro concreto.

    El proceso por bloques tiene un efecto importante en el espacio

    "malgastado", otro factor a tener en cuenta cuando se organiza un

    fichero.

    02/02/2012

    10

  • La organización de un fichero, dentro de las posibilidades que nos da el

    SO, es decisión nuestra, cómo queremos mantener la información en

    función de si queremos optimizar la generación de listados o las altas y

    bajas, por ejemplo.

    02/02/2012

    11

  • Se inserta, simplemente, al final del fichero.

    02/02/2012

    12

  • En un fichero secuencial ordenado, cuando quiero insertar un dato, debo

    "hacerle sitio" en el punto correcto del fichero. Los borrados pueden

    seguir siendo marcas lógicas, no borrados físicos.

    02/02/2012

    13

  • La organización aleatoria o directa asume que hay una cantidad máxima

    de registros y que cada registro tiene un "sitio reservado" dependiendo de

    su clave de identificación.

    02/02/2012

    14

  • El hashing es más flexible que el directo puro (que no deja de ser un

    hashing básico) porque permite almacenar más valores clave. El

    problema son las colisiones, para lo que hay varias técnicas que lo

    solucionan, aunque suponen una degradación del rendimiento del acceso

    y mantenimiento del fichero.

    02/02/2012

    15

  • La organización indexada es más flexible. Se basa en que, aparte del

    fichero de datos, existe un fichero de índice que se utiliza para localizar

    con rapidez el registro buscado.

    Hay distintos tipos de índices que favorecen las inserciones o las

    consultas y que determinan si el fichero de datos ha de estar ordenado o

    no. Téngase en cuenta, nuevamente, que desde el disco duro no

    recuperamos un único registro sino una página que contiene un número

    más o menos elevado de ellos, con la esperanza de que nuestras

    siguientes peticiones ya estén cargadas en RAM o en un buffer y no

    tengamos que "mover" nuevamente el disco.

    02/02/2012

    16

  • Los índices no densos obligan a que el fichero de datos esté ordenado

    por una clave.

    02/02/2012

    17

  • El índice es más pequeño y la búsqueda en él más rápida.

    02/02/2012

    18

  • Se busca ayudar al algoritmo de búsqueda binaria restringiéndola

    sucesivamente a menos datos.

    02/02/2012

    19

  • Con algoritmos bastante más complicados de mantenimiento de esta

    estructura, la consulta, inserción y borrado son mucho más rápidas. Hay

    que situarse en un contexto de ficheros que estén almacenando miles de

    registros para entender que está nueva organización de índices sea

    realmente rentable frente a las anteriormente vistas. En ficheros con

    muchas actualizaciones es necesario hacer una reorganización periódica

    de los índices.

    02/02/2012

    20

  • Esta página pretende ser una miniguía, minipista, de por donde van a ir

    las preguntas del cuestionario

    02/02/2012

    21

  • Esta página pretende ser una miniguía, minipista, de por donde van a ir

    las preguntas del cuestionario

    02/02/2012

    22

  • 02/02/2012

    23