Tema 1

Tipos de ficheros

INDICE
1. INTRODUCCIÓN A LOS FICHEROS DE DATOS
1.- Conceptos básicos 2.- Diseño de registros 3.- Conceptos de organización y modo de acceso 4.- Algunas consideraciones sobre el hardware. 5.- Medidas de utilización de ficheros. 6.- Operaciones con ficheros. 7.- Tipos de ficheros según su función

2. FICHEROS CON ORGANIZACIÓN SECUENCIAL
1.- Características de la organización secuencial 2.- Ventajas e inconvenientes de la organización secuencial: 3.- Utilización de ficheros con organización secuencial. 4.- Variantes de la organización secuencial.

3. ORGANIZACIÓN SECUENCIAL-INDEXADA.
1.- Características de la organización secuencial-indexada. 2.- Estructura de los ficheros con organización secuencial-indexada. 3.- Índices a varios niveles. 4.- Ventajas e inconvenientes de la organización secuenciaL indexada

4. ORGANIZACIÓN DIRECTA (RAMDOM, ALATORIA, RELATIVA)
1.- Características de la organización directa. 2.- Clasificación de las técnicas de direccionamiento 3.- Ventajas e inconvenientes de la organización directa

INTRODUCCIÓN A LOS FICHEROS DE DATOS
1.- Conceptos básicos • Podemos definir un fichero informático como un conjunto de registros, grabados sobre un soporte que pueda ser leído por el ordenador (cintas, discos). • Para comprender mejor el funcionamiento de los ficheros informáticos podemos utilizar un símil de estos. El símil más común de los ficheros es el concepto de los archivadores de fichas de cartón. La información de cada carpeta o ficha compone un registro, y cada una de las informaciones elementales que contiene la ficha es lo que le llamaremos campo.

Para cada empleado se tiene una ficha que podría tener el formato siguiente: .• Por ejemplo: Consideremos un archivador manual que contiene las fichas con los datos de los empleados de una empresa.

La clave puede estar formada por más de un campo. . El campo sería cada una de las informaciones elementales que se tienen de un empleado como por ejemplo: APELLIDOS. facilitando el acceso a una ficha determinada se les conoce con el nombre campo clave. NOMBRE.. en el archivador de empleados podrían estar ordenadas alfabéticamente por los apellidos. A estos campos que me permiten identificar una ficha y diferenciarla de las demás. de forma que si queremos buscar la ficha de un empleado bastaría con saber sus apellidos y lo buscaríamos en la posición que le corresponda por orden alfabético.Ejemplo (Continuación) • • El registro sería toda la información correspondiente a un empleado. .. Por ejemplo. Para facilitar la búsqueda de una ficha determinada lo más normal es tener el fichero clasificado por alguna de las informaciones que aparecen en la ficha y que tienen valores diferentes en los registros. CATEGORÍA.

Normalmente la clave primaria toma un valor diferente para cada registro. . La cantidad de información que es transferida entre el soporte en el que se almacena el fichero y la memoria principal del ordenador en una sola operación de lectura/grabación recibe el nombre de registro físico o bloque. de forma que una de ellas se considera la clave principal o clave primaria y al resto de las claves se les llama claves secundarias o claves alternativas. mientras que las claves alternativas pueden tener el mismo valor en más de un registro • Como los ficheros suelen ser muy voluminosos solo se pueden llevar a la memoria principal partes de ellos para poder procesarlos. registros y bloqueos • En los ficheros informáticos se puede utilizar más de un campo clave. • Normalmente en cada operación de lectura/grabación se transfieren varios registros del fichero. Al número de registros que entran en un bloque se le conoce con el nombre de factor de blocaje. es decir un bloque suele contener varios registros.Claves. y a esta operación de agrupar varios registros en un bloque se le llama bloqueo de registros.

Las fichas están ordenadas por algún criterio.2. Por ejemplo. 3. por los apellidos. un fichero es un conjunto de registros.Diseño de registros • Como hemos visto. y un registro está compuesto. además de la selección del soporte de datos más adecuado para almacenarlo y la forma en que se organizan los datos dentro del soporte. La información referida a cada empleado está toda un una ficha (registro). para facilitar la búsqueda de una ficha determinada. Teniendo en cuenta esto en el diseño de un fichero tiene una gran importancia el diseño de los registros que lo forman. que es el mismo para todas (estructura del registro). . a su vez. por un conjunto de campos.. podemos ver que: 1. Sobre cada ficha las informaciones (campos) aparecen en un orden. Si observarnos las fichas del archivador de empleados. o por el DNI (campo clave). 2.

