allegro Systemhandbuch V26 
 `Inhaltsverzeichnis`

0	Grundbegriffe 
	Das allegro-Konzept

	`Ausgabedaten`	`Export`	
	`Benutzeroberfläche`	`Externformat` 
	`Dateistruktur`	`Import` 
	`Datenbank`	`Index` 
	`Datensicherung`	`Internformat` 
	`Editor`	`Konfiguration` 
	`Eingabedaten`	`Parameterdateien` 
	`Ergebnismenge`	`Programmstart`

0.0	Zehn Begriffe, die jeder kennen sollte

Wer ein Datenbanksystem benutzt, interessiert sich in der Regel erheblich mehr für die eigenen Daten als für das System. Von Programmen und ihren internen Funktionen oder gar von Datenstrukturen möchte nicht jeder viel wissen müssen. Weil Computer vorerst die Umgangssprache weder sprechen noch verstehen, ist ein Minimum an DV-Kenntnissen wichtig, auch um zu einer realistischen Einschätzung der Möglichkeiten und Grenzen des Computereinsatzes zu gelangen. Soweit es um allegro geht, soll dieses Handbuch dabei helfen, obwohl es nicht zugleich ein Lehrbuch sein kann: das Kapitel`0 und in den übrigen Kapiteln jeweils der Abschnitt 0 sollen die Begriffe und Konzepte erklären und die Einarbeitung erleichtern. 

Wenn Sie gerade erst mit allegro anfangen wollen: 
Der "`Leitfaden zur Einarbeitung`" (hinter dem Vorwort) weist den Weg! 
Im Windows-Programm: Menü `Füllhorn` wählen! 

Jedes Rechnersystem speichert Daten in Dateien. Die Vorgänge des Speicherns und Lesens von Daten sowie jede Art des Umgangs mit den Daten besorgen Programme. 

 Jedes Programm folgt dem bekannten "E-V-A-Schema": 
Eingabe (Daten)  --Ø  Verarbeitung (Programm)  --Ø  Ausgabe (Daten) 
wobei allerdings mehrere Ein- und Ausgabevorgänge in dauerndem Wechselspiel ablaufen können. 

Eingabedaten kommen entweder 
	a)	über die Tastatur (vom Anwender); es kann sich um "richtige" Daten, aber auch um Funktionstasten-Betätigungen, Mausklicks oder eingetippte Befehle handeln, 
	b)	oder werden aus Dateien (evtl. über das Netz) eingelesen. Dabei kommt es immer sehr auf deren Struktur an (siehe unten). 

Ausgabedaten als Ergebnis einer Verarbeitung 
	a)	erscheinen auf dem Bildschirm oder Drucker 
	b)	oder werden wieder gespeichert, d.h. in Dateien geschrieben oder per Netz einem anderen System mitgeteilt. 
Als Ausgabe können zwar auch Katalogzettel herauskommen, doch ist dies mehr ein Nebenprodukt. Eingegeben und gespeichert werden natürlich keine Katalogkarten, sondern Datensätze, meistens ist aber ein Datensatz gleichwertig mit einer Titelaufnahme. Deswegen steht in diesem Buch oft "Aufnahme" statt "Datensatz". Aus gespeicherten Datensätzen kann das System sehr vieles machen: Karten, Listen, Bildschirmanzeigen, Auswertungen (auch mit Berechnungen), alphabetische Register. Alles das ist nicht fest eingebaut, sondern kann variiert, angepaßt und ausgebaut werden. Um eigene Wünsche zu verwirklichen, muß man freilich dem System geeignete Vorschriften machen. Solche Vorschriften werden Parameterdateien genannt. Sie bestehen oft aus sehr vielen einzelnen Befehlen. Viele fertige Parameterdateien für Karten, Listen usw. werden mitgeliefert. Ist man damit nicht zufrieden, muß man Änderungen machen oder ganz neue Vorschriften erarbeiten und die Befehle dafür zusammenstellen. Die Befehle werden, wie gesagt, nicht in natürlicher Umgangssprache formuliert. Man muß eine besondere Sprache dazu benutzen, die sog. Exportsprache (-Ø Kap.10). Will man Fremddaten in allegro-Daten umwandeln, kommt noch eine Sprache hinzu, die Importsprache (-Ø Kap.11). Der Wortschatz dieser Sprachen ist viel kleiner, die Grammatik viel einfacher als bei natürlichen Sprachen. Dennoch gehört das Schreiben von Export- und Importvorschriften zu den schwierigsten Aufgaben im allegro-System, denn man muß dabei sehr präzise und in ungewohnt kleinen Schritten denken. 
    Der Rest dieses Kapitels ist nicht nur zum Lesen, sondern auch zum Nachschlagen gedacht. Ein alphabetischer Überblick zu den wichtigsten Eingreifmöglichkeiten und eine Liste häufiger Fragen  finden sich im Abschnitt 0.9. 

Die wichtigsten Begriffe

Zehn Grundbegriffe sind für jeden wichtig, der zu einem eigenständigen Umgang mit allegro finden will. Aber auch "Nur-AnwenderInnen" werden sich im System besser zurechtfinden, wenn sie sich eine ungefähre Vorstellung von diesen Grundbegriffen aneignen. Versuchen Sie bei Ihrer weiteren Beschäftigung mit allegro, sich immer an diesem Gerüst zu orientieren. (Siehe auch Diagramm 2 in Anhang C.) Die Grundbegriffe bleiben auch für die neuen Windows-Programme gültig, denn die internen Strukturen des Systems haben sich bewährt und bleiben bestehen. 
(Mit einem Pfeilsymbol -Ø wird jeweils auf einen der anderen Begriffe oder auf andere Kapitel verwiesen.) 
Was bedeutet µ? Am rechten Rand sehen Sie jeweils, wie man vom CockPit aus an die betreffenden Dateien oder Programmteile herankommt. Das Zeichen 'µ' steht für "Menü", der Buchstabe dahinter ist der Anfangsbuchstabe des Menüs. Also heißt z.B. µo k soviel wie "Menü 'Optionen', Punkt k". Erreichbar ist dieser Menüpunkt mit der Tastenfolge  <Alt>+o  k. Schauen Sie sich den CockPit-Bildschirm an, dann sehen Sie sofort, wie das gemeint ist   (CockPit -Ø 0.11, Start mit Befehl  cp  auf C:\ALLEGRO). 
Hinweis für UNIX: Alle Dateinamen sind unter UNIX komplett in Kleinbuchstaben zu schreiben. 

1.	Konfiguration  (-Ø `Anhang A`.)	µo k
	allegro hat kein fest eingebautes System von Datenfeldern und keine festgelegten Eingabemasken. Sie können selber entscheiden, welches Kategorienschema Sie benutzen wollen, welche Datensatztypen es gibt, was alles in der Erfassungs-Abfrageliste vorkommen soll. Auch die Bildschirmfarben, die Sprache der Menüs und andere Einzelheiten sind variabel. Alle diese Angaben müssen in einer Konfigurationsdatei (Typ .CFG) stehen. Mitgeliefert werden die Konfigurationen $A.CFG, D.CFG (MAB1), M.CFG (MAB-ähnlich), $P.CFG (Pica), $U.CFG (USMARC). Sie können mehrere Datenbanken mit derselben Konfiguration betreiben oder mit unterschiedlichen. Änderungen an der Konfiguration führt man mit einem Bearbeitungsprogramm aus (man nennt so ein Programm "Texteditor", -Ø`3b). Die Konfiguration ist allerdings nur die eine Hälfte einer Datenbankdefinition, die andere ist die`Index-Parameterdatei: 

2. Parameterdateien = Vorschriften für's System	µd e...
	Die Konfiguration enthält nur Angaben zur Struktur der Daten und einige Grundeinstellungen für die Funktion der Programme. Damit ist noch nicht festgelegt, wie die Daten z.B. am Bildschirm erscheinen, wie sie sortiert, umgewandelt oder ausgedruckt werden können, oder über welche Kriterien man wie zugreifen kann (die Indexierung). In diesen Punkten bleibt viel Raum für Kreativität, und das Werkzeug dazu sind eben die Parameterdateien. Sie enthalten so etwas wie Vorschriften und sind geschrieben in einer Art Programmiersprache, auch Datenmanipulationssprache genannt, die speziell für allegro geschaffen wurde. Es gibt jedoch zwei solche Sprachen: 
	a)	Die Exportsprache (-Ø `Kap.10`) : in dieser Sprache beschreibt man und teilt man dem System mit:    
		(in Klammern stehen Namen von geeigneten Standard-Parameterdateien) 
		•	wie die Daten am Bildschirm angezeigt werden sollen (z.B. D-1.APR)	µd e
		•		wie eine gedruckte Liste aussehen soll (z.B. P-NORMAL.APR) 
		•		wie eine Datenmenge zu sortieren ist (z.B. S-PT.APR) 
		•		in welcher Form Daten in eine andere Datei zu schreiben sind (z.B. E-1.APR). 
		•	wie der -Ø`Index einer Datenbank aussehen soll (z.B. CAT.API)	µd i
		Die Exportsprache hat Ausdrucksmittel für die Anordnung der Elemente, für deren Vorbehandlung (Zerlegen, Zusammenfügen, Ersetzen), für Interpunktion und Umbruchgestaltung sowie Zeichen-Umcodierung. Außerdem gibt es Sprungbefehle, Bedingungsprüfungen und Unterprogramme. 
		Export-Parameterdateien haben die Typkennungen .APR, .API und .APT. 
	b)	Die Importsprache (-Ø Kap.11) : damit beschreibt man, wie "Fremddaten" aussehen und wie sie in allegro-Daten umgewandelt werden sollen. Damit wird nicht jeder Anwender konfrontiert. Import-Parameterdateien haben die Typkennung .AIM. Wie ein Import abläuft, beschreibt Kap.5.	µd imp 
	Auch Parameterdateien sind Textdateien, die man mit einem -Ø`Texteditor (siehe 3b.) erstellt und verändert. Das CockPit ruft automatisch einen solchen Editor auf (-Ø 0.11 und Anh.D), wenn man über das Menü "Dateien" eine solche Datei bearbeiten will. 

3.	Editor
	Damit ist ein Programm oder Programmteil gemeint, mit dem man Datensätze oder Dateien am Bildschirm bearbeiten kann. Es gibt viele solche Programme, aber keins eignet sich für alle Daten. Word und WordPerfect eignen sich z.B. nicht für allegro-Daten. Es hängt von der Struktur der Daten ab, ob man sie mit einem bestimmten Editor bearbeiten kann oder nicht. Der allegro-Anwender braucht zwei Editoren: 
	a)	den integrierten Editor (Funktion 'E' zum Bearbeiten, -Ø Kap.1.5.4 und Kap.3), 
		Damit kann man keine anderen, sondern`nur allegro-Daten bearbeiten, und zwar immer zu einem Zeitpunkt nur einen Datensatz: wenn er auf dem Anzeigeschirm steht, gibt man 'E' wie "Editor". 
		Das Windows-Programm a99 hat mehrere Bearbeitungsfunktionen, unter anderem einen neuen Formular-Editor. Einerseits gibt es die typischen Eigenschaften und Funktionen wie etwa Cut-and-Paste, andererseits bietet das Programm aber auch Möglichkeiten zur anwendungsspezifischen Anpassung und Ausgestaltung mit Hilfe eines Makro-Befehlssystems, genannt FLEX; 
	b)	einen Texteditor. Damit lassen sich Textdateien des einfachsten Typs, sog. "ASCII-Dateien", bearbeiten. (Man muß wissen: Textdateien bestehen aus Zeilen, Datensätze aber aus Datenfeldern, und ein Datenfeld kann viel länger als eine Bildschirmzeile sein.) Zu Typ Textdatei gehören die -Ø`Parameter- und Konfigurationsdateien. Deshalb braucht der allegro-Anwender einen Texteditor. DOS enthält ab 5.0 mit EDIT einen ganz brauchbaren Texteditor. Die aufwendigsten Texteditoren sind Word, WordPerfect und verwandte Produkte. Integrierte Texteditoren gibt es in Hilfssystemen wie "Norton Commander" und "PCTools".  Wenn man vom CockPit aus eine Datei zur Bearbeitung anfordert, kann das mit jedem Texteditor geschehen. Es wird zwar einer namens X mitgeliefert (-Ø `Anhang D`.), aber Sie können auch z.B. EDIT benutzen (wegen der Einbindung ins CockPit -Ø 0.11.6). Unter UNIX verwendet man in der Regel den Editor namens vi.  Nochmals: allegro-Datenbankdateien kann man nicht mit einem Texteditor bearbeiten, denn es sind keine ASCII-Dateien.

4.	Datenbank	µr b
	Wie die Datensätze aussehen, das hängt ab von der -Ø`Konfiguration (Kategorienschema), die Register aber werden beschrieben in der -Ø`Index-Parameterdatei. Der Name dieser Datei ist zugleich der Name der Datenbank. Die vom Anwender erfaßten Datensätze stehen in Dateien vom Typ .ALD (oder z.B. .PLD, wenn man mit einer anderen Konfiguration P.CFG arbeitet!) Deshalb müssen diese Dateien unbedingt und vor allen anderen gesichert werden. Außerdem gehören zur Datenbank der -Ø`Index (Typ .ADX bzw. .PDX) und noch eine Satztabelle (vom Typ`.TBL). Beide können erneuert werden, indem man die Datenbank aus den .ALD-Dateien neu aufbauen läßt. Benutzt wird die Datenbank mit dem Programm PRESTO. Der darin -Ø`integrierte Editor ermöglicht Neueingabe und Korrektur. Auch das Volltext-Suchprogramm SRCH (-Ø Kap.4) kann die Datenbank lesen: es durchsucht die Daten zeichenweise, kann auch -Ø`exportieren, ermöglicht aber keine Korrekturen und Neueingaben. Die Programme INDEX und UPDATE können neue Daten, die man z.B. aus fremden Quellen importiert hat (-Ø Kap.5), einer Datenbank einverleiben. Eine neue Datenbank legt man per CockPit an (μr a) oder mit dem Hilfsprogramm PRONTO. Sind schon Daten vorhanden, läßt man vom Programm INDEX eine Datenbank daraus machen (-Ø Kap.7). 
	In -Ø Kap.0.8 wird zusammengefaßt, welche Dateien zu einer Datenbank gehören.

5.	Index  (-Ø Kap.1.4, Kap.7) 
	Jede Datenbank braucht einen Index. Wenn man sich die Datenbank als Nachschlagewerk vorstellt, enthält der Index das oder die alphabetischen Register. Bis zu 11 solche Register kann ein Index umfassen. Man blättert darin, indem man (ohne Befehl) ein gesuchtes Wort oder dessen Anfang eingibt. Mit Druck auf die Taste <Alt> und eine Ziffer schaltet man auf eines der anderen Register um. Die Indexdatei entsteht und wächst automatisch mit der Datenbank. Wenn man mit dem -Ø`Editor an den Daten etwas ändert, wird der Index automatisch auch geändert. Wie die Register aussehen, das steht in der zur Datenbank gehörigen Index--Ø`Parameterdatei. Diese muß man ändern (mit einem -Ø`Texteditor), wenn man grundsätzliche Änderungen am Index vornehmen möchte. Anschließend muß man aber den Index erneuern lassen - mit CockPit kein Problem (-Ø Kap.0.11.2 und Kap.7).	µr o i

6.	Export = Ausgabe = Formatierung  (-Ø Kap.6 und `Kap.10`)	µf 4
	bedeutet: Daten in eine Datei schreiben oder auf ein Gerät (Drucker oder Bildschirm) ausgeben. Entscheidend ist immer, in welcher Form das geschehen soll, und die Vorschrift dafür steht in einer ExportParameterdatei (siehe`2b.). In die Programme PRESTO, SRCH, INDEX und IMPORT ist eine Exportfunktion eingebaut, d.h. jedes dieser Programme kann exportieren. Es nimmt dazu eine Parameterdatei her und wendet die darin stehenden Vorschriften auf die anstehenden Daten an. 
	Über sog. Optionen (-Ø`Kap.12) kann man den Programmen beim Aufruf mitteilen, welche Parameterdatei auf welche Daten anzuwenden ist (CockPit macht das automatisch). Das Ergebnis ist eine Liste, eine Bildschirmanzeige, ein Index, etc. 

7.	Ergebnismenge  (-Ø Kap.1.4 und 1.5) 
	Wenn man auf eine -Ø`Datenbank über einen -Ø`Index zugreift, kann man die zu bestimmten Registereinträgen gehörigen Datensätze mit den logischen Kombinationstasten '+' (UND), '/'`(ODER) bzw. '-' (NICHT) zu Teilmengen der Datenbank zusammenfassen (bis zu 16.000 Sätzen, Begrenzung möglich mit einem Befehl mr in der Konfiguration). Eine Ergebnismenge kann man durchblättern, exportieren (z.B. drucken), aber auch global verändern oder löschen. 
	a99/alcarta können Ergebnismengen bis 256.000 Sätze verkraften. Befehl mr gilt nur für DOS. 

8.	Datensicherung  (-Ø Kap.0.7)	µr s / w
	Hardware- oder Softwareschäden (Viren!) können Datenbanken ruinieren. Wer gewissenhaft Sicherungskopien (auf Disketten oder Bandkassetten) macht, hat wenig zu befürchten: allegro zeichnet alles auf, was an der Datenbank gemacht wird. Wenn der GAU kommt, hat man die Sicherungskopie und die sog. LOG-Datei, in der die Änderungen protokolliert sind. Ein eigenes Programm, UPDATE (-Ø Kap.9), fügt beides wieder zusammen und stellt so den Zustand vor dem Fiasko wieder her. 

9.	Programmaufrufe  (-Ø `Kap.12`)	µm
	allegro besteht aus mehreren Programmen mit unterschiedlichen Aufgaben (-Ø Kap.0.4). Diese werden entweder vom CockPit automatisch gestartet und wissen dann, was sie tun sollen. Oder man gibt ihnen die nötigen Angaben schon beim Aufruf mit. Der folgende Befehl 
		srch -d abc -e PRINT/liste -s0 -f4 -v0 
	bewirkt z.B. einen Aufruf des Volltext-Suchprogramms SRCH (-Ø Kap.4). Alle sog. "Optionen" beginnen mit einem Bindestrich, das Zeichen hinter dem Bindestrich ist eine Befehlskennung (-Ø Kap.12.2). Bearbeitet wird die Datei abc.alg. Erzeugt wird eine Datei namens LISTE. In der Parameterdatei PRINT.APR ist beschrieben, wie LISTE aussehen soll. -s0 bedeutet: jeder Satz kommt auf die Liste, -v0 heißt: keine Anzeige der Daten während des Durchlaufs. Solche Programmaufrufe kann man in Batch-Dateien zu umfangreichen Abläufen zusammensetzen. Batchdateien (auch Stapeldateien oder bei UNIX Shell Scripts genannt) erstellt und bearbeitet man mit einem -Ø Texteditor. PR-LIST.BAT und QUEX.BAT sind Beispiele dafür; diese enthalten mehrere Programmaufrufe, unter anderem auch Sortiervorgänge. Für die Windows-Programme gibt es statt der Optionen die INI-Datei; Beispiel: `A99.INI`.

10.	Benutzeroberfläche
	Für diese wurde ein hohes Maß an Flexibilität angestrebt. Menüzeilen und Hilfeseiten sind Textdateien und können mit einem -Ø`Texteditor verändert oder sogar übersetzt werden. Es gibt eine englische (wird mitgeliefert) sowie eine spanische und eine niederländische Version. Eigene Menüs können auf verschiedene Art erstellt werden. Dazu kann die MS-DOS-Batchprogrammierung (unter UNIX die Shell-Skriptsprache) benutzt werden (-Ø Kap.12), evtl. angereichert durch zusätzliche Software-Tools. 
	Für das DOS-System gibt es das CockPit (-Ø Kap.0.11). Dieses ermöglicht die Vorbereitung und Steuerung aller Vorgänge über Menüs in einer auch von anderer Software gewohnten Manier. Standardprozeduren wie Neu-Indexieren, Sichern und Wiederherstellen von Datenbanken, Produktion von sortierten Listen u.a. lassen sich dann durch wenige Tasten starten, man kann aber auch eigene Programme und Prozeduren in die Menüs einbeziehen. 

Die Windows-Programme sind nach dem aktuellen Standard gestaltet und können daher in ihren wichtigsten Funktionen schneller erlernt werden. Es ist möglich, auf einem PC dieselbe Datenbank in einem DOS-Fenster zu öffnen und zusätzlich mit einem der Windows-Programme. Ferner können a99 und alcarta die DOS-Programme bei Bedarf starten.

0.1	Allgemeines über Dateien  siehe auch --> `Was sind Dateien?`

Dieser Abschnitt soll besonders Einsteigern eine genauere Vorstellung davon geben, was Dateien eigentlich sind, und wie insbesondere die Titeldaten (ehemals Katalogzettel) gespeichert sind. 
Ein Computerspeicher ist nicht einfach ein Behälter voller Daten, in denen sich der Rechner dann schon "irgendwie" zurechtfindet und stets die richtigen Sachen auf den Schirm oder zu Papier bringt. Vielmehr ist so ein Speicher so etwas wie ein Aktenschrank, in dem viele Ordner für verschiedenste Zwecke stehen, und in jedem Ordner herrscht eine zweckmäßige Untergliederung. Es gibt somit bei jedem Rechnersystem genau festgelegte, unterschiedliche Arten von Daten, und dafür muß es jeweils eigene Ordner geben, Dateien genannt, die sich in Struktur und Inhalt unterscheiden. Jede Datei hat ihren Namen. Damit man schon am Namen einer Datei erkennen kann, welche Art Daten sie enthält, hängt man an den Namen eine Typbezeichnung ("extension") aus 1 - 3 Zeichen und nennt diese auch kurz den Typ einer Datei. Wichtig: In diesem Buch werden Dateinamen oft mit Großbuchstaben geschrieben, weil sie dann optisch besser auffallen. Unter DOS und Windows kann man sie so oder so eingeben, das macht keinen Unterschied, unter UNIX sind jedoch alle allegro-Dateinamen vollständig in Kleinbuchstaben zu schreiben. 

Datensätze
Was früher auf Karteikarten gestanden hätte, speichert allegro in Dateien vom Typ ".ALD" bzw. ".ALG". An diesen Typen erkennt man also auf einer Diskette oder Platte die allegro-Dateien, wenn man sich das Inhaltsverzeichnis ("directory") ansieht. Beide Dateitypen sind so etwas wie Karteischubladen, aber was ist der Unterschied? 
.ALD - Dateien	sind Datenbank-Dateien, die für den direkten Schnellzugriff über einen alphabetisch sortierten Index aufbereitet sind. Für diesen Zugriff sind zwei weitere Dateien nötig (siehe unten: Indexdatei vom Typ .ADX und Adressentabelle, Typ .TBL), für deren automatische Erstellung wird eine Index-Parameterdatei des Typs .API gebraucht. 
.ALG - Dateien	sind dagegen Grunddateien ohne alphabetischen Schnellzugriff über Index, sozusagen unsortierte Zettelkästen. Deshalb wird, etwas unpräzise, auch von "offline"-Dateien gesprochen. Solche Dateien können als Ergebnis (= Ausgabedatei) einer Volltextsuche (Programme 4 und 1) oder eines Importvorgangs (Programm 5) entstehen, man kann aber auch mit dem Programm 2/3 solche Dateien schreiben und bearbeiten. Mit Hilfe der Programme 7 (INDEX) und 9 (UPDATE) können solche Grunddateien dann in Datenbank-Dateien umgewandelt oder in eine vorhandene Datenbank eingemischt werden. Sehr wichtig: Grunddateien können sortiert werden (-Ø Kap.8) 
Der Buchstabe hinter dem Punkt, das 'A' von .ALD und .ALG, wird Konfigurationsbuchstabe genannt und bezieht sich auf das verwendete Kategoriesystem. 'A' steht für das allegro-Standardschema (-Ø Anh.B), das vom ehemaligen Schema des Niedersächsischen Katalogisierungsverbundes (sog. NMN-Schema, bis 1992) abgeleitet ist. Wenn man mit einem anderen Schema (einer anderen Konfiguration) arbeitet, z.B. mit 'U' für "USMARC", lautet der Dateityp ".ULG". Wenn in diesem Handbuch von .ALG-Dateien, .APR-Dateien usw. die Rede ist, gilt entsprechendes immer auch für .ULG-Dateien, .UPR-Dateien etc. Deshalb wird meistens, wenn es nicht speziell um ein bestimmtes Schema geht, 'c' und ".cLD", ".cLG", ".cPR" usw. geschrieben statt ".ALD", ".ALG", ".APR"...  Denken Sie sich also für das 'c' jeweils ein 'A' oder Ihren eigenen Konfigurationsbuchstaben. 

