Logo


Was wäre gut zu wissen über - Bits und Bytes, Daten und Dateien?


Für eilige Leser: Welche Dateien braucht eine allegro-Datenbank?

Fangen wir mal ganz anders an. Nicht am unteren Ende (bei den Bits) und nicht am oberen (bei den Dateisystemen und Datenbanken), sondern in der Mitte. Da liegt das, was jeder kennt: der Datensatz, in Bibliotheken früher Titelaufnahme genannt.
Rein ins kalte Wasser, hier ist so ein Datensatz:  (wie er in vielen allegro-Datenbanken aussieht) 

#00   216478049
#20   ¬Der¬ Herzogsprozeß : ein Bericht über den Prozeß des welfischen
      Herzogshauses gegen den Freistaat Braunschweig um das Kammergut (1921/25)
#30a  ge
#30k  15.51
#31s  Fürstenabfindung; Braunschweig <Staat>
#37   de
#39   von Burkhard Schmidt
#40   Schmidt, Burkhard
#74   Wolfenbüttel
#75   Braunschweig. Geschichtsverein
#76   1996
#77   184 S. : Ill
#81   Literaturverz. S. 172 - 176
#85   Beihefte zum Braunschweigischen Jahrbuch ; 12
#87   3-928009-10-9
#89   D952579413
#90   Q4-1234


Verwirrend? Altgediente Bibliothekare erwarten vielleicht so etwas wie das hier:

Signatur: Q4-1234
Schmidt, Burkhard:
Der Herzogsprozeß : ein Bericht über den Prozeß des welfischen
Herzogshauses gegen den Freistaat Braunschweig um das Kammergut (1921/25)
/ von Burkhard Schmidt.
Wolfenbüttel : Braunschweigischer Geschichtsverein, 1996. - 184 S. : Ill
(Beihefte zum Braunschweigischen Jahrbuch ; 12)
ISBN 3-928009-10-9
Literaturverz. S. 172 - 176
Themen:
Fürstenabfindung
Braunschweig <Staat>


Oder so ähnlich. Warum kann man Daten nicht so eingeben und speichern? Das hat zwei Gründe: 
  1. Computer sind zu dumm. Sie brauchen die Daten in kleineren Häppchen, sonst können sie die Angaben nicht sicher unterscheiden und getrennt auffindbar machen. Daten müssen deshalb in lauter einzelne Elemente mit eindeutigen Bezeichnungen oder Positionen zerlegt werden. Die nennt man auch "Datenfelder". Oben sieht man das: z.B. beginnt mit der Bezeichnung #74 das Datenfeld für den Erscheinungsort.
  2. Ein Online-Katalog soll mehr als nur ein elektronischer Zettelkatalog sein : Er soll noch andere Funktionen erfüllen (Erwerbung, Ausleihe) und andere Produkte hervorbringen (Listen verschiedenster Art, Statistiken). Auch deshalb ist das Zerlegen der Daten in Elemente nötig, die man auch getrennt verwenden kann und mit denen Programme arbeiten können. Dabei ist eine strikte, formale Einheitlichkeit wichtig – Automatismen gehen sonst schief, weil sie keine echte Intelligenz besitzen. Hätte man z.B. nur ein einziges Feld für Namen und würde dort mal "Fritz Müller" eintragen und mal "Müller Fritz" und mal "Universität Köln" oder auch mal "Köln, Universität" – ein Programm könnte diese Uneinheitlichkeit nicht ausgleichen und auch nicht erkennen, welche Namen denn Personen und welche Körperschaften bezeichnen.

Altgediente Datenbankleute erwarten dagegen was ganz anderes, nämlich sowas wie eine Tabelle:

IdNr Titel Verfasser Ort Verlag Jahr ...
... ...          

216478049

¬Der¬ Herzogsprozeß : ein Bericht ... Schmidt, Burkhard Wolfenbüttel Braunschweig. Geschichtsverein 1996 ...
... ...          