ordenar y definir las características de los campos que lo forman. en las que para cada campo se definen: – Un nombre que nos permita identificarlo en los programas.) – El tamaño del campo en caracteres (sí el campo es numérico con decimales. – El tipo de datos que va a contener (numérico.. lógico. Normalmente para representar el diseño de los utilizan unas hojas de diseño. – La posición del campo dentro del registro.. debe indicarse el número de decimales que tiene). .Diseño de registros(cont) Teniendo en cuenta todo esto. el diseño de un registro consiste en seleccionar. alfabético.. . – La descripción del contenido del campo. si fuera necesario.2.

Tamaño de los campos Una vez que tenemos claro los campos que van a formar el registro. podemos tener desde un DIAZ DIAZ. . debido a que la información que se va a guardar en un campo no es la misma para todos los registros. el mayor problema que se nos plantea es el seleccionar el tamaño de cada campo. el campo APELLIDOS del ejemplo guarda los apellidos de los empleados y el tamaño de estos no son iguales para todos los empleados. Por ejemplo. hasta un RODRIGUEZ DE LA VILLAJOYOSA GARCIA-DOMEQ.

Esta solución sería la que mejora aprovecha el soporte. lo que puede suponer un despilfarro de soporte si un registro valor muy largo al resto. Esta solución es la mas aplicada. y se utilizará siempre que se pueda abreviar la información que almacena el campo. pero su manejo es complicado para el programador que tendría que utilizar técnicas que le permitan delimitar el comienzo y el final de cada campo de un registro. Definir el campo con un tamaño intermedio y abreviar los valores que sobrepasen ese tamaño. - - . Utilizar campos con longitud variable para cada registro. Emplear un sistema de codificación de la información.Solución al problema del tamaño de los campos Para solucionar este problema pueden adoptarse varias soluciones: Definir el campo con el mayor tamaño posible.

en el orden que se van dando de alta. . cinta. mientras que en la organización relativa los registros se graban en las posiciones que les corresponda según el valor que guarden en el campo clave.) durante su grabación. Existen dos formas básicas de organización de ficheros: secuencial y relativa.3..Concepto de organización… El término organización de ficheros se aplica a la forma en que se colocan los datos contenidos en los registros sobre el soporte informático (disco. En la organización secuencial los registros se van grabando unos a continuación de los otros...

mientras que en el modo de acceso directo se puede llegar directamente a un registro conociendo únicamente el valor del campo clave. . El modo de acceso puede ser secuencial o directo. • En el modo de acceso secuencial para llegar a un registro es necesario pasar por todos los anteriores.…y concepto de modo de acceso • El modo de acceso se refiere al procedimiento que se tiene que seguir para poder situarse en un registro determinado para poder hacer una operación de lectura o grabación del mismo.

(acceso indexado . La posición que ocupa el registro dentro del fichero coincide con el contenido de la clave.Hashing).Keyed). La localización de un registro se hace buscando en la tabla de índices el valor del campo clave y obtenemos la posición en que está grabado el registro dentro del fichero. Calculando la posición que ocupa el registro en el fichero mediante una transformación del contenido del campo clave (acceso aleatorio . . 2. Mediante el uso de tablas de índices. 3.Al modo de acceso directo se puede llegar de varias formas: 1.

Ejemplo: Un fichero en el que los registros se actualicen todos juntos una vez al mes. .¿Qué organización elegir? • La elección de una forma de organización determinada está en función del tipo de aplicación que le vamos a dar al fichero. y el tiempo necesario para la actualización no sea importante. no puede tener la misma organización que un fichero que se actualice todos los días varias veces poniendo al día los datos que contienen sus registros y el tiempo empleado para la actualización sea el menor posible. Dos factores influyen directamente en la selección: la memoria necesaria para almacenar los datos y la velocidad de acceso a los mismos.

FICHEROS CON ORGANIZACIÓN SECUENCIAL .

• En este tipo de ficheros existe. sin dejar huecos en medio.1. por tanto.. si entendemos por orden lógico el orden en que son dados de alta y recuperados los registros. . • La organización secuencial es aconsejable para ficheros con un índice de utilización muy elevado y estables. una correspondencia total entre el orden lógico y el orden físico. inserción y borrado de registros. • Los registros normalmente estarán ordenados por el contenido de uno o más campos para hacer más fácil el trabajo de búsqueda. sobre el soporte informático. y por orden físico el orden en que están grabados los registros en el soporte.Características de la organización secuencial • Un fichero con organización secuencial es aquel en el que los registros se van grabando uno a continuación de otro.

Si el soporte no es secuencial las modificaciones se pueden hacer sobre el mismos registro. para poder hacer modificaciones o borrado de registros es necesario hacer una copia del fichero en un fichero nuevo. es necesario copiar todo el fichero en uno nuevo. grabando en el nuevo fichero todos los registros.Inconvenientes de la organización secuencial: 1. 3. Si tenemos el fichero ordenado por el contenido de un campo y queremos dar de alta un registro. No se pueden insertar registros entre los que ya están grabados. por lo que para leer el registro que ocupe la posición nº es necesario leer los n-1 registros anteriores. es decir. 2. El único modo de acceso es el acceso secuencial. . Si el fichero está grabado en un soporte secuencia por ejemplo una cinta magnética.2. mediante la grabación de una marca en el registro. insertando el registro que se quiere dar de alta en la posición que le corresponda. es decir que tengan un índice de utilización bajo. Esto hace que este tipo de organización no sea adecuado para ficheros en los que se necesita procesar frecuentemente registros aislados. que según ese orden debería ir entre dos registros que ya existen en el fichero.. y el borrado se puede hacer de forma lógica. Otra posibilidad es ir dando de alta los registros al final del fichero y a continuación realizar una operación de reordenación de todo el fichero.

Todos los lenguajes de programación disponen de instrucciones para trabajar con este tipo de ficheros.Ventajas de la organización secuencial: 1. Se pueden utilizar cualquier tipo de registros: de longitud fija. variable o indefinida. 2. Rápido acceso al registro siguiente. Se pueden grabar en cualquier tipo de soporte. tanto en secuenciales como direccionables.2.. al no dejar huecos entre los registros. . 4. Aprovecha al máximo el soporte. 5. Por lo que se hace ideal cuando en cada operación de actualización o consulta se van a procesar la mayoría de los registros. 3.

• El formato de las instrucciones que nos permiten manejar los datos contenidos en un fichero con organización secuencial dependerá del lenguaje de programación con el que trabajemos.3.. • En el momento de utilizar los ficheros con organización secuencial tenemos que tener en cuenta el soporte sobre el que están grabados. pues algunas operaciones que se pueden hacer en los soportes direccionables no se pueden hacer en los soportes secuenciales. . como pueden ser las modificaciones y borrado lógico de registros.Utilización de ficheros con organización secuencial.

Se puede abrir de tres formas: INPUT (I) . Cada vez que se da una orden de leer se lee el siguiente registro.Sólo para escribir registros. Antes de utilizar esta instrucción se tiene que leer antes el registro que se va a reescribir con una orden de leer (READ). EXTEND (E) . OUTPUT (0) .Para añadir registros al final del fichero Cerrar el fichero. Pasar la información de un registro a la memoria principal del ordenador para que el programa pueda trabajar con los datos que contiene. INPUT-OUPUT (I-O) .Para leer y escribir.Instrucciones empleadas en el manejo de ficheros secuenciales Abrir (OPEN) Abrir un fichero para poder trabajar con sus registros. . cuando ya no se va trabajar mas con sus registros. Cerrar (CLOSE) Leer (READ) Escribir (WRITE) Graba en el soporte la información de un registro con la información que tenga en la memoria principal.Sólo para leer registros. Reescribir (REWRITE) Graba sobre un registro que ya existe en el fichero.

que el sistema utiliza para saber cual es el último registro del fichero. o EOF (EOF .End Of File). siempre en la misma dirección.) se graba. .Para poder utilizar los datos del fichero el sistema operativo utiliza un indicador.F. cada vez que se lee o graba un registro. que se coloca señalando al primer registro de datos del fichero. cuando se da la orden de Abrir (OPEN). y se va desplazando. El registro de final de fichero (E. por primera vez en el momento de la creación del fichero y se va desplazando cuando se añaden nuevos registros al final del mismo.O. La estructura del fichero se completa con un registro de cabecera que contiene información acerca del fichero y un registro que sirve de marca de final de fichero. o puntero.

. pero se pueden recuperar con acceso directo gracias a la utilización de un fichero adicional. llamado de índices.Variantes de la organización secuencial. • Con el fin de mejorar las prestaciones de la organización secuencial surgen una serie de organizaciones que son una variante de esta y que pueden ser utilizados con soportes direccionables. que nos permite tener los registro ordenados según un orden lógico diferente del orden físico en el que están grabados gracias a la utilización de unos campos adicionales llamados punteros..4. – b) La organización secuencial encadenada. Las mas empleadas son: – a) La organización secuencial indexada. que contiene información de la posición que ocupa cada registro en el fichero de datos. en la que los registros con los datos se graban en un fichero secuencialmente.