Struktur der Datensätze
Jede allegro-Datei (Typ .cLD oder .cLG) kann eine größere Anzahl (viele tausend) Datensätze enthalten. Ein Datensatz, oft einfach nur Satz oder auch Aufnahme genannt, entspricht i.a. bei Buchdaten einer Titelaufnahme, also einem Katalogzettel. 
Bei "mehrbändigen Werken" kann so ein Satz aus einem Hauptsatz und mehreren Untersätzen (Bandaufführungen) bestehen. Letztere können wiederum hierarchisch untergliedert sein, d.h. jeder Untersatz kann seinerseits Untersätze zweiter Stufe enthalten usf. bis zur Stufe 6. Diese Möglichkeit ist eine Besonderheit des Systems allegro. (Ein einfaches Beispiel dafür finden Sie im nächsten Abschnitt unter 0.2.2, wo die Struktur genauer dargestellt ist.) 
Ab Version 11.2 können Haupt- und Untersätze auch getrennt gespeichert und über Satzverknüpfungen miteinander gekoppelt sein. Verknüpfungen können auch zwischen Sätzen verschiedener Typen bestehen, z.B. zwischen Titelsätzen und Körperschafts-Stammsätzen. Somit ist eine Mehrdateistruktur realisierbar (-Ø 10.2.6.7). 

Ein Datensatz entspricht zwar einer Titelaufnahme, sieht aber völlig anders aus. Was auf einer Katalogkarte steht, ist für ein Programm ein viel zu wenig strukturierter Text. Programme brauchen die Daten in anderer Form, und zwar zerlegt in logisch sinnvolle Einzelteile. Das sieht so aus: 
Jede Aufnahme hat eine variable Anzahl Datenfelder (meist Kategorien genannt). "Variabel" heißt: so viele wie nötig. 
Jede Kategorie kann innerhalb einer Aufnahme mehrfach auftreten und jeweils bis zu 3000 Zeichen (auch Bytes genannt) enthalten. Wenn sie nichts enthält, also in einer Aufnahme nicht mit Inhalt gefüllt wird, beansprucht sie auch keinen Speicherplatz, und zwar noch nicht einmal ein einziges Byte. Andererseits kann eine Kategorie auch noch in sich unterteilt sein (mit Hilfe von Steuerzeichen) in Teil- oder Unterfelder (engl. "subfields"). Das ist vor allem beim MARC-Format so. 
Weitere Einzelheiten zur Struktur der Daten im nächsten Abschnitt. 
Damit aber eine Software überhaupt mit den Daten arbeiten kann, werden noch etliche zusätzliche Dateien benötigt: 

 •	Die wichtigste von allen ist die Konfigurationsdatei, in der die Datenfelder (das Kategorienschema) definiert und andere grundlegende Angaben festgehalten sind; $A.CFG  ist die Standard-Konfigurationsdatei. 
 •	Parameterdateien für Indexdefinition, Bildschirmanzeige, Druckerausgabe, und viele andere Zwecke. 
 •	Zu den .ALD-Dateien einer Datenbank gehören eine Indexdatei und eine Satztabelle: beide werden automatisch erzeugt und verwaltet, erstere ist jedoch durch den Anwender weitgehend beeinflußbar ("parametrierbar"). 
 •	Eine Kurztiteldatei kann das Suchen im Index erleichtern: statt größere Treffermengen einzeln durchzublättern, gibt die Kurztiteldatei, wenn man eine angelegt hat, eine schnelle Übersicht: mit einer Zeile je Titel gehen bis zu 22 Datensätze auf einen Bildschirm. Unter DOS funktioniert eine Datenbank auch ohne die Kurztiteldatei. 
 •	Eine Restriktionsdatei ermöglicht das Einschränken von Suchergebnissen: mit Kriterien wie Erscheinungsjahr, Sprache oder Publikationstyp (sofern man solche Angaben erfaßt hat), kann man große Ergebnismengen of sehr wirkungsvoll verkleinern, bevor man sich die Titel ansieht. Für das Funktionieren der normalen Zugriffe ist diese Datei nicht notwendig, manche Datenbanken haben keine. 
 •	Dateien mit den Menütexten (UIF-Dateien, z.B. UIF1GER) und Erklärungen zu den Funktionen (H-Dateien oder "HELP-Texte", z.B. H10). 
Es muß dabei immer erkennbar sein, auf welchem Kategorienschema eine Datenbankdatei oder eine Parameterdatei beruht. Deshalb gibt es den schon erwähnten Konfigurationsbuchstaben (Standard 'A') als Bestandteil des Dateityps. 
Diese und weitere Dateitypen werden im folgenden näher beschrieben (-Ø 0.3), zunächst wird aber versucht, das allegro-System als einen Schichtenbau zu veranschaulichen, auf dessen Ebenen sich gleichartige Objekte befinden, die sich jeweils zu Objekten der nächsthöheren Schicht zusammensetzen. Hierarchische Schichtenmodelle ermöglichen es in der Informatik, auch komplexe Zusammenhänge noch übersichtlich darzustellen. 
Das wohl bekannteste Beispiel für ein hierarchisches Modell ist das OSI-7-Schichten-Modell der Datenkommunikation. 
In den Kapiteln 10 und 11, darauf sei hier schon hingewiesen, wird ebenfalls mit einem hierarchischen Schichtenmodell versucht, die umfangreichen Export- und Importparametersysteme überschaubar zu machen. 

Bemerkungen zu den Dateien für PC-Kenner
Die Grunddateien vom Typ .cLG dürfen (im Gegensatz zu den .cLD-Datenbankdateien) mit den normalen Befehlen des Betriebssystems kopiert und verkettet (COPY), gelöscht (ERASE)  und  umbenannt (RENAME) werden. Ändern Sie den Typ .cLG jedoch nicht, weil die Programme daran die Art der Dateien erkennen! 
Mit den DOS-Befehlen  SORT und FIND  kann der  Systemkenner durchaus auch gewisse Sortierungen und Auswertungen an .cLG-Dateien vornehmen, nicht aber an .cLD-Dateien. 
Auch  TYPE  zum  Betrachten der Daten auf dem Bildschirm ist möglich, wobei aber die Anzeige ohne Zeilentrennung erfolgt und daher unübersichtlich ist. Besser benutzt man z.B. das Programm SRCH, wobei man als Suchbegriff einfach nur die Ziffer '0' eingibt (die kommt in jedem Datensatz vor); dann laufen die Aufnahmen am Bildschirm durch. Mit dem Windows-Programm a99 kann man solche Dateien komfortabel betrachten und bearbeiten. 
Direkte Bearbeitung der .ALG- bzw. .ALD-Dateien mit anderer Software (z.B. Textprogrammen) ist zwar nicht möglich, da es keine übliche Zeilenstruktur gibt (Datenfelder sind unterbrechungslose Zeichenketten!), aber es ist auch nicht nötig, denn die Exportfunktion (-Ø Kap. 4 u. 6) kann Dateien von beliebiger Struktur herstellen. Auch solche, die einem Textprogramm zugänglich sind. Konfigurations- und Parameterdateien sowie Menü- und Hilfetexte können dagegen mit jedem beliebigen Textprogramm oder ASCII-Editor manipuliert werden (-Ø 0.3). 

0.2	Mehr über Datenspeicherung und -struktur

Bevor nun alle Dateitypen im einzelnen genau erklärt werden, folgt hier die Darstellung des erwähnten Schichtenmodells. 

Wie behält man in einem Massenspeicher die Übersicht? Daß es baumartig angeordnete Verzeichnisse (directories) gibt, weiß jeder auch nur einigermaßen eingeweihte PC- oder UNIX-Anwender. Was aber steht alles in einem Verzeichnis bzw. dem dazugehörigen Plattenbereich? Mit dem Befehl dir (MS-DOS) bzw. ls (UNIX) sieht man nur eine Liste von Namen mit gewissen anderen Angaben, unter denen man Datum und Uhrzeit noch erkennt, den Rest aber ohne Vorkenntnisse nicht zu enträtseln vermag. Relativ leicht lernt man bei DOS, wie Programme und Dateien auseinanderzuhalten sind (die Typen .EXE, .COM und .BAT sind Programme), aber dann hört die Anschaulichkeit auf: irgendwelche Hinweise über Inhalt und Funktion der Dateien und deren Zusammenhänge und Abhängigkeiten untereinander sind den nackten Namen nicht anzusehen, schon gar nicht, wie es drinnen aussieht in den Dateien, wie sie also in sich strukturiert sind. 

0.2.1  Dateien-Hierarchie

