Die Datensätze einer ISAM-Datei werden nach ihrem ISAM-Schlüssel (Primärschlüssel) sortiert in Datenblöcken abgelegt. Diese Datenblöcke können sich aus 1-16 benachbarten PAM-Seiten zusammensetzen; aus mehr als einer PAM-Seite bestehende Datenblöcke werden auch als Multiblöcke bezeichnet.
Die Länge eines Datenblocks wird in den Makros FILE/FCB mit dem Operanden BLKSIZE, im Kommado ADD-FILE-LINK mit dem Operanden BUFFER-LENGTH festgelegt.
Da ISAM-Dateien Plattendateien sind, kann nur ein Blockungsfaktor „n“ für Standardblöcke (1 <= n <= 16) angegeben werden, keine absolute Länge. Bei der Wahl der Blocklänge muss die Verträglichkeit mit der Satzlänge berücksichtigt werden, damit der Speicherplatz optimal genutzt werden kann und keine Überlaufblöcke entstehen. Der Abschnitt „Überlaufblock (NK-ISAM)" enthält Tabellen, die diesen Zusammenhang darstellen.
Blocksplitting – Teilen von Datenblöcken
Wenn bei nichtsequenzieller Dateierweiterung (STORE, INSRT) ein Satz in einen Block nicht mehr eingefügt werden kann, kommt es zum Blocksplitting: der alte Datenblock wird geteilt, die entstandenen Hälften werden in neue (leere) Blöcke übertragen. Der alte Datenblock bleibt der Datei zugeordnet und wird als freier Datenblock gekennzeichnet.
Beispiel: Blocksplitting
Dateistruktur
Der Benutzer gibt an, dass ein Satz mit dem Schlüssel 05 eingefügt werden soll. Da kein Platz mehr im Block 2 vorhanden ist, wird Block 2 geteilt.
Die Datei hat nun folgende Struktur: