Vorwort: Das allegro-Konzept


Datenbanken, Datensätze, Datenfelder

Ein Zettelkatalog, das weiß jeder, besteht aus Schränken, Schubkästen und lauter Karteikarten.

Ein Online-Katalog ist keine Kartei, sondern eine Datenbank. Die besteht aus Dateien, die man nicht gut mit Schränken oder Schubkästen vergleichen kann. Nur die Karteikarten haben eine ungefähre Entsprechung, das sind die Datensätze. Ein Datensatz umfaßt etwa das, was man früher eine "Titelaufnahme" nannte, daher wird oft statt "Satz" auch "Aufnahme" gesagt. Doch so ein Satz sieht ganz anders aus als ein Katalogzettel.

Hier ist 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)
#30age
#30k15.51
#31sFü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
#89D952579413
#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 : Braunschweig. 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. Deshalb muss man alles in Elemente zerlegen. Die nennt man "Datenfelder". Oben sieht man das.

2. Ein Online-Katalog soll nicht nur ein elektronischer Zettelkatalog sein! Er soll noch andere Funktionen erfüllen (Erwerbung, Ausleihe) und andere Produkte hervorbringen (Listen verschiedenster Art, Statistiken). Auch deshalb muss man die Daten in Elemente zerlegen, 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.

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

IDNr Titel Verfasser Ort Verlag Jahr
216478049 ¬Der¬ Herzogspr.. Schmidt, Burkh. Wolfenbüttel Geschichtsverein 1996

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-c.de/a-r.htm . (Die Tabelle ist das Grundkonzept der relationalen Datenbanken!)

Wichtige Gründe sind:


Die Tabelle ist somit nicht die beste Idee für Bibliotheksdaten. (Für Neugierige steht in einem anderen Papier ganz ausführlich, warum es so ist und was die besonderen Anforderungen bibliographischer Daten sind:  http://www.allegro-c.de/formate/formneu.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 jedoch nicht, da spricht man von Datenfeldern. Die Datenfelder haben Nummern, die man auch tags nennt (das ist Englisch und heißt sowas wie Etikett). Es gibt mehrere solche Nummernsysteme, die man auch "Bibliothekarische Datenformate" nennt: das weltweit bekannteste ist MARC21. In Deutschland wird für den Austausch von Daten MAB2 verwendet.

Innerhalb einer Datenbank müssen die Daten einheitlich sein, daher muss man sich am Anfang, wenn man eine neue Datenbank aufmachen will, für eines der Formate entscheiden. Alles über Bibliothekarische Datenformate und vieles mehr 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:

Datenbank enthält Datensätze bestehend aus Datenfeldern


Was ist anders als bei Karteien?

Einen Zettelkatalog - das ist nichts anderes als eine Kartei - kann sich jeder vorstellen. Neue Zettel werden 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 (hier sagt man "Abspeichern"), so dass man alles hinterher leicht wiederfindet, das passiert vollautomatisch. Allerdings nur, weil 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 - von Hause aus hat er davon keine Ahnung.

allegro ist ein solches Datenbanksystem. Pica ist ein ganz anderes, und es gibt noch mehr von der Sorte.

Den Datensatz kann man sich 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 muss man sich die Datenbank genauer vorstellen? Ist das nur ein großes Dokument, das sich aus vielen kleinen (eben den Datensätzen) zusammensetzt? Das wäre zu simpel, es gehört noch einiges mehr dazu. Es ist auch mehr als ein Karteischrank voller Zettel oder ein Ordner voller Dokumente. Solche Vorstellungen taugen nur für den Anfang.

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äßt 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 Symbolen, die so aussehen wie eine Karteischublade oder eine Aktenmappe: man soll intuitiv ahnen, dass da mehrere Dinge (Dokumente oder Dateien) drin stecken.

Übrigens: das englische Wort für "Datei" ist file. Das heißt zugleich "Kartei". Die Ordner werden "folder" genannt.

Klickt man auf ein solches Symbol, dann erscheint, was drinsteckt: der Inhalt des Ordners, und das ist ein neues Sortiment von Symbolen und Namen - ein Unterordner kann wieder weitere Unterordner und weitere Dateien umfassen.

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.


Aber was ist wirklich eine "Datei"?

Computer speichern alles in Dateien, wirklich alles. Auch ein Dokument ist nur eine Datei.

Auch 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 Sprache beherrscht, in der das Programm 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 zusammen in einer Datei.

Abschweifung : Was heißt eigentlich "eine Datei öffnen"?

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.


Aus was besteht eine Datei?

Jede Datei hat einen Namen und einen Inhalt. In der Übersicht des Ordners sieht man die Namen und ein Symbol. Dieses gehört, wie gesagt, nicht zur Datei! Windows hat eine Liste von Namenserweiterungen und ordnet diesen jeweils ein Symbol zu, aber genau genommen hat es mit der Datei 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):


