File organisation and access · Organización y acceso a archivos
| English | Español |
|---|---|
| file organisation/faɪl ˌɔːɡənaɪˈzeɪʃn/ | organización de archivos |
| access method/ˈækses ˈmeθəd/ | método de acceso |
| serial file/ˈsɪərɪəl faɪl/ | archivo serial |
| sequential file/siːˈkwenʃl faɪl/ | archivo secuencial |
| key field/kiː fiːld/ | campo clave |
| direct access/daɪˈrekt ˈækses/ | acceso directo |
| sequential access/siːˈkwenʃl ˈækses/ | acceso secuencial |
| random file/ˈrændəm faɪl/ | archivo aleatorio |
Why the bank's night job took all night
- Into the 1980s a bank's accounts lived on magnetic tape. A tape can only be read from one end to the other, so the day's transactions were sorted overnight and the whole master file was read start to finish, once, to apply them.
- Ask for one customer's balance in the middle of the afternoon and the answer was: not until tomorrow. The organisation of the file, not the speed of the computer, decided what the bank could offer.
- Disks made a different organisation possible: compute where a record is from its key and jump there. That is what lets a cash machine answer in a second.
- This lesson is file organisation 文件组织, the two access methods 访问方式, and how to choose from what the program mostly does.
Por qué el trabajo nocturno del banco ocupó toda la noche
- Hasta la década de 1980, las cuentas de un banco vivían en cinta magnética. Una cinta solo se puede leer de un extremo al otro, por lo que las transacciones del día se ordenaban durante la noche y todo el archivo maestro se leía de principio a fin, una sola vez, para aplicarlas.
- Pida el saldo de un cliente a mitad de la tarde y la respuesta era: no hasta mañana. La organización del archivo, no la velocidad del ordenador, decidía qué podía ofrecer el banco.
- Los discos hicieron posible una organización diferente: calcular dónde está un registro a partir de su clave y saltar allí. Eso es lo que permite a un cajero automático responder en un segundo.
- Esta lección trata sobre la organización de archivos 文件组织, los dos métodos de acceso 访问方式, y cómo elegir según lo que hace principalmente el programa.
Three organisations
- A serial file 串行文件 holds records in the order they were added, with no sorting. Appending is fast; searching means reading from the start. Used for logs and audit trails.
- A sequential file 顺序文件 holds records sorted by a key field 键字段. Searching is faster, because you can stop early or binary-search; inserting is slow, because later records must shift. Used for master files updated in batch.
- A random, or direct-access, file 随机文件 holds each record at a position computed from its record key, usually by a hash. Lookup by key is very fast; reading in key order is awkward. Used for large lookup tables and customer accounts.
Serial: order of arrival, nothing more
Sequential: the same records, in key order
Tres organizaciones
- Un archivo serial 串行 file mantiene los registros en el orden en que fueron añadidos, sin ordenar. Añadir es rápido; buscar significa leer desde el principio. Se usa para registros y trazas de auditoría.
- Un archivo secuencial 顺序 file mantiene los registros ordenados por un campo clave 键字段. Buscar es más rápido, porque puedes detenerte temprano o buscar binariamente; insertar es lento, porque los registros posteriores deben desplazarse. Se usa para archivos maestros actualizados por lotes.
- Un archivo aleatorio, o de acceso directo, random contiene cada registro en una posición calculada a partir de su clave de registro, normalmente mediante hash. La búsqueda por clave es muy rápida; leer en orden de clave es incómodo. Se usa para grandes tablas de búsqueda y cuentas de clientes.

Serial: orden de llegada, nada más

Secuencial: los mismos registros, en orden de clave
The two access methods
- Sequential access 顺序存取 reads from the start of the file to the record wanted. It is the only access a serial file allows, and it is how a sequential file is processed in a batch.
- Direct access 直接存取 jumps straight to a known position without reading what comes before. It is how a random file is read, and a sequential file can also be read directly when the position of a key is known or indexed.
- So the syllabus pairing is: sequential access for serial and sequential files; direct access for sequential and random files.
Random: the key tells you where to look
Los dos métodos de acceso
- Acceso secuencial 顺序存取 lee desde el inicio del archivo hasta el registro deseado. Es el único acceso que permite un archivo serial, y es cómo se procesa un archivo secuencial en un lote.
- Acceso directo salta directamente a una posición conocida sin leer lo que viene antes. Es así como se lee un archivo aleatorio, y un archivo secuencial también puede leerse directamente cuando se conoce o indexa la posición de una clave.
- Por tanto, la combinación del temario es: acceso secuencial para archivos secuenciales; acceso directo para archivos secuenciales y aleatorios.

