Da hier in den nächsten Wochen eine ausführliche Artikelserie zu Datenbanken folgen wird, möchte ich zunächst einen groben Überblick über Datenbanken vermitteln. Ich hoffe die nachfolgenden Artikel sind dann leichter zu verstehen.
Eine Datenbank kann man sich als Sammlung von Daten zu einem Themengebiet vorstellen. In der Artikelserie möchte ich am Beispiel einer Bibliothek arbeiten.
Welche Daten werden denn in einer Bibliothek benötigt?
- Informationen über Bücher und deren Aufenthaltsort (Bibliothek, bei Lesern)
- Informationen über die Leser (Name, Adresse, …) um zu spät zurückgegebene Bücher anzumahnen
- Informationen über Ausleihen (Wer leiht welches Buch?, Wann hat er es ausgeliehen?, Wann muss er es zurückgeben?)
Diese Informationen kann man jetzt natürlich in einer Papierkartei erfassen. Allerdings fällt es dann kaum auf, wenn jemand seine Bücher nicht zurückbringt (Um diese Person zu finden, muss die komplette Kartei durchgegangen werden und überprüft werden, ob sich die Bücher zur Zeit in der Bibliothek befinden). Elektronisch sollte das einfacher herauszufinden sein und vor allem schneller.
Außerdem wäre es schön, wenn mehrere Bibliotheksmitarbeiter gleichzeitig auf die Kartei zugreifen könnten und Bücher als zurückgegeben markieren. Bei einer einzigen Kartei kann aber stets nur eine Person zugreifen und die Verwaltung ist recht kompliziert.
Auf eine elektronische Datenbank können in der Regel mehrere Personen gleichzeitig zugreifen und es kann nach bestimmten Mustern schnell gesucht werden (aktuelles Datum ist größer als das Rückgabedatum).
Vorstellung einer Datenabank
Eine Datenbank kann man sich in der Regel als Sammlung von Tabellen vorstellen. Stellen wir uns folgende Bibliothek vor:
- Die Bibliothek befindet sich auf einem Stockwerk. Die Bücher werden in Regale einsortiert. Jedes Regal hat eine einmalige Nummer. Jedes Regal hat 5 Fächer. Die Bücher werden nach Chaossystem (Dort wo ein Platz frei ist, wird ein zurückgegebenes Buch einsortiert.) in die Regale sortiert. Eine alphabetische Sortierung gibt es nicht.
- Die Bibliothek hat 3 MitarbeiterInnen, alle sind teilweise gleichzeitig in der Bibliothek anwesend und wollen Kunden bedienen, damit diese eine möglichst kurze Wartezeit haben.
- Bei jeder Ausleihe soll die ausleihende Person vermerkt werden, das Ausleihdatum sowie das späteste Rückgabe Datum.
- Bei einer Rückgabe wird dann das aktuelle Datum als tatsächliches Rückgabedatum vermerkt.
All das kann man gut in Tabellen erfassen. In diesem Fall brauchen wir 3 Tabellen. Die freien Zeilen symbolisieren mögliche Einträge.
Tabelle Bücher
ISBN | Autor | Titel | Regalnr. | Fach |
Tabelle Kunde
Kundennr. | Name | Adresse |
Tabelle Ausleihen
ISBN | Kundennr. | Ausgabedatum | erwartetes Rückgabedatum | tatsächliches Rückgabedatum |
Die Tabellen können nun endlos viele Zeilen haben, so können endlos viele Leihen durchgeführt werden. Vor allem aber ist ein Standard definiert, der festlegt, welche Daten gespeichert werden sollen. Das System lässt sich außerdem auf beliebig viele Bibliotheken ausweiten.
Bei einer Ausleihe können die BibliotheksmitarbeiterInnen nun jeweils eine neue Zeile in die Tabelle Ausleihen einfügen und der Prozess ist damit abgeschlossen. Bei Aufnahme eines neuen Buches in den Bibliotheksbestand reicht das Hinzufügen einer Zeile zur Tabelle Bücher. Im Kontext von Datenbanken bezeichnet man das Hinzufügen solch einer Zeile oder das Ändern einer Zeile als Transaktion (oder Query), welche an die Datenbank geschickt wird.
Wie bei Computern üblich können mehrere Tätigkeiten quasi gleichzeitig durchgeführt werden. Unsere MitarbeiterInnen können also gleichzeitig neue Bücher verleihen und eine entsprechende Zeile in der Tabelle hinzufügen.