Denn die Tabelle ist das Grundkonzept der relationalen Datenbanken - das wichtigste Konzept der professionellen Informatik. Warum wird's nicht so gemacht? Das hat mehr als zwei Gründe, die an anderer Stelle ausführlich zusammengestellt wurden: 

"Vergleichende Gegenüberstellung allegro – Relationale Datenbanksysteme",  http://www.allegro-b.de/doku/a-r.htm .

Ein paar wichtige Gründe sind:
  • Man bräuchte sehr viele Spalten, d.h. die Tabelle würde unhandlich breit,
  • Schwierig und unübersichtlich wird es auch, wie das Beispiel schon zeigt, wenn lange Inhalte auftreten (Titel, Namen)
  • Etliche Felder werden recht selten gebraucht, d.h. man hätte oft viele leere Spalten in der Tabelle,
  • Mehrfachfelder (z.B. für Personen und Schlagwörter) sind nicht gut möglich: es gibt keine geteilten Tabellenspalten,
  • Strukturen innerhalb von Spalten werden vom System nicht unterstützt (z.B. Nichtsortierzeichen oder vorgeschriebene Interpunktion, Unterfelder). Man muss viel extra Software schreiben, um so etwas zu handhaben.
  • Einfügen neuer Spalten in eine einmal existierende Datenbanktabelle ist schwierig.

