Datenbanken Base
Willemers Informatik-Ecke
Base ist der Bestandteil von LibreOffice, der sich mit Datenbanken befasst. Relationale Datenbanken werden meist von der Konsole bedient und verwenden die Sprache SQL. Diese beherrscht und kapselt auch Base, liefert aber vor allem eine grafische Oberfläche zu einer relationalen Datenbank.

Base ist in der Lage, mit allen möglichen Datenbanken zusammenzuarbeiten, verwendet aber auch eine interne Datenbank namens HSQLDB und benötigt dann nicht die Installation einer weiteren Datenbank.

Base benötigt als einzige Office-Komponente eine Java-Runtime-Umgebung (JRE), zumindest in der Windows-Version. Bei den anderen Plattformen dürfte eine JRE von Haus aus installiert sein.

Datenbank

Base organsiert Daten einer Datenbank. Darum ist für die Benutzung von Base ein grundlegendes Verständnis von relationalen Datenbanken wünschenswert. Hier eine Zusammenfassung: Tabellen können Entitäten sein und damit Objekte der Realität abbilden, wie etwa Personen, Häuser oder Orte. Tabellen können allerdings auch Beziehungen, also Relationen darstellen. Ein Beispiel für eine solche Beziehung ist der Kauf, der den Kunden mit einer Ware verbindet. Die Relation kann neben den Verknüpfungen zu Kunde und Ware auch weitere Spalten wie Preis oder Kaufdatum enthalten.

Start

Nach dem Start von Base erscheint eine Dialogbox, die erfragt, mit welcher Datenbank gearbeitet werden soll. Dieser Dialog erscheint nicht, wenn Base durch das Doppelklicken einer vorher angelegten Base-Datei gestartet wird.

Der Dialog ermöglicht eine neue Datenbank zu erstellen, eine Base-Datei zu öffnen oder eine Verbindung zu einer bestehenden Datenbank aufzubauen.

Im Beispiel erstellen wir eine neue Datenbank und klicken auf Fertigstellen. Danach suchen Sie einen Ort, an dem die Office-Datenbank-Datei gespeichert werden soll. Es erscheint das folgende Hauptfenster von Base:

In der linken Spalte sehen Sie die Fähigkeiten, die Base Ihnen zur Verfügung stellt:

Tabellen erstellen

Klicken Sie in der Liste Datenbank auf das Symbol Tabelle.

Unter Aufgaben finden Sie den Link Tabellen in der Entwurfsansicht erstellen.

Es öffnet sich ein Dialog, in dem Sie eine Tabelle definieren können. Für unser Beispiel erstellen wir drei Tabellen.

Die Tabelle Gast wird so definiert:

id IntegerAuto-Wert: Ja
NameText (VARCHAR)
AdresseText (VARCHAR)
EMailText (VARCHAR)
Abschließend wird auf das Speichersymbol geklickt und als Name der Tabelle wird Gast eingegeben.

Die Tabelle Wohnung wird so definiert:

id IntegerAuto-Wert: Ja
BezeichnerText (VARCHAR)
PreisDezimal (DECIMAL)2 Nachkommastellen
Abschließend wird auf das Speichersymbol geklickt und als Name der Tabelle wird Wohnung eingegeben.

Die Tabelle Buchung wird so definiert:

id IntegerAuto-Wert: Ja
gastidInteger
wohnungidInteger
vonDatum (DATE)
bisDatum (DATE)
PreisDezimal (DECIMAL) 2 Nachkommastellen
Abschließend wird auf das Speichersymbol geklickt und als Name der Tabelle wird Buchung eingegeben.

Beziehungen zwischen den Tabellen definieren

Die Beziehungen zwischen den Tabellen werden durch Fremdschlüssel realisiert. Beispielsweise kann ein Gast mehrere Buchungen haben, aber für jede Buchung liegt nur ein Gast vor. Dies nennt man eine 1:n-Beziehung. Ähnliches gilt für die Beziehung zwischen Wohnung und Buchung.
  1. Im Bereich Datenbank muss Tabellen angewählt sein.
  2. Im Menü wird Extras|Beziehungen angeklickt. Es erscheint ein Dialog.

In der Dialogbox tauchen alle Tabellen auf. Sie können markiert und mit Hinzufügen in das Hauptfeld gebracht werden.