Aleatorio: la clave indica dónde buscar
File access route · Ruta de acceso al archivo
Follow a file from storage to program and back safely. · Seguir un archivo desde el almacenamiento hasta el programa y de vuelta de forma segura.
A serial file stores records: · Un archivo serial almacena registros:
Serial files keep records in arrival order — fast to append, slow to search. Sequential files are sorted by key. · Los archivos seriales mantienen los registros en orden de llegada —rápido para añadir, lento para buscar. Los archivos secuenciales están ordenados por clave.
Match each file organisation to how it stores records. · Asocia cada organización de archivos con cómo almacena sus registros.
Serial = arrival order; sequential = sorted; random = hashed position; indexed-sequential = sorted + an index. · Serial = orden de llegada; secuencial = ordenado; aleatorio = posición hasheada; indexado-secuencial = ordenado + un índice.
A random (direct-access) file places each record: · Un archivo aleatorio (acceso directo) coloca cada registro:
A key is converted (often by a hash) to a position, so a single-key lookup is very fast. · Una clave se convierte (a menudo mediante un hash) en una posición, por lo que una consulta por una sola clave es muy rápida.
What is the difference between a serial file and a sequential file? · ¿Cuál es la diferencia entre un archivo serial y un archivo secuencial?
Order of arrival versus sorted by key. That single difference is what makes a sequential file searchable early and slow to insert into. · Orden de llegada frente a ordenado por clave. Esa única diferencia es lo que hace que un archivo secuencial sea buscable anticipadamente y lento para insertar.
Worked example: choose the organisation
- A payroll program reads every employee record once a month, in employee-number order, to produce payslips. Which organisation and access, and why?
- Sequential organisation with sequential access: every record is processed, so there is nothing to gain from jumping about, and storing them in key order means the payslips come out in order with no sorting step.
- A cash machine must fetch one account by its number in under a second. Random organisation with direct access: the position is computed from the account number, so exactly one read is needed instead of a search through millions.
- A web server appends one line per request to a log. Serial: only appending matters, and appending to the end is the fastest thing a serial file does.
Ejemplo resuelto: elegir la organización
- Un programa de nómina lee cada registro de empleado una vez al mes, en orden de número de empleado, para producir recibos de pago. ¿Qué organización y método de acceso, y por qué?
- Organización secuencial con acceso secuencial: cada registro se procesa, por lo que no hay nada que ganar saltando de un lado a otro, y almacenarlos en orden de clave significa que los recibos salen en orden sin necesidad de ordenar.
- Un cajero automático debe obtener una cuenta por su número en menos de un segundo. Organización aleatoria con acceso directo: la posición se calcula a partir del número de cuenta, por lo que solo se necesita una lectura en lugar de buscar entre millones.
- Una aplicación de servidor web añade una línea por solicitud a un registro. Serial: solo importa añadir, y añadir al final es lo más rápido que hace un archivo serial.
A sequential file can be read by sequential access and also by direct access. · Un archivo secuencial puede leerse por acceso secuencial y también por acceso directo.
Sequential access serves serial and sequential files; direct access serves sequential and random files. Only a serial file is limited to one method. · El acceso secuencial sirve a archivos seriales y secuenciales; el acceso directo sirve a archivos secuenciales y aleatorios. Solo un archivo serial está limitado a un método.
Put the steps of fetching one account from a random file in order. · Coloca los pasos para obtener una cuenta de un archivo aleatorio en orden.
No searching happens at all: the key is turned into a position and read once. The final check catches a collision. · No hay búsqueda en absoluto: la clave se convierte en una posición y se lee una vez. La comprobación final detecta una colisión.
The trade-offs, side by side
| serial | sequential | random | |
|---|---|---|---|
| order of records | as added | sorted by key | computed from key |
| adding a record | fast, append | slow, records shift | fast, if the slot is free |
| finding one record | slow, read all | faster, can stop early | fastest, one read |
| reading in key order | needs a sort | natural | needs a sort |
- The right answer is always argued from the dominant operation: what does this program do most?
Las compensaciones, lado a lado
| serial | secuencial | aleatorio | |
|---|---|---|---|
| orden de los registros | como se añaden | ordenados por clave | calculado a partir de la clave |
| añadir un registro | rápido, append (añadir) | lento, los registros se desplazan | rápido, si el hueco está libre |
| encontrar un registro | lento, leer todo | más rápido, puede detenerse antes | más rápido, una sola lectura |
| leer en orden de clave | necesita ordenación | natural | necesita ordenación |
- La respuesta correcta siempre se argumenta desde la operación dominante: ¿qué hace este programa más?
Sequential file organisation is well suited to processing every record in turn. · La organización de archivos secuenciales es adecuada para procesar cada registro uno tras otro.
Direct access suits looking up a single record. · El acceso directo es adecuado para buscar un único registro.
Match each situation to the file organisation that suits it. · Asocia cada situación con la organización de archivos que le convenga.
Append only, process everything in order, or look one record up: the dominant operation picks the organisation. · Añadir solo, procesar todo en orden o buscar un registro: la operación dominante determina la organización.
Worked example: justify a change
- A library's book file is serial. Searching for one title is slow. Suggest a change and justify it.
- Reorganise as a random file, hashing the ISBN to an address, so a search becomes one direct read instead of a scan of the whole file.
- If the library also prints a catalogue in title order, a sequential organisation by title serves both reasonably: the catalogue needs no sort and a search can stop early or binary-search.
- Name the organisation, name the access method, and tie both to an operation the question mentions.
Ejemplo resuelto: justificar un cambio
- El archivo de libros de una biblioteca es serial. Buscar un título concreto es lento. Sugiera un cambio y justifíquelo.
- Reorganizar como un archivo aleatorio, hash (hasheando) el ISBN a una dirección, para que una búsqueda se convierta en una lectura directa en lugar de un escaneo de todo el archivo.
- Si la biblioteca también imprime un catálogo en orden de título, una organización secuencial por título sirve razonablemente bien a ambos: el catálogo no necesita ordenación y una búsqueda puede detenerse antes o usar búsqueda binaria.
- Nombre la organización, nombre el método de acceso, y vincule ambos a una operación que mencione la pregunta.
To produce reports in key order, the best file organisation is: · Para producir informes en orden de clave, la mejor organización de archivos es:
A sequential file is already in key order, so reading it sequentially gives an in-order report. · Un archivo secuencial ya está en orden de clave, por lo que leerlo secuencialmente da un informe en orden.
A file organisation is chosen by looking at the program's ____ operation. · Se elige una organización de archivos observando la operación ____ del programa.
Every organisation is fast at something and slow at something else, so the operation done most often decides. · Cada organización es rápida en algo y lenta en otra cosa, por lo que la operación que se realiza con mayor frecuencia decide.
What the key has to be, and why hashing breaks
- Direct access needs a key, and the key must be unique to one record. A surname is not a key; a customer number is.
- Hashing turns that key into a record address in one calculation, so a single read reaches the record however large the file is.
- Two different keys can hash to the same address. That is a collision, and it is not a fault in the algorithm: it is unavoidable once there are more possible keys than addresses.
- The fix named in the mark scheme is an overflow area, or storing a pointer at the address to a chain of records that share it. A collision therefore costs one extra read, not a lost record.
- So the honest comparison is: hashing gives near-constant access until the file fills up, and its performance degrades as collisions build. Sequential access never degrades but was never fast.
Lo que tiene que ser la clave, y por qué falla el hashing
- El acceso directo necesita una clave, y la clave debe ser única para un registro. Un apellido no es una clave; un número de cliente sí lo es.
- El hashing convierte esa clave en una dirección de registro en un cálculo, por lo que una sola lectura alcanza el registro independientemente del tamaño del archivo.
- Dos claves diferentes pueden tener hash hacia la misma dirección. Eso es una colisión, y no es un fallo del algoritmo: es inevitable una vez que hay más claves posibles que direcciones.
- La solución nombrada en el esquema de corrección es un área de desbordamiento, o almacenar un puntero en la dirección a una cadena de registros que la comparten. Una colisión cuesta por tanto una lectura extra, no un registro perdido.
- Por tanto, la comparación honesta es: el hashing ofrece acceso casi constante hasta que el archivo se llena, y su rendimiento se degrada a medida que se acumulan las colisiones. El acceso secuencial nunca se degrada, pero tampoco era rápido.
Two records hash to the same address. Which are true? Select all · todos that apply. · Dos claves tienen hash en la misma dirección. ¿Qué son verdaderas? Selecciona todas las que correspondan.
Nothing is lost; a collision costs one extra read. It is unavoidable in principle, because there are always more possible keys than addresses. · No se pierde nada; una colisión cuesta una lectura extra. Es inevitable en principio, porque siempre hay más claves posibles que direcciones.
Marks that slip away
- Serial is order of arrival; sequential is sorted by a key. They are not synonyms, and the exam tests exactly that difference.
- Organisation is how the records are laid out; access is how the program reaches one. A question names one or the other.
- A sequential file supports both access methods; a serial file supports only sequential access.
- Justify from the dominant operation, not from "it is faster". Say faster at what, and why.
Puntos que se pierden fácilmente
- Serial es orden de llegada; secuencial está ordenado por una clave. No son sinónimos, y el examen prueba exactamente esa diferencia.
- La organización es cómo se disponen los registros; el acceso es cómo el programa llega a uno. Una pregunta nombra uno u otro.
- Un archivo secuencial admite ambos métodos de acceso; un archivo serial solo admite acceso secuencial.
- Justifique desde la operación dominante, no desde "es más rápido". Diga más rápido en qué, y por qué.
You've got it
- serial: order added, append fast, search slow, used for logs · sequential: sorted by a key field, good for batch processing and in-order output · random: position computed from the record key, one read to find a record
- sequential access reads from the start; direct access jumps to a position
- sequential access serves serial and sequential files; direct access serves sequential and random files
- choose from the dominant operation: process everything, look one up, or only append
Lo has entendido
- serial: orden añadido, append rápido, búsqueda lenta, usado para logs · secuencial: ordenado por un campo clave, bueno para procesamiento por lotes y salida en orden · aleatorio: posición calculada a partir de la clave del registro, una lectura para encontrar un registro
- acceso secuencial lee desde el principio; acceso directo salta a una posición
- el acceso secuencial sirve a archivos seriales y secuenciales; el acceso directo sirve a archivos secuenciales y aleatorios
- elija según la operación dominante: procesar todo, buscar uno solo, o solo añadir