Fb. 2-2: Technik der allegro-Datenbank

Bernhard Eversberg ev at buch.biblio.etc.tu-bs.de
Do Mai 13 09:26:30 CEST 2004


Fortbildungskurs

   2    Das Allegro-Konzept
   2.2    Technik der allegro-Datenbank


Jetzt wissen Sie, was es für Dateien gibt. Aber wie wirkt das alles
zusammen? Von selber machen die Dateien nichts, da stehen nur Daten
drin. Die Programme sind es, die einem die Inhalte von Dateien zeigen
und damit etwas tun, neue Daten hineinschreiben usw.
(Andererseits: Programme sind auch nur Dateien, d.h. lange Listen von
Zahlen. Diese Zahlen stellen aber keinen Text dar, sondern Befehle, die
der Computer ausführen kann. a99.exe ist z.B. eine solche "ausführbare" 
Datei, keine menschenlesbare mit Text drin.)

Was passiert beim Katalogisieren? Welche Dateien sind da betroffen?
Schaden kann's nicht, darüber ein paar Dinge zu wissen...

Wenn man mit einem neuen Datensatz beginnt, wird noch nichts in
eine Datei geschrieben! Alles spielt sich zuerst im Arbeitsspeicher ab.
Erst wenn auf [Speichern] gedrückt wird (PRESTO: F10), dann
passiert was, und zwar viel:

1. Der Datensatz wird in eine Datendatei geschrieben (Typ .ALD)
   Eine Datenbank kann bis zu 255 Datendateien haben. In welche davon
   gespeichert wird, kann man in der INI-Datei einstellen.
   Wenn es einen gelöschten oder freigegebenen Satz gibt, in den 
   der neue hineinpasst, wird der gelöschte überschrieben. 
   Sonst kommt der neue Satz an das Ende der Datei. Von alledem 
   merkt man nichts,

2. Der Satz bekommt dabei eine interne Nummer, und zwar übernimmt
   er die des gelöschten bzw. er erhält die nächsthöhere Nummer,
   die noch nicht vergeben wurde. Die Adresse des Satzes (Dateinummer
   plus Position in der Datei) wird in die Datei vom Typ .TBL
   geschrieben (die "Satztabelle"), das sind pro Satz nur 4 Byte.

3. Aus dem Datensatz werden die Registereinträge (die "Schlüssel")
   gebildet. Das geschieht nach der Vorschrift, die in der
   Index-Parameterdatei steht (Standard: Datei cat.api), und die
   ist auch für die Punkte 4. und 5. zuständig.
   Die Einträge kommen alle in die Indexdatei, Typ .ADX.
   Diese besteht aus bis zu 11 Teilen, die "Register"
   genannt werden. Die interne Satznummer wird mit 
   jedem Schlüssel mitgespeichert.

4. Die Kurzzeile wird gebildet und in die Datei vom Typ .STL
   geschrieben. Das sind die Zeilen, die man bei der Anzeige von
   Erg.Mengen sieht.

5. Die Restriktionsangaben werden gebildet und in die Datei vom 
   Typ .RES geschrieben. Das sind z.B. Erscheinungsjahre und
   Sprachcodes, die bei der Einschränkung von Erg.Mengen 
   benutzt werden können.

6. Während dieser Vorgänge wird die Datenbank für andere Schreibversuche
   gesperrt, sonst könnte es ein Durcheinander geben. Daher kann die
   Meldung "bitte warten" kommen, wenn man speichern will. Wenn die
   nicht weggeht und man also nicht speichern kann, obwohl sonst keiner
   am Arbeiten ist, dann ist die Sperre nicht wieder aufgehoben worden.
   Dazu gibt's den Menüpunkt "Datenbank sperren/freigeben" auf dem
   ORG-Menü (h org  eingeben).

Hinterher, beim Suchen, entnimmt das Programm immer aus dem Index 
die interne Nummer eines Satzes, stellt dann über die Satztabelle
seine Adresse fest und greift auf die richtige Datendatei zu, um den Satz
zu holen und anzuzeigen. So einfach ist das Ganze! (Ganz im Ernst: viel
einfacher könnte man es wirklich nicht machen - aber wie gesagt,
der Nutzer sieht das alles gar nicht.)

Was folgt daraus?
Die Titelaufnahmen, also was man eingegeben hat, stehen NUR in den 
Datendateien, Typ .ALD. Nur diese müsste man also sichern. Die anderen Dateien
können in der Tat alle rekonstruiert werden: Dazu gibt es das Org-Menü, 
das die einzelnen Schritte genau erklärt: Geben Sie ein
   h org
und dann klicken Sie oben rechts auf  HILFE..HILFE..HILFE
Dann kommt die ausführliche Fassung des Menüs.
Neuerdings auch: Menü "Global / Re-Organize"

Übrigens: Die interne Nummer eines Satzes steht nicht in einem Datenfeld. Die
sehen Sie nur in dem zweiten Statusfeld von unten rechts. Da steht z.B.
126/1 L354
Das heißt: Sie haben den Satz 126 vor sich, der gespeichert ist in der Datei 1
und er ist 354 Byte lang. Im DOS-Programm PRESTO sieht man diese Angaben in
der obersten Zeile. (Nicht in alcarta bzw. in APAC.)



Bernhard Eversberg
Universitaetsbibliothek, Postf. 3329, 
D-38023 Braunschweig, Germany
Tel.  +49 531 391-5026 , -5011 , FAX  -5836
e-mail  B.Eversberg at tu-bs.de  




Mehr Informationen über die Mailingliste Allegro