Hoofdstuk 8 Geïndiceerde bestanden

De bestanden die in hoofdstuk 5 voorkomen, hadden een sequentiële organisatie. De records van zulke bestanden kunnen we alleen in de opgeslagen volgorde lezen. Voor veel toepassingen is dat niet voldoende. Er is ook directe toegang nodig.

onthoud

Directe toegang wil zeggen dat we een gewenst record rechtstreeks kunnen lezen, zonder dat het nodig is om een bepaalde volgorde aan te houden of andere records dan het gewenste te bekijken. Om directe toegang mogelijk te maken, zorgen we dat elk record uniek geïdentificeerd kan worden via de waarde van een sleutelveld.

In een artikelbestand zal het sleutelveld de artikelcode zijn; in een klantenbestand zal het klantnummer het sleutelveld zijn. De computer onderhoudt tabellen die waarden van sleutelvelden bevatten en een verwijzing (index) naar hun plaats in het bestand. Als we de gegevens van een bepaald artikel willen weten, dan geven we het betrokken artikelnummer op. De computer raadpleegt de indextabellen en leest het gewenste record.

De records van het bestand liggen in eerste instantie nog steeds achter elkaar opgeslagen. In zoverre is het dus nog steeds een sequentieel bestand. Maar er is iets bijgekomen: de indextabellen. Daarom heet deze organisatie: geïndiceerd sequentieel (Engels: indexed sequential). Kortheidshalve spreken we vaak over een indexed bestand.

De organisatievorm van een bestand is een vast gegeven dat niet kan worden gewijzigd. Van een sequentieel bestand kunnen niet opeens een indexed bestand maken, want het bijhouden van de indextabellen moet vanaf het begin zijn gebeurd. Een sequentieel bestand omzetten naar een indexed bestand kan alleen als we een nieuw bestand maken.

Sommige aspecten van het werken met een indexed bestand zijn identiek aan die bij een sequential bestand. Dat geldt bij voorbeeld voor de into-optie bij read, de from-optie bij write en rewrite, de block-contains-clausule en voor het werken met verschillende soorten records in één bestand. Die onderdelen krijgen in dit hoofdstuk hoogstens een terloopse bespreking. De details staan in hoofdstuk 5.

Hoofdstuk 8 Geïndiceerde bestanden

omslag 'Tijd voor COBOL'

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1

Auteur: Andree Hollander

naamlogo