Anschließend wird der Dialog mit Schließen beendet. Im Fenster sind die drei Tabellen vorhanden. Am übersichtlichsten ist es, wenn man die Tabelle Buchung in die Mitte stellt. Nun stellt man die Beziehungen her.

Damit sind die 1:n-Beziehungen hergestellt. Das Fenster kann gespeichert und geschlossen werden.

Abfragen (Query)

Eine Abfrage ist eine Liste von Feldern, die aus einer Tabelle oder auch über mehrere Tabellen hinweg erstellt wird.

Abfrage in der Entwurfsansicht erstellen

  1. Sie klicken in der linken Spalte Datenbank auf das Symbol Abfragen.
  2. Nun erscheinen drei Links unter Aufgaben.
  3. Klicken Sie auf den Link Abfrage in der Entwurfsansicht erstellen.
  4. Es erscheint ein Dialog der die Tabellen auflistet. Sie können jede einzeln hinzufügen. Wir wollen alle drei Tabellen verwenden, weil wir eine Belegungsliste erzeugen wollen.
  5. Wenn dieser Dialog beendet ist, erscheint das folgende Fenster.
Es öffnet sich das folgende Fenster.

Im oberen Bereich sind die Tabellen sichtbar, im unteren werden die Spalten aufgezählt, die aus der Abfrage hervorgehen sollen.

Beim Anklicken des Feldes erscheint eine Dropdown-Liste mit möglichen Spalten aus den oben aufgeführten Tabellen. Es kann die Sortierung und ein Kriterium erstellt werden.

Abfrage mit Assistent erstellen

Mit dem Assistenten (Wizzard, ist es am einfachsten, ein Formular zu gestalten.
  1. Sie klicken in der linken Spalte Datenbank auf das Symbol Abfragen.
  2. Nun erscheinen drei Links unter Aufgaben.
  3. Klicken Sie auf den Link Abfrage unter Verwendung des Assistenten erstellen.
Es erscheint ein Assistent, der in mehreren Schritten die Abfrage zusammenstellt, unter anderem: Mit Finish wird die Abfrage fertig gestellt.

Abfrage in SQL-Ansicht erstellen

Sie können eine Abfrage auch klassisch als SQL-SELECT-Anweisung formulieren. Beispielsweise könnte die folgende Abfrage eine Belegungsliste erzeugen:
SELECT Buchung.von, Buchung.bis, Wohnung.Bezeichner, Gast.Name FROM Buchung, Wohnung, Gast WHERE gastid = Gast.id AND wohnungid = Wohnung.id
Base legt bei den Tabellennamen und Bezeichnern großen Wert auf Groß- und Kleinschreibung.

Base meldet beim Ausprobieren der Anfrage Schritt für Schritt, welcher Bezeichner ihm nicht gefällt.

Eingabe mit Formularen

Datenbank: Formulare anwählen

Aufgaben: Formular unter Verwendung des Assistenten erstellen.

Berichte

Berichte können auf der Basis von Tabellen oder Abfragen erstellt werden. Für die Belegungsliste mit Anreise, Abreise, Wohnung und Gast muss also erst eine Abfrage erstellt werden, weil die Referenzen direkt nicht aufgelöst werden können.

Der Berichts-Assistent geht in folgenden Schritten vor:

  1. Feldauswahl: Hier kann aus der Klappbox die Abfrage (Query) oder Tabelle gewählt werden. Daraus ergibt sich die Liste der verfügbaren Feldern, aus denen diejenigen ausgewählt werden, die im Bericht erscheinen sollen (Fields in report).
  2. Label: Hier werden die Überschriften eingetragen, etwa Anreise für das Feld von.
  3. Grouping: Hier können Elemente mit gleichem Inhalt zusammengefasst werden. Beispielsweise bei einem Namenswechsel wird ein Abstand eingefügt.
  4. Sort: Hier wird angegeben, in welcher Reihenfolge die Sätze angezeigt werden, beispielsweise nach Anreisetag.
  5. Layout: Umrahmung oder Schrift, Portrait oder Landscape
  6. Erzeugen: Hier kann der Bericht einen Namen erhalten.
Der Bericht kann nachträglich bearbeitet werden, um beispielsweise die Überschrift zu ändern. Auch kann hier über Format | Seite das Seitenlayout von US Letter auf A4 umgestellt werden, um beim Ausdruck keine Überraschung zu erleben.