Diese Regeln sind nicht zwingend, d.h. Bill Gates 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 ist, schlägt als Namen immer die erste Zeile des neuen Textes vor. Ändern Sie das dann unbedingt, denn fast immer ist so ein "Name" viel zu lang und enthält Leer- und Sonderzeichen.

Früher, zu DOS-Zeiten, durfte 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, beim Austausch mit anderen Anwendern und bei der Arbeit unter DOS zu haben. 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 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.

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 zeigen lässt, 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 - 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' ist dabei weiterhin 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-c.de/unicode/ .


Eine Datenbank

· Besteht meistens aus mehreren Dateien
· Diese müssen nicht im selben Ordner liegen, tun es aber meistens
· Die Dateien unterscheiden sich 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?)
4. Wichtigkeit (manche Dateien dürfen fehlen, andere sind so wichtig, dass ohne sie nichts geht)
5. Größe (das ist die Anzahl der Bytes)

Mindestens eine der Dateien enthält die Daten, die man eingetippt hat, das dürfte klar sein. Aber welche ist es? Und wozu gibt es da noch andere Dateien - muss man das wissen, muss man sich darum kümmern? Im Prinzip sollte es reichen, wenn die Software alles weiß, aber es gibt Situationen, wo ein paar Kenntnisse doch sehr helfen. Denn Wissen gibt Sicherheit, Unwissenheit macht abhängig und verletzbar.

Am Beispiel einer allegro-Datenbank sind die Dinge gut erklärbar. (Bei anderen Systemen kann es ähnlich, aber auch völlig anders aussehen.). 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 sind diese:


Datei Name.Typ Wozu ist sie gut, was steht drin?

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 sogenannter Editor , wird dazu gebraucht.


Datenbank-Funktionsweise

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?

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:

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.

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.


Verknüpfungskonzepte

Karteizettel sind nicht immer vollkommen selbständig! Es gibt die sogenannte "Folgezettel" bei mehrbändigen Werken, zur Auflistung der Bände, und es gibt die Verweisungszettel, die z.B. von einer Namensform auf eine andere, die amtliche verweisen und keine andere Funktion haben. Es gibt also gewisse Zettel, die mit anderen logisch verknüpft sind und nicht für sich alleine aussagefähig.

Sie wissen inzwischen: was früher Zettel waren, das sind jetzt Datensätze.

Wie bei den Zetteln kann man auch zwischen verschiendenen Datensätzen Verbindungen herstellen. Diese müssen aber so beschaffen sein, daß Programme damit was anfangen können, denn natürlich sollen die Verbindungen automatisch funktionieren. Na gut, wird man denken, jeder Satz hat automatisch eine interne Nummer, die kann man dafür nehmen.

Nur nicht so hastig! Die internen Nummern können sich beim Neuaufbau einer Datenbank ändern - sie dienen nur der Adressierung. Verknüpft wird deshalb grundsätzlich NICHT über die internen Nummern, sondern über Identnummern, die in irgendwelchen Datenfeldern stehen.

Welche das sind, das ist dem Systemverwalter überlassen! Die Einrichtung der Verknüpfungstechnik ist dem fortgeschrittenen Parametrierer vorbehalten, der sich mit den Index- und Anzeigeparametern auskennt.


Sitzungsverlauf

Anm.: Normalerweise hat man in der INI-Datei keinen Befehl "Offline=dateiname". Dann entfällt alles, was zur "Externen Datei" gesagt wird.

Hat man eine Externe Datei bearbeitet, kann man sie anschließend beliebig weiter verwenden. Sie gehört nach wie vor nicht zur Datenbank. Es sei denn, man hat sie abspeichern lassen! (Über das Menü
[Datei | Offline-Datei -> Datenbank]) Dann ist sie anschließend nicht mehr extern, sondern intern, verschluckt von der Datenbank.