Es ist hilfreich, wenn man das ganze Dateisystem mit dem Umfeld, das zur allegro-Software gehört, in eine Anzahl von Schichten oder Ebenen gliedert, die inhaltlich und funktional hierarchisch aufeinander aufgebaut sind. Das sieht folgendermaßen aus: 
+-----------------------------------------------------------------------------+ 
¦ Gesamter Datenraum auf dem Rechnersystem : Programme und Dateien aller      ¦ 
¦ Art, angeordnet in Verzeichnissen (directories), etwa wie Aktenordner       ¦ 
¦-----------------------------------------------------------------------------+ 
¦  allegro-System : "Ordner" mit allen Programmen, Systemdateien, 
¦  Anwenderdateien und Hilfsdateien, die zu allegro gehören 
¦ +--------------------------------------------------------------------------- 
¦ ¦ Anwender-Datenbanken mit anwendungsspezifischen Parameterdateien, 
¦ ¦ also quasi Unterabteilungen des allegro-Ordners. Eine Datenbank kann, muß 
¦ ¦ aber nicht, in einem Unterverz. des allegro-Programmverzeichnisses stehen. 
¦ ¦ Eine Datenbank kann eine Gruppe von bis zu 255 .cLD-Dateien umfassen. 
¦ ¦ +------------------------------------------------------------------------- 
¦ ¦ ¦ Einzelne allegro-Datenbank dbn: 4teiliger Kern mit den Typen .cLD, .cDX 
¦ ¦ ¦ .TBL und .STL, dazu Parameterdateien, mindestens dbn.cPI und D-1.cPR, 
¦ ¦ ¦ und datenbankspezifische Hilfedateien (UIF... und H...-Dateien)     
¦ ¦ ¦ +----------------------------------------------------------------------- 
¦ ¦ ¦ ¦ einzelne Anwenderdatei (Typ .cLD) = Kette von N Aufnahmegruppen:  
¦ ¦ ¦ ¦ Aufn.1 CR   Aufn.2 CR   Aufn.3 CR    ...    Aufn.N CR             
¦ ¦ ¦ ¦ +--------------------------------------------------------------------- 
¦ ¦ ¦ ¦ ¦ einzelner Datensatz                                            
¦ ¦ ¦ ¦ ¦           = Aufnahme[gruppe = Hauptaufnahme + Unteraufnahmen]   
¦ ¦ ¦ ¦ ¦ +------------------------------------------------------------------- 
¦ ¦ ¦ ¦ ¦ ¦ einzelne Aufnahme : Kette von Kategorien, z.B.                
¦ ¦ ¦ ¦ ¦ ¦ 1xxxx20 Quantum reality040 Herbert, Nick074 London075 Wiley..     
¦ ¦ ¦ ¦ ¦ ¦ +----------------------------------------------------------------- 
¦ ¦ ¦ ¦ ¦ ¦ ¦ einzelnes Datenfeld (Kategorie) = Zeichenkette              
¦ ¦ ¦ ¦ ¦ ¦ ¦       = Kategorienummer Text Endezeichen 
¦ ¦ ¦ ¦ ¦ ¦ ¦       z.B. 40 Herbert, Nick0                             
+----------------------------------------------------------------------------- 

CR ist ein Steuerzeichen (Carriage Return) und trennt zwei Datensätze. Es gibt noch weitere Steuerzeichen, die der Anwender ebenfalls nicht kennen muß, z.B. Feldendezeichen, hier als 0 dargestellt, und Satzanfang/Hierarchie-Kennung, hier als 1 dargestellt. Jeder Datensatz in einer Datei des Typs .ALD hat ausserdem, hier als xxxx dargestellt, eine interne Satznummer aus vier Bytes direkt hinter dem Code 1 . Grunddateien (Type .ALG) sehen genauso aus, nur ohne die interne Satznummer. Auf der nächsten Seite wird dies noch genauer gezeigt. 
Zu einer Datenbank können bis zu 255 Dateien des Typs .ALD gehören. Jede Datei kann bis zu 16 MB oder einem Vielfachen davon wachsen. Bei der Erfassung kann man bei jedem neuen Datensatz die Datei anwählen, in die er geschrieben werden soll (Kap. 1.5.4, Befehl F). Jeder Datensatz kann beliebig viele Kategorien und Untersätze haben und insgesamt bis zu 40K groß sein. 

0.2.2  allegro-Datenstruktur : Internformat

Dieser Abschnitt beschreibt noch etwas genauer die Struktur der "eigentlichen" Dateien, d.h. der Typen .ALD und .ALG, in denen die Anwenderdaten stehen. 
Wer muß das wissen? Wer "nur" katalogisiert oder einen allegro-Katalog benutzt, kann diesen Abschnitt übergehen. Dafür interessieren muß sich aber, wer Fremddaten importieren, d.h. in allegro-Daten umwandeln will  (Kap. 5 und 11) und wer allegro-Daten mit eigener Software erstellen will, als sog. "ASCII"-Datei, um sie dann mit dem Programm UPD oder mit a99 in eine Datenbank einzubringen. 
Normal erfaßte Datensätze stehen als zusammenhängende Zeichenfolge in einer Datei des Typs .ALD. (Das Wort "zusammenhängend" ist wichtig: der Datensatz ist nicht in logische oder physikalische Teile oder Blöcke oder Tabellenspalten o.ä. zerlegt, sondern bildet eine einzige Zeichenkette!) Und wenn ein Satz beim Bearbeiten verlängert wird? Dann merkt das die Software (PRESTO und UPDATE) und verlagert den gesamten Satz an eine andere, passende Stelle; wenn es innerhalb der Datei keine gibt, an das Ende der Datei. Der "alte", kürzere Datensatz wird vorn mit dem ASCII-Code 09 statt 01 gekennzeichnet und erhält einen Indexeintrag im Register 1 unter "//" mit seiner Länge (in Bytes) als fünfstelliger Zahl dahinter, z.B.  //00249  für einen Datensatz, der 249 Byte lang ist. Diese Schlüssel braucht das Programm, um geeignete Stellen zum Speichern neuer oder verlängerter Sätze zu finden, also den freigewordenen Platz wieder sinnvoll zu nutzen. 
Hier ist ein Satz in der  Internstruktur zu sehen: 

1xxxx00 654321020 Was können wir wissen?031 Evolutionäre Erkenntnistheorie040 Vollmer, Gerhard074 Stuttgart075 Hirzel076 1985077 Bd.1.2.0
201 1=Bd. 1020 ¬Die¬ Natur der Erkenntnis : Beiträge zur Evolutionären Erkenntnisthe orie025 Mit einem Geleitw. v. Konrad Lorenz077 337 S.087 3-7776-0403-8090 2647-36110
201 2=Bd. 2020 ¬Die¬ Erkenntnis der Natur : Beiträge zur modernen Naturphilosophie077  350 S.087 3-7776-0404-6090 2650-97050 13 10
(So sehen die Daten auch in einer Grunddatei aus (Typ .ALG), nur ohne die Satznummer xxxx) 

Ganz korrekt ist dieser Eindruck nicht, denn es gibt in dieser Datei keine Zeilentrennungen: alles steht in einer langen Zeichenkette hintereinander, nur ganz am Ende stehen die ASCII-Codes 13 10 (in Textdateien sind das die Codes für den Zeilenvorschub). Die Codes 0, 1 und 2 sind Steuerzeichen, und zwar die ASCII-Codes 00, 01 und 02, nicht die Ziffern '0', '1' und '2'. Ganz am Anfang des Satzes steht seine interne Satznummer xxxx , bestehend aus 4 Bytes. 
Die Steuerzeichen bedeuten: 0 = Feldende, 1 = Satzanfang , 2 = Untersatz-Anfang. Wir haben hier nämlich einen hierarchischen Satz mit zwei Untersätzen vor uns: der Hauptsatz beginnt, wie jeder Datensatz, mit dem Code 1 , jeder Untersatz mit 2. Es kann weitere Unterstufen geben, die dann mit 302 ...,403 ... etc. beginnen. 

Felder, die nicht besetzt sind, treten einfach gar nicht auf, es gibt dafür keinerlei Platzhalter! Deshalb werden die Feldnummern (engl. "tags") benötigt: Jedes Feld begimmt mit einem solchen, intern ohne # davor, und endet mit dem Code 0  (nicht der Ziffer 0, die hat den Code 48). 

Externformat: 
Derselbe Satz kann für die Windows-Programme a99/alcarta/acon und das UNIX-Progamm acon auch so aussehen: (zum externen Bearbeiten und zum Einlesen aus einer Datei; innerhalb der Datenbankdatei bleibt es bei der oben gezeigten Struktur.) 
Diese Struktur ist leichter zu handhaben, wenn man die Daten etwa mit anderer Software produzieren oder einlesen will. Sie nennt sich "Externstruktur" . 

#00 654321 
#20 Was können wir wissen? 
#31 Evolutionäre Erkenntnistheorie 
#40 Vollmer, Gerhard 
#74 Stuttgart 
#75 Hirzel 
#76 1985 
#77 Bd.1.2. 
#01 1=Bd. 1 
#20 ¬Die¬ Natur der Erkenntnis : Beiträge zur Evolutionären 
 Erkenntnistheorie 
#25 Mit einem Geleitw. v. Konrad Lorenz 
#77 337 S. 
#87 3-7776-0403-8 
#90 2647-3611 
#01 2=Bd. 2 
#20 ¬Die¬ Erkenntnis der Natur : Beiträge zur modernen Naturphilosophie 
#77 350 S. 
#87 3-7776-0404-6 
#90 2650-9705

•	Dateien mit dieser Struktur, sog. "Externdateien", müssen den Typ .cDT haben, damit die Programme sie erkennen, also .ADT im Fall des Standardschemas A.CFG. 
•	Jedes Datenfeld muß hier auf einer neuen Zeile beginnen, mit einem '#' auf der ersten Position. Zeilenumbrüche sind nicht nötig, d.h. jedes Feld kann eine einzige lange Zeile sein. 
•	Wenn jedoch in langen Feldern Umbrüche auftreten sollen, müssen diese bei einem Leerzeichen stattfinden, und die Folgezeile muß mit diesem Leerzeichen beginnen.
•	Sätze müssen durch genau eine Leerzeile voneinander getrennt sein. (D.h. durch die Codefolge 13 10 13 10 oder 10 10.) 
•	Hierarchische Untersätze (mit #01 beginnend) dürfen nicht duch Leerzeilen vom Hauptsatz abgetrennt sein.
•	Der Beginn eines neuen Satzes wird auch ohne Leerzeile erkannt, wenn eines der Felder #u1, #u2 oder #00 kommt (bzw. statt #00 das erste Feld, das in der CFG nach #u1 und #u2 definiert ist.
•	Beim Einlesen wird die Datei als beendet angesehen, wenn mehr als zwei Leerzeilen auftreten.
•	Jeder Satz kann eine eingerückte Überschrift haben, die beim Einlesen aber nicht mit übernommen wird. Dies kann man nutzen, um Externdateien mit dem Hilfsprogramm `asort.exe` zu sortieren (ab V27.2). Die Überschriften müssen dann in der gewünschten Weise sortierfähig sein.

Wenn man diese Form mit anderer Software aus Fremddaten herstellen kann, kann das allegro-System sie einlesen. Die Zeichen müssen der datenbank-internen Codierung entsprechen, im Standardfall ist das DOS-ASCII-Code! 
Die Programme merken also beim Einlesen selbst, und zwar an den Kategorien #00 und #01, wo ein Satz bzw. Untersatz beginnt. (In einem anderen Schema, wie z.B.  $P.CFG, sind dies andere Nummern, z.B. #0100 und #70XX.) Wenn es keine #00 gibt, muß eine Leerzeile zwischen zwei Datensätzen sein. (Beim Einmischen der Daten in die Datenbank vergibt dann das Programm selber eine neue IdNummer und erzeugt das Feld #00 für den Datensatz. Dazu benutzt es die Angaben  cg  und  ci  in der CFG.

?Ausgabedaten=h =Ausgabedaten als 
?Eingabedaten=h =Eingabedaten kommen 
?Export=h =Export = Ausgabe 
?Import=h =Datenmanipulationssprache 
?Parameterdateien=h =2. Parameterdateien = 
?Datenbank=h =4. 
?Datensicherung=h =8. 
?Programmstart=h =Programmaufrufe 
?Dateistruktur=h =Allgemeines 
?Editor=h =3. 
?Index=h =Jede Datenbank braucht einen Index 
?Ergebnismenge=h =7. 
?Benutzeroberfläche=h =10.  
?Konfiguration=h =1. 
?Anhang A=h aca-1 
?Kap.10=h ac10 
?Kap.12=h ac12 
?Leitfaden zur Einarbeitung=h ac-leit 
?Inhaltsverzeichnis=h handbuch 
?Externformat=h =Externformat: 
?Internformat=h =Internstruktur 
?Anhang D=h acd 
?A99.INI=h a99.ini 
?Was sind Dateien?=h dateien 
?Füllhorn=h doku 
?asort.exe=h sort