sin tener que leer los anteriores. sin tener que mirar en todas las páginas anteriores para localizarlo. • 1.. .ORGANIZACIÓN SECUENCIAL-INDEXADA. ficheros indexados.Características de la organización secuencial-indexada: – A los ficheros con este tipo de organización se les llama. y abrimos el libro por esa página. que permiten el acceso a un registro del fichero de forma directa. también. Si nos interesa leer un capítulo concreto podemos recurrir al índice que nos dice en que página comienza. por que se basa en la utilización de índices. Estos índices son similares a los de los libros.

• b) Permiten utilizar el modo de acceso secuencial y el modo de acceso directo para leer la información guardada en sus registros. A este campo se le llama campo clave y es el que va a servir de índice. – – El modo de acceso directo se hace conociendo el contenido del campo clave del registro que queremos localizar. pero al menos uno de ellos no admitirá valores duplicados y se le llama clave primaria. En el modo de acceso secuencial los registros son leídos ordenados por el contenido del campo clave. que no pueda haber dos registros que tengan la misma información en él. o combinación de campos. independientemente del orden en que se fueron grabando (El orden lógico no es igual al orden físico).. Con esa información el sistema operativo puede consultar el índice y conocer la posición del registro dentro del fichero. – Un mismo fichero puede tener mas de un campo clave.Características de un fichero con o. debido a que el acceso a los datos se hace a través del índice.: disco magnético. secuencial-indexada: • a) El diseño del registro tiene que tener un campo. A las restantes se les llama claves alternativas.. que para hacer más fácil la búsqueda de los registros permanece siempre ordenado por el campo clave. Ej. Si esto no fuera así no podría emplear el acceso directo. • c) Solamente se puede grabar en un soporte direccionable. que permita identificar cada registro de forma única. es decir. .