Die Tabelle ist somit nicht die beste Idee für Bibliotheksdaten. 
(Für Neugierige steht in einem anderen Papier ganz ausführlich, was denn das Besondere an bibliographischen Daten ist:  http://www.allegro-c.de/formate/kap1.htm ) 

Wir halten fest: Ein Datensatz besteht in fast allen Systemen aus numerierten Elementen, wie z.B. 

#40 Schmidt, Burkhard

was ja offenbar ein Verfassername ist. Und #20 steht wohl für den Titel, #76 für das Erscheinungsjahr – einiges kann man erraten. Diese Elemente werden oft Kategorien genannt. Das hat sich im Bibliothekswesen so eingebürgert, in der Informatik aber nicht, da spricht man von Datenfeldern. Die Datenfelder haben Nummern, die man auch tags nennt (das ist Englisch und heißt sowas wie Label ). Es gibt mehrere solche Nummernsysteme, die man auch "Bibliothekarische Datenformate" nennt: das weltweit bekannteste ist MARC21. In Deutschland wurde früher für den Austausch von Daten MAB2 verwendet, aber MARC21 hat es abgelöst. allegro-Anwender benutzen meistens das leichter zu lernende und zu handhabende "Konsolidierte Format":http://www.allegro-c.de/doku/form2004/ . 
Es gibt noch andere, aber sogar die berühmten Standards wie MARC und früher MAB sind von System zu System immer unerfreulich anders.
Innerhalb einer Datenbank müssen die Daten aber einheitlich sein. Daher steht ganz am Anfang, wenn man eine neue Datenbank aufmachen will, die Entscheidung für eines der Formate. Alles über Bibliothekarische Datenformate, mehr als Sie vielleicht wissen wollen, verrät die Web-Adresse http://www.allegro-c.de/formate/ . 

Summa summarum: aus der Titelkarte im Zettelkatalog wird ein Datensatz im Online-Katalog. Der Online-Katalog ist eine besondere Art von Datenbank. Eine Datenbank besteht also aus einer Menge von Datensätzen und ein Datensatz aus einer Anzahl von Datenfeldern, d.h. wir haben es mit drei Ebenen zu tun: 


Eine Datenbank 
enthält  Datensätze 
bestehend aus  Datenfeldern


Was ist anders als bei Karteien?

Einen Zettelkatalog kann (konnte!) sich jeder vorstellen - das ist / war nichts anderes als eine Kartei. Neue Zettel wurden von Hand an den richtigen Stellen eingeordnet. Wie ist das bei einer Datenbank, was passiert da mit neuen Datensätzen? Das Eintippen der Daten ist Handarbeit, wie früher das Schreiben der Zettel, aber das Einordnen (dazu sagt man "Abspeichern"), damit man alles hinterher leicht wiederfindet, das passiert vollautomatisch. Aber nur, wenn für diese Aufgabe eine Software da ist, ein Programmsystem, das sich Datenbanksystem nennt. Von sich aus, nur mit Windows oder UNIX ausgestattet, kann ein Computer das nicht machen - er hat da gar keine Ahnung von. allegro ist ein solches Datenbanksystem. Pica ist ein ganz anderes, und es gibt noch mehr von der Sorte. Sie unterscheiden sich in vielen Dingen, unter anderem in den Ansprüchen, die sie an die Hardware und das Software-Umfeld stellen. In den Kosten auch, ganz klar.

Den Datensatz kann man sich auch gut vorstellen, man kann ihn ja sehen. Sowas wie ein kleiner Text ist das, ein Dokument, aufschreibbar auf einer Karteikarte oder einem Blatt Papier. Aber wie kann man sich die Datenbank genauer vorstellen? Ist das nur ein großes Dokument, ein langer Text, in dem viele kleine (eben die Datensätze) untereinander stehen? Das wäre zu simpel, es gehört noch einiges mehr dazu. Eine Datenbank ist auch mehr als ein Karteischrank voller Zettel oder ein Ordner voller Dokumente. Solche Vorstellungen sind zu oberflächlich oder datentechnisch unmöglich. 
Fragen wir noch mal etwas anders: 

Ist ein Datensatz eine Datei – ist die Datenbank ein Ordner?

Nein, so einfach ist das auch wieder nicht. Wer mit Windows arbeitet, wird immer wieder mit "Ordnern" konfrontiert. Die Ordner haben Namen, z.B. gibt es da den Ordner "Eigene Dateien". Lässt man sich einen Ordner vom "Explorer" oder vom "Arbeitsplatz" aus zeigen, dann sieht man eine Menge Namen und Symbole. Diese stehen für weitere Ordner (Unterordner) oder für Dateien.  Die Ordner und Unterordner erkennt man an diesem Symbol: 

    oder auch    

Das sieht absichtlich so aus wie eine Karteischublade bzw. eine Aktenmappe: man soll intuitiv ahnen: da stecken mehrere Dinge (Dokumente oder Dateien) drin. 
Übrigens: das englische Wort für "Datei" ist file. Das ist kein Computer-Fachwort, es ist das alte Wort für "Kartei". Die Ordner werden folder genannt, also Mappen.
Klickt man auf ein solches Symbol, dann erscheint, was drinsteckt: der Inhalt des Ordners, und das ist wieder ein Sortiment von Symbolen und Namen - ein Unterordner kann wieder noch mehr Unterordner und noch mehr Dateien beherbergen. 
Die Symbole sind übrigens nur eine Orientierungshilfe für den Nutzer, von Windows spendiert, sie sind nicht gespeichert, sie gehören nicht zum Inhalt der Ordner und Dateien. Schalten Sie lieber um auf die "Detail"-Ansicht, da sehen Sie erst die Dinge, auf die es ankommt. 


Aber was ist wirklich eine "Datei"? 

Kann man das nicht ganz knapp sagen? 
Einerseits ja: Jede Datei ist eine Folge von Zahlen. Das ist aber nur die unterste Ebene, die der Mensch normalerweise nicht sieht. Weiter oben wird's schwieriger, denn Computer speichern alles in Dateien, wirklich alles. Auch ein Dokument oder ein Bild oder ein Video ist nur eine Datei. In dieser Form kann kein Mensch ein Bild erkennen, das geht nur mit einer Software, die aus den Zahlen Bildpunkte macht.
Sogar Programme sind Dateien! Man nennt solche auch "ausführbare" Dateien, denn es stehen lauter Befehle drin, die der Computer ausführen kann – wenn er die Programmiersprache beherrscht, in der die Programmdatei geschrieben ist. 

Aber eine Datenbank ist mehr als eine Datei, es gehören mehrere dazu. Diese Dateien stecken zwar meistens alle in einem Ordner, aber nicht unbedingt: das ist Sache der Software. Ein Datensatz ist weniger als eine Datei, denn meistens stecken sehr viele Datensätze gemeinsam in einer Datei. 

Abschweifung :  Was bedeutet eigentlich "eine Datei öffnen"? 

·    Man doppelklickt auf ein Dateisymbol, um die Datei zu öffnen – jeder kennt das. Das wirkt so selbstverständlich, ist es aber nicht. Windows verbirgt sogar dabei die Existenz von Programmen (wie sie heißen und wo sie sich befinden) die mit der Datei etwas anfangen können.

·    Wenn die Datei einen Namen hat, der mit .doc endet, dann wird das Programm Word gestartet und Word öffnet die Datei. Oft heißt es hier zwar Dokument, es ist aber nichts anderes als eine Datei. Wenn man Word oder OpenOffice nicht installiert hat, kann der Computer eine .doc-Datei nicht öffnen. Sie erscheint ihm dann als eine unbekannte Datei – als eine lange Folge von Zahlen und sonst nichts. Wenn andersrum ein Dateiname mit .doc endet, ist es nicht unbedingt eine Word-Datei, es kann also passieren, dass Word daran scheitert. Nicht der Name ist entscheidend, sondern die Struktur des Inhalts.

·    Oft gibt es mehr als ein Programm, mit dem man eine Datei öffnen kann. Windows nimmt automatisch dasjenige, das für die Namenserweiterung intern eingetragen ist. Wer Bescheid weiß, kann aber ein anderes nehmen (z.B. OpenOffice statt Word) – und dann sieht die Datei u.U. etwas anders aus, obwohl der Inhalt (die Zahlenfolge) natürlich derselbe ist.

·    Wenn die Datei einen Namen hat, der mit .exe endet, ist es ein Programm, und "öffnen" ist dann kein günstiges Wort, man sollte "starten" sagen.

·    Aber: Wenn man an einen Dateinamen einfach .doc anhängt oder .exe, dann wird daraus keineswegs ein Word-Dokument bzw. ein Programm. So einfach ist das nicht. Es kommt alles auf das Eingemachte an: die innere Struktur. Wenn die nicht stimmt, passiert nichts Sinnvolles.


Tip: Windows hat im "Explorer" oder "Arbeitsplatz" eine Einstellmöglichkeit unter "Extras / Ordneroptionen / Ansicht", die da lautet "Erweiterungen bei bekannten Dateitypen ausblenden". Nehmen sie das Kreuzchen weg, das dort normal eingestellt ist. Machen Sie das unbedingt, Sie werden sonst in den Dateiübersichten unvollständig informiert: Sie sehen die Dateitypen nicht: die Anhängsel .doc oder .exe usw. werden dann einfach nicht gezeigt...

Nochmal anders gefragt: Aus was besteht eine Datei? 

Jede Datei hat einen Namen und einen Inhalt. In der Übersicht des Ordners sieht man bei jedem Namen ein Symbol (auch Icon genannt). Das Symbol gehört, wie gesagt, nicht zur Datei. Windows hat eine Liste von Namenserweiterungen und ordnet diesen jeweils ein Symbol zu , aber intern hat dieses mit der Datei funktional gar nichts zu tun.
Der Dateiname (auch ein Ordnername) kann bis zu 255 Zeichen lang sein, inkl. der Erweiterung. Es ist sehr zu raten, nicht solche langen Namen zu verwenden, denn das hat Nachteile. Wenn man aufgefordert wird, einer Datei einen Namen zu geben (z.B. bei "Speichern unter..."), halte man sich an folgende Regeln (es sei denn, man weiß genau, was man will und warum):
  • Nicht mehr als 20 Zeichen
  • Nur Kleinbuchstaben, Ziffern und Bindestrich verwenden. (Unter Windows sind klein und groß gleichwertig, unter Liinux/UNIX nicht)
  • Ein Punkt nur zwischen Name und Erweiterung
  • Keine Leerzeichen im Namen (besonders wichtig, denn es kann ärgerliche Probleme verursachen)
  • Keine Umlaute oder anderen Sonderbuchstaben
  • Keine andere Erweiterung als die automatisch vorgeschlagene. Wenn keine vorgeschlagen wird, dann nicht mehr als drei Zeichen.
Diese Regeln sind nicht zwingend, d.h. Microsoft besteht nicht darauf, aber man erspart sich damit wirklich Ärger, z.B. bei der Übertragung von Dateien nach UNIX oder Linux.
Nebenbei: Word, hilfreich wie es sein will, schlägt als Namen immer die erste Zeile des neuen Textes vor. Ändern Sie das dann unbedingt, denn fast immer ist so ein "Name" unpraktisch lang und enthält Leer- und Sonderzeichen - keine gute Idee. 

Früher, zu DOS-Zeiten, da konnte ein Name nur aus 8 Zeichen plus 3 Zeichen Erweiterung bestehen. Viele halten sich noch heute daran, um keine Probleme beim Kopieren zwischen den Plattformen zu haben, mit alten Programmen (DOS), oder beim Austausch mit anderen Anwendern. Auch alle offiziellen allegro-Dateien folgen dieser Regel. 

Der Inhalt einer Datei, ob .doc oder .exe oder .txt oder sonstwas, ist (wir sagten es schon) immer nur eine Folge von Zahlen, und zwar Zahlen zwischen 0 und 255. Das sind die Zahlen, die man mit 8 Nullen und Einsen (sog. Bits) codieren kann, daher kommt das. (Ab 256, das ist 2 hoch 8, braucht man 9 Bit.) Eine Folge von 8 Bit nennt man auch Byte. Auf den unteren Ebenen können die Rechner nur mit Bytes arbeiten, daher ist das eine so wichtige Einheit.
Zum Verständnis sehr wichtig: In der Datei steht keine Information über sich selbst, sie enthält keine Angaben (sog. "Metadaten") zu ihrer eigenen Struktur und zu ihrem Inhalt. Wenn man nur die Zahlenfolge betrachtet, wird man nicht schlau draus. Der Dateityp, .doc oder .html oder was auch immer, ist eine Äußerlichkeit, die vollkommen irreführend sein kann.

Die kleinste mögliche Datei hat 0 Byte Inhalt, d.h. sie besteht nur aus ihrem Namen. Nach oben gibt es kaum eine Grenze. Wenn man sich von einem Ordner die "Detail"-Ansicht anschaut, sieht man, wie groß jede Datei ist, meistens angegeben in K, wobei ein K = 1024 Byte ist. (Warum 1024? Das ist 2 hoch 10. )

Wo sind aber die Buchstaben in einer Textdatei, wenn die nur aus Zahlen besteht? Sie sind natürlich verschlüsselt. Jeder Buchstabe bekommt eine Nummer zugeordnet, z.B. wird das 'A' mit 65, das 'a' aber mit 97 verschlüsselt. Meistens jedenfalls. Eine Software kann es u.U. auch anders machen, das kann der Nutzer nicht sehen. Was er sieht, ist fast nie das, was wirklich gespeichert ist. Das erschwert an vielen Stellen das Verständnis, das ist klar, mit Intuition kann man das nicht durchschauen.

Außer den Textzeichen braucht eine Textdatei noch mindestens ein besonderes Steuerzeichen für "Neue Zeile". Unter DOS/Windows sind das zwei Zeichen: die Codes 13 und 10 hintereinander. Sie sind normalerweise unsichtbar, wenn man die Datei "öffnet". Was man sieht, ist ihre Wirkung: es beginnt eine neue Zeile. Unter UNIX ist es nur der Code 10, der zwei Zeilen trennt. Ein anderes Steuerzeichen kommt auch oft vor: Code 09 für "Tabulator". Eine .txt-Datei enthält nur Text und diese wenigen Steuerzeichen, eine .doc-Datei enthält noch sehr viel mehr Steuerzeichen – fast nur WinWord kennt sie alle und kann damit umgehen... 

Neuerdings wird immer mehr mit Unicode gearbeitet. Das ist eine Methode, mit der man mehr als 256 verschiedene Zeichen codieren kann. Was über die normalen Buchstaben und Ziffern hinausgeht, das wird mit Hilfe von zwei oder drei Bytes verschlüsselt. Das 'a' bleibt Code 97, aber 'ä' besteht aus zwei Codes: 195/164, statt 132 bei DOS und 228 bei Windows. 
Mehr dazu steht in einem eigenen Kapitel:  http://www.allegro-b.de/doku/unicode/ .

Noch 'ne Abschweifung :  Was passiert bei "Speichern unter ..."?  (Englisch: "Save as ..." )

·    Man wird dann ja nach einem Namen gefragt. Oft wird einer vorgeschlagen, aber denken Sie an die Regeln, den Namen selbst können Sie beliebig ändern, die vorgegebene Erweiterung sollten Sie normalerweise nicht ändern.

·    Dabei kann man auch vorgeben, in welchem Ordner die Datei liegen soll.

·    Aber dann: es entsteht eine Datei, was sonst, mit dem eingegebenen Namen. Das Programm "weiß" also, wie es das Dokument, oder was es ist, in Zahlen umzuschlüsseln hat, damit es gespeichert werden kann - denn anders als mit Zahlen verschlüsselt kann man nun mal nichts speichern. 

·    Wenn man später die Datei wieder "öffnet", liest das Programm die Zahlen wieder aus der Datei und "weiß", was es damit zu tun hat, damit wieder der Text oder das Bild entsteht,  aus dem die Datei bei "Speichern unter ..." entstanden war.

·    Als Mensch bekommt man also die Zahlen nicht zu sehen, die Programme ersparen einem das. Wer sich auskennt, kann aber mit besonderen Programmen sich jede Datei auch in der internen Form anschauen. Oft bringt das nichts, es kann aber für Fehlerdiagnosen manchmal sehr wichtig sein.


Eine Datenbank
  • Besteht meistens aus mehreren Dateien
  • Diese müssen nicht im selben Ordner liegen, tun es aber meistens
  • Die Dateien unterscheiden sich in mehrfacher Hinsicht:

1.    Inhalt  (was für Angaben stecken drin?)

2.    Struktur  (wie sind die Angaben gestaltet und codiert?)

3.    Funktion  (was wird damit gemacht, wofür wird die Datei gebraucht?). Äußeres Merkmal dafür ist meistens die Namenserweiterung.

4.    Wichtigkeit (manche Dateien dürfen fehlen, andere sind lebenswichtig - d.h. ohne sie geht nichts)

5.    Größe (das ist die Anzahl der Bytes. 1024 Bytes = 1 Kilobyte (KB = 2hoch10 Bit), 1048576 Bytes =1 Megabyte (MB = 2hoch20 Bit) 

Mindestens eine der Dateien enthält die Daten, die man eingetippt hat, das wird man intuitiv vermuten. Aber welche ist es? Und wozu gibt es da noch andere Dateien – müssen wir das wissen, müssen wir uns darum kümmern? Im Prinzip sollte es reichen, wenn die Software alles weiß, aber es gibt Situationen, wo ein paar Kenntnisse doch sehr helfen.
Für die Größe der einzelnen Dateien gibt es gewisse Grenzen, die allerdings kaum je überschritten werden. (Dokumentation dazu)

Am Beispiel einer allegro-Datenbank sind die Dinge gut erklärbar. (Bei anderen Systemen kann es ähnlich, aber auch völlig anders aussehen.) Ganz ausführlich steht es in den Kapiteln 0.3 und 0.8 des Handbuchs. Hier beschreiben wir nur die wichtigen Bestandteile, die immer gebraucht werden. 

Die Datenbank braucht einen Namen. Der Name der Demo-Datenbank ist  cat. Die Namen der zugehörigen Dateien beginnen deshalb alle mit cat. 

Die wichtigsten Dateien einer allegro-Datenbank sind diese:

Datei Name.Typ Inhalt und Funktion : Wozu ist sie gut, was steht drin?
Datendateien cat_1.ald
[
cat_2.ald ... cat_255.ald]
Enthalten die eingegebenen Daten. Es kann mehrere solche Dateien geben. Diese haben dann Nummern von 1 bis 255.  Diese Dateien muss man unbedingt sichern, die anderen entstehen automatisch und sind reparabel.
Indexdatei cat.adx Da stecken die alphabetischen Register drin, über die man zugreift
(Es kann mehr als eine solche Datei geben, jede enthält bis zu 11 Register)
Kurztiteldatei cat.stl Die Kurzzeilen, die man sieht, wenn man eine Ergebnismenge betrachtet
Adressentabelle cat.tbl Die Adressen (= Positionen) der Datensätze in den Datendateien
*Restriktionendatei cat.res Hilfsdatei zur Einschränkung von Erg.Mengen (nicht bei jeder Datenbank)
*LOG-Datei cat.log Zur Datensicherung: Kopien der neuen und veränderten Datensätze

Die folgenden sind Textdateien, die bestimmmte Vorschriften und Einstellungen enthalten

Konfiguration $a.cfg Darin steht, welche Datenfelder es geben kann und andere Einstellungen
Indexparameter cat.api Vorschriften für die Bildung der Index-Einträge aus den Daten
Anzeigeparameter d-*.apr Vorschriften für den Aufbau der Anzeige eines Datensatzes, z.B. d-wrtf.apr
*INI-Datei cat.ini Einstellungen für die Benutzung der Datenbank
(Es kann mehrere solche Dateien geben für unterschiedliche Nutzer)

Das  a  hinter dem Punkt hat eine Bedeutung: Wenn da  b  steht, also z.b.  .bpi, dann ist die Konfiguration der Datenbank nicht  a.cfg (oder $a.cfg), sondern b.cfg

Genau diese Dateien liegen manchmal alle zusammen in einem Ordner, die letzten vier aber oft woanders, und zwar im Programmordner (normalerweise c:\allegro ). Als Beispiel schauen Sie sich den Ordner demo2 an, der an Ihrem allegro-Programmordner hängt. 

Was man eintippt, das steckt das Datenbanksystem also alles nur in die Dateien des Typs .ald, die anderen Dateien werden mitgeliefert oder legt das System selber an, und sie lassen sich notfalls (über das "Reorganisieren"-Menü) wiederherstellen. Die mit * markierten Dateien sind nicht lebensnotwendig, aber wenn eine der anderen fehlt, kann man mit der Datenbank nicht arbeiten, die Software streikt dann mit entsprechenden Fehlermeldungen.

Die letzten vier Dateien sind schlichte Textdateien, die man modifizieren kann.
Ein Hilfsprogramm für die Bearbeitung von Textdateien, ein sog. Editor (dt. Bearbeiter), wird dazu gebraucht. Theoretisch kann man WinWord nehmen, es wird aber sehr davon abgeraten - viel zu dickes Geschütz, außerdem Probleme mit Zeichencodierung.
Empfohlen wird der freie Editor  WinVi . Als Alternative kann man auch den notepad von Microsoft nehmen. Man startet ihn mit dem Befehl notepad oder gezielt: notepad dateiname.

Geheimtip: Geben Sie im Schreibfeld von a99 mal ein:

h dos

dann erhalten Sie eine Kurzeinführung mit Übung. Das ist ein Schritt zur Mündigkeit im Umgang mit dem PC. Sie werden es nicht bereuen, vor allem wenn Sie bisher noch keine rechte Vorstellung hatten, was DOS eigentlich ist. Microsoft-Slang: "Eingabeaufforderung".

Nicht direkt zur Datenbank selbst gehört das schon erwähnte Datenbanksystem - das sind die Programme (Dateityp .EXE), ohne die man mit der Datenbank gar nichts anfangen könnte. Ein Datenbanksystem besteht aus zwei Arten von Dateien:

1. Programme Das wichtigste Programm des allegro-Systems ist seit 2001 das Programm a99.exe. (Das Programm 
allegro.exe braucht man nicht, denn es startet nur a99.exe.) Es gibt noch einige andere Programme für besondere Aufgaben, so z.B. index.exe zum Erneuern der Indexdatei einer Datenbank oder import.exe zur Umwandlung von Fremddaten, srch.exe für Volltextsuche. Die meisten werden bei Bedarf automatisch gestartet, z.B. bei der Index-Erneuerung. Sehr wichtig vor allem für Web-Kataloge ist das Konsolprogramm acon.exe.

2. Vorschriften Flexibel wird ein Datenbanksystem nur dadurch, dass man ihm von außen Vorschriften machen kann, die nicht fest in die Programme eingebaut sind. Und diese Vorschriften stehen in Textdateien, die man leicht bearbeiten kann. Nicht mit WinWord, sondern mit einem viel einfacheren Programm, einem Texteditor wie z.B. Notepad (gehört zu Windows), Notepad++, WinVi o.a. Will man Vorschriften verändern, muss man sich mit so einem Programm vertraut machen. Sehr zu empfehlen ist WinVi, weil man darin leicht umschalten kann zwischen Windows- und DOS-Codierung sowie Unicode.

Dateien mit Vorschriften für das System, das sind im Fall allegro die folgenden:

Konfiguration: z.B. $a.cfgDarin steht, welche Datenfelder in den Sätzen der Datenbank vorkommen können. Wenn man weitere, neue Felder braucht, kann man sie hier jederzeit in die Liste der Felder einfügen.

Parameter: z.B. cat.api für die Register der Datenbank (welche Felder sollen in welche Register?), d-krtf.apr für die Anzeige der Datensätze (welche Felder sollen in welcher Reihenfolge angezeigt werden?), mab2.aim für das Umwandeln von MAB-Daten in allegro-Daten des A-Formats (welches MAB-Feld sol iinn welches allegro-Feld umgewandelt werden?)

Umwandlungstabellen: d-utf8.apt zur Umwandlung der internen Daten (sog. OstWest-Code) in Unicode

FLEXe: Das sind eigentlich kleine Programme, oder Folgen von Befehlen für a99.exe, die man auch mit der Hand ausführen könnte. Sie dienen hauptsächlich der Automatisierung von häufig vorkommenden oder komplizierten Aktionen. Viele Menü- und Button-Funktionen sind in Wahrheit FLEXe - und damit sind sie modifizierbar. Die FLEXe sind Dateien vom Typ 
.flx und man kann sie ebenfalls mit einem Texteditor leicht betrachten und bearbeiten. Auch das Programm acon.exe kann FLEXe ausführen, diese müssen vom Dateityp  .job  sein.

Hilfetexte: Dateien im RTF-Textformat, z.B. doku.rtf (das sog. Füllhorn") oder flex.rtf, die FLEX-Dokumentation.  Geben Sie ein  h doku  bzw. h flex, dann sehen Sie diese Dateien. In solche Texte eingebaut sind oft anklickbare Funktionen, was Sie an diesen beiden Beispielen gut erkennen. Die Menüs für zusätzliche Aufgaben wie Erwerbung und Ausleihe sind alle mit dieser Technik gestaltet. Damit wird es möglich, dass sich Anwender für eigene Anwendungen eigene Menüs entwickeln. 

Die hier genannten Dateien werden mitgeliefert, sind aber frei modifizierbar (es stehen Kommentare drin), und der Anwender kann beliebig viele eigene Dateien dieser Typen erstellen. Möglicherweise werden Sie jetzt mehr darüber wissen wollen, wie denn die bibliothekarischen Daten aussehen und warum es so ist. Schon bei der ersten Benutzung sehen Sie ja z.B. die Nummern der Datenfelder, siehe oben, aber vielleicht sind Sie noch im Zweifel, ob das eine gute Methodik ist. Dann lesen Sie mehr über die  Hintergründe.


B. Eversberg 2022-11-29