. de acuerdo con los valores de la clave y en páginas o bloques de longitud fija. pero no sabe como se realiza internamente esa consulta.2. Los registros de un fichero con organización secuencial-indexada se graban en un soporte de almacenamiento directo. Del tratamiento de los índices y punteros se encarga el sistema operativo por lo que no va a crear problemas al usuario cuando maneja este tipo de ficheros. Los nuevos registros se insertan y quedan enlazados entre sí mediante punteros conservando el orden lógico que marca la clave o índice principal. Cada entrada del área de índices está formada por el valor más alto de la clave de cada grupo de registros y un puntero con la dirección del primer registro del grupo. en secuencia ascendente. Contiene una tabla que asocia las claves con las direcciones de los registros en el área de datos.. • El archivo secuencial o AREA DE DATOS: Es el área en la que se escriben los registros cuando el archivo es creado el fichero. • El AREA DE INDICES es creada por el sistema al mismo tiempo que se van almacenando los datos. El usuario sabe lo que sucede cuando solicita una consulta de un registro. • Un AREA DE EXCEDENTES (o de overflow) donde se graban los registros que no tienen sitio en el área de datos.Estructura de los ficheros con organización secuencial-indexada.

ya que cuantos más registros tenga. dentro de la pista.Índices a varios niveles. Podemos representar de forma muy simplificada la posible estructura del almacenamiento del archivo que constará de las siguientes áreas de índices: 1º Nivel: (Indice maestro) Señala el cilindro en que se encuentra almacenado el registro que nos interesa.3. por varias áreas de índices de menor tamaño donde la búsqueda es más rápida. • Cuando el fichero de datos tiene muchos registros puede que el fichero de índices se haga demasiado largo y las búsquedas en él se vayan haciendo lentas. 3º Nivel: (Indice de pista) Señala. en que bloque.. 2º Nivel: (Indice de cilindro) Señala en que pista está ese registro. • • • • . mas crece el tiempo necesario para localizar un registro. Para evitar este problema se recurre a la utilización de índices a varios niveles. pero de m tamaño grande. dentro del cilindro. se encuentra el registro. o sector. Para damos una idea de cómo se organizarían los índices a varios niveles podemos emplear un ejemplo de un fichero grabado en un disco duro con un cierto número de platos. de forma que se sustituye una área de índices única.

En el acceso secuencial. Permite el acceso directo a los registros. Se pueden actualizar los registros en el mismo fichero. empleando para ello las tablas de índices. Permite tanto el PROCESO POR LOTES (procesos en diferido que hay que preparar previamente) como el PROCESO EN TIEMPO REAL (las actualizaciones de la información se llevan a cabo en el momento en que se producen).Inconvenientes de la organización secuencial indexada 1. . Esto es muy interesante cuando la tasa de actividad es alta. los registros se leen ordenados por el campo clave. Primero busca la clave en el área de índices y luego va a leer al área de datos en la dirección que le indica la tabla. 3. Permite el acceso secuencial. Realmente emula el acceso directo. 2. además. sin necesidad de crear un fichero nuevo de copia en el proceso de actualización.

Ocupa mas espacio en el disco que los ficheros secuenciales. m hardware mas sofisticado. 3. cuando se producen muchas altas nuevas con claves que hay que intercalar entre las existentes. Requiere una reorganización periódica. 4. Obliga a una inversión económica mayor. por la necesidad de programas y. . Tiene tendencia a que aumente el tiempo medio de acceso a los registros. ya que aumenta el área de overflow.Inconvenientes de la organización secuencial indexada 1. debido al uso del área de índices. Sólo se puede utilizar soportes direccionables. a veces. 2.

ORGANIZACIÓN DIRECTA (RAMDOM. RELATIVA) . ALATORIA.

1. de forma directa. Es la organización que tienen un menor tiempo de acceso a un registro. en acceso directo. pues el acceso a los registros se hace sin necesidad de leer los anteriores. Se usan cuando el acceso a los datos de un registro se hace siempre empleando la misma clave y la velocidad de acceso a un registro es lo que más nos importa. – Esta organización sólo es posible en soportes direccionables. si conocemos la dirección relativa de la celda en la que está grabado. . La posición en la que se graban los registros está en función de la información que tenga el campo clave del registro. Las celdas están numeradas correlativamente y se puede acceder al contenido de un registro. – En esta organización el espacio total disponible para el fichero se divide en celdas destinadas cada una de ellas a contener un registro y sólo uno..Características de la organización directa. – La organización directa está basada en la independencia entre el orden en que se dan de alta los registros y la posición en la que se graban en el soporte.

en la dirección relativa de la celda del fichero en que va a estar grabado D se le llama técnicas de direccionamiento.Para poder localizar un registro es necesario conocer el valor de la clave • A las técnicas utilizadas para convertir el valor de la clave de un registro C. . El elegir una buena técnica de direccionamiento es fundamental en este tipo de organización.

Que deje el menor número de huecos posible. y que está ya ocupada. Los métodos más empleados para el tratamiento de sinónimos son los siguientes: a) Almacenar el registro que colisiona en el primer hueco libre que se encuentre a partir de la dirección que le corresponde. Este es el sistema más empleado. la misma dirección se dice que produce sinónimos. Se debe procurar que el método seleccionado nos proporcione valores entre 1 y nº. También se dice que esos registros colisionan. al aplicar la técnica de direccionamiento. sin dejar celdas vacías. siendo nº el número de celdas que tiene el fichero. . Cuando dos o más claves diferentes proporcionan. Tenemos que tener en cuenta que en esta organización es el usuario el que se encarga de calcular la posición en la que se van a guardar los registros y no como en los ficheros indexados que era el sistema operativo el que se encargaba de esto. A esta zona del fichero se le suele llamar área de desbordamiento (overflow) o de excedentes. sólo uno de ellos puede ser almacenado en esa celda y tenemos que tener previsto algún procedimiento para calcular la posición en la que se tiene que grabar el otro registro. b) Creando una zona especial del fichero en la que se grabarán todos los registros que dieron lugar a un sinónimo. 2) 3) Que las claves de registros diferentes nos den direcciones diferentes.A la hora de elegir una técnica de direccionamiento debemos pedirle: 1) Que sea fácil de aplicar. Cuando las claves de dos registros dieron lugar a un sinónimo (indican la misma celda). A este método se le conoce como búsqueda lineal o direccionamiento abierto.

.I.aleatorio (hashing) . el D.2.direccionamiento directo . Para poder transformar el valor de la clave en la dirección relativa del registro en el fichero hay una gran cantidad de técnicas de direccionamiento que podemos clasificar en tres grupos: .N. de una persona. etc. como puede ser el nº de factura. cuando en realidad el usuario los va a identificar por el valor de un campo del registro.por asociación .Clasificación de las técnicas de direccionamiento • El mayor obstáculo para el uso de los archivos relativos es la necesidad de identificar los registros lógicos por un número relativo de registro.

A) Direccionamiento directo: • El caso óptimo de aplicación de esta organización se da cuando las claves en el fichero son numéricas y toman valores de 1 a n sin huecos intermedios. En este caso la clave k nos conducirá a la celda k-ésima del fichero pudiendo acceder fácilmente a los datos de éste registro. Ej.: fichero de facturas donde tomamos como clave el nº de factura. . El campo clave de cada registro contiene su dirección en el fichero.

B) Direccionamiento por asociación: • Los valores de la clave se almacenan en una tabla en memoria en la que cada elemento asocia cada valor de la clave con la dirección relativa en la que está almacenado el registro. su principal inconveniente resulta determinar su tamaño y mantenerla ordenada por los valores de la clave. Ejemplo: Clave Dirección C1 C2 C3 1 2 3 . Puesto que la tabla debe prever la inclusión de todas las direcciones posibles del archivo.

• El principal inconveniente que presenta este tipo de direccionamiento es el que se pueden producir sinónimos ya que el número que se obtiene al aplicar los cálculos es un número aleatorio y puede que dos claves diferentes den como resultado el mismo número. que relacione los posibles valores de la clave con el conjunto de números correlativos de celda. y eso nos obliga a tener previsto un método para el tratamiento de los sinónimos. a ser posible biunívoca. En los dos tipos anteriores nunca se producen sinónimos. Esta función consistirá en realizar una serie de cálculos matemáticos con el valor de la clave hasta obtener un número entre 1 y nº. siendo nº el número de celdas que tiene el fichero. .C) Direccionamiento aleatorio (Hashing): • En este caso hay que buscar una función.

Permite realizar procesos de actualización en tiempo real. Permite la actualización de los registros en el mismo fichero. sin necesidad de copiar el fichero. siempre y cuando el acceso se haga siempre por el campo clave. Al emplear un modo de acceso directo son los ficheros que permiten acceder de la forma mas rápida posible a un registro cualquiera del fichero. 2.Ventajas de la organización directa 1. Por tanto es la organización ideal para los procesos en los que el tiempo de acceso a los registros es lo más importante. 3. . El caso más favorable para utilizar la organización directa es cuando las claves son numéricas y permiten utilizar el direccionamiento directo.

No permite el acceso secuencial a los registros por otro orden que no sea el orden en que están grabados en el soporte. habrá mucho espacio desaprovechado puesto que tenemos que reservar espacio a todos y cada uno de los registros teóricamente posibles. 5. Pueden existir celdas vacías. Cuando el rango de claves posibles es muy superior al de claves que realmente están grabadas en el fichero. 2. Sólo se puede utilizar un campo clave para acceder a los registros. 3. El algoritmo de direccionamiento debe garantizamos que no se nos producirán dos direcciones iguales para dos valores de clave distintos. El acceso a un registro se hace indicándole al sistema su dirección relativa dentro del fichero y la comprobación de sí el registro leído es o no el que buscamos la tiene que hacer el programador. .Inconvenientes de la organización directa 1. el sistema operativo no nos avisa de posibles errores que se produzcan el cálculo de la dirección. En el caso de no elegir un buen método de direccionamiento puede que la aparición de sinónimos haga complicado el acceso a algunos registros debido a que tendríamos que emplear un método de tratamiento de sinónimos que debe controlar el programador. La relación entre clave y dirección la define el programador y sólo él es responsable de manejarla correctamente. 4.