AA_PO-24309-123RF-inhabitant_123RF-Aktenzimmer.jpg

© inhabitant, 123RF

Gut sortiert

Einstieg in LibreOffice Base

18.06.2014
Datenbankanwendungen über Assistenten und grafische Editoren per Mausklick erstellen – ganz ohne SQL und Programmierung: Das verspricht das LibreOffice-Programm Base nach dem Vorbild von Microsoft Access.

Mit Access schuf Microsoft ein Programm, das relationale SQL-Datenbanken (siehe Kasten "Relationale Datenbanken") hinter einer grafischen Benutzeroberfläche verbirgt: SQL-Abfragen und Formulare für die Dateneingabe entstehen dort per Mausklick, Kenntnisse einer Programmiersprache benötigt der Anwender nicht.

Auch OpenOffice erkannte das Potenzial einer solchen Software und liefert seit Ende 2005 das Access-Pendant Base [1] mit (Abbildung 1). An die Arbeit mit grafischen Benutzeroberflächen gewöhnte Anwender "programmieren" mit dessen Hilfe Bücher- oder Videodatenbanken, kleinere Unternehmen analysieren damit ihre Finanzdaten.

Abbildung 1: Mit Abfrageeditoren und Assistenten (links und unten) löst Base typische Programmieraufgaben in einer grafischen Oberfläche.

Relationale Datenbanken

Relationale Datenbanken speichern Daten in Tabellen mit fester Spaltenzahl ("Felder"). Diese starre Struktur erlaubt einen schnellen Zugriff auf die Daten. Allerdings ergibt sich daraus die Notwendigkeit, zusammengehörige Daten auf mehrere Tabellen zu verteilen ("Normalisieren").

Ein Beispiel: Sie möchten für Ihre Bücher nicht nur bibliografische Daten speichern, wie Autor und Titel, sondern jedes davon auch einer oder mehreren Kategorien zuordnen. Eine einfache, jedoch offensichtlich ineffiziente Lösung wäre, in der Tabelle Bücher die Spalten Kategorie**1, Kategorie**2 und so weiter zu erstellen.

Im Beispiel wäre die Anzahl der möglichen Kategorien pro Buch ohne logischen Grund auf drei begrenzt. Unpraktisch ist auch, dass beim Löschen der Kategorie 1 die Werte aus Kategorie 2 und Kategorie 3 nicht automatisch auf die nun freie höchste Ebene nachrücken.

Um diese Probleme zu lösen, teilen relationale Datenbanksysteme Daten mit starrer Feldzahl und die in wechselnder Anzahl zugeordneten Kategorien auf mehrere Tabellen auf: Die Tabelle Bücher speichert die Pflichtfelder, Kategorien dagegen alle bereits vergebenen Kategorien. Jeder Datensatz beider Tabellen enthält außerdem einen automatisch erzeugten eindeutigen Zahlencode ("Schlüssel").

Um Bücher einer oder mehreren Kategorien zuzuordnen, fehlt nur noch eine dritte Tabelle BuchKategorien mit den Feldern BuchId und KategorieId, die ein Buch über seinen Schlüssel BuchId mit einem Kategorieschlüssel (KategorieId) korreliert. So lassen sich Verknüpfungen in beliebiger Anzahl hinzufügen und wieder löschen, ohne dass daraus Lücken in einer der Tabellen resultieren.

Datenspeicher

Den Kern der Bilddatenbank bildet die Tabelle Bilder: Sie enthält eine Spalte ("Feld") für jede Eigenschaft eines Fotos, das Sie speichern möchten. Abbildung 2 schlägt sieben solcher Datenfelder vor.

Abbildung 2: Die Tabelle Bilder speichert beschreibende Daten zu Bildern auf der Festplatte und bildet das Kernstück der Beispieldatenbank.

Zum Erstellen der Tabelle wählen Sie in der linken Spalte im Base-Hauptfenster Tabellen und klicken unter Aufgaben auf Tabelle in der Entwurfsansicht erstellen. Beim ersten Feld id handelt es sich nicht um ein Datenfeld im eigentlichen Sinn: Es erscheint nicht im Eingabeformular und bleibt dem Anwender der Datenbank damit verborgen. Sie brauchen es jedoch, um Bilder und Kategorien in Relation zu setzen (siehe Kasten "Relationale Datenbanken"). In Base funktioniert zudem die Eingabe neuer Datensätze in Formularen ohne einen solchen Schlüssel nicht.

Als Feldtyp für die Schlüsselspalte wählen Sie Integer [ INTEGER ]. Setzen Sie außerdem in den Feldeigenschaften die Einstellung Auto-Wert auf Ja. Damit weist die Datenbank neuen Datensätzen automatisch einen bisher noch nicht verwendeten Wert zu. Das kleine Schlüsselsymbol in der Randspalte kennzeichnet das Feld als sogenannten Primärschlüssel. Mit einem Rechtsklick auf den Feldrand und der Anwahl von Primärschlüssel aus dem Kontextmenü erheben Sie das gewählte Feld zu einem solchen. Das signalisiert der Datenbank: Erzeuge einen Index für einen schnellen Zugriff und verbiete das mehrfache Verwenden des gleichen Wertes.

Außer dem Feldtyp Integer kommen in der Tabelle noch die Typen Text und Datum/Zeit vor. Text-Feldern weisen die Feldeigenschaften eine feste Länge zu, gemäß der die Datenbank pro Datensatz Speicherplatz zuordnet. Für Titel, Autor und Dateipfad genügt die Voreinstellung 100, für Notizen wählen Sie sicherheitshalber zwischen 500 und 1000 als Maximalgröße.

Der Datentyp Datum/Zeit bündelt ein Datum und eine Uhrzeit. Weitere oft gebrauchte Typen sind Dezimal (Fixkommazahlen, zum Beispiel für Währungsdaten) und Float (Fließkommazahlen, zum Beispiel für physikalische Größen). Es gibt auch Feldtypen für getrenntes Ablegen von Zeit und Datum. Haben Sie alle Feldnamen und Feldtypen wie in Abbildung 2 (oder Ihren eigenen Vorstellungen entsprechend) eingetragen, dann speichern Sie die Tabelle unter dem Namen Bilder.

Formulare

Ein Doppelklick auf Bilder im Hauptfenster von Base öffnet die Tabelle in einer von Tabellenkalkulationen bekannten Ansicht – ein Eingabeformular (Abbildung 3) sorgt allerdings für mehr Komfort. Der Formularassistent, den Sie mit Formular unter Verwendung des Assistenten erstellen... starten, erzeugt in wenigen Mausklicks eine Eingabemaske für die Tabelle Bilder.

Abbildung 3: Eine Eingabemaske für die Tabelle Bilder erzeugt der Base-Assistent weitgehend automatisch.

Wählen Sie unter Tabellen und Abfragen im ersten Schritt des Assistenten Tabelle: Bilder und alle Verfügbaren Felder bis auf die automatisch erzeugte id (Abbildung 4). Nun überspringen Sie die Schritte zwei bis vier (Erstellen von Unterformularen) und wählen in Schritt fünf für das Ergebnis aus Abbildung 5 unter Anordnung der Datenbankfelder des übergeordneten Formulars die rechte Option In Blöcken -- Beschriftung oben.

Abbildung 4: Im Formularassistenten brauchen Sie nur die Felder und die Formatierung zu wählen, in der der Assistent die Felder im automatisch erzeugten Formular anordnet.

Nach Beenden des Assistenten bleibt das Formular in der Bearbeitungsansicht geöffnet. Um den Bearbeitungsmodus der Eingabemaske zu erreichen, wechseln Sie ins Hauptfenster von Base. Darin aktivieren Sie in der linken Spalte Formulare und rechtsklicken im Abschnitt Formulare auf den eben erzeugten Eintrag Bilder. Wählen Sie dann aus dem Kontextmenü bearbeiten.

Abbildung 5: So sieht die vom Assistenten erzeugte Rohform des Eingabeformulars aus.

Abbildung 3 zeigt eine durch Verschieben und Skalieren einiger Felder optimierte Version der Eingabemaske. Das Feld Dateipfad wurde per Rechtsklick und Auswahl der Option Ersetzen durch | Grafisches Steuerelement in ein Feld umgewandelt, das per Doppelklick einen Dateimanager öffnet. Dort wählen Sie das Bild aus, das Sie darin platzieren möchten. Die Größe der so entstandenen Bildvorschau verändern Sie nach Ihrem eigenen Geschmack. Das Tabellenfeld speichert allerdings nur den Pfad zur Bilddatei, dessen relative Lage zur Datenbankdatei dürfen Sie entsprechend später nicht mehr verändern.

Vor dem Skalieren der Felder Dateipfad und Notizen lösen Sie die Gruppierung mit einem Rechtsklick auf die entsprechenden Felder und der Anwahl von Gruppierung | Gruppierung aufheben. Nach einem Doppelklick auf das Label Dateipfad ändern Sie den Titel von Dateipfad in Bild.

Um das vergrößerte Notizen-Feld richtig zu nutzen, doppelklicken Sie auf das Eingabefeld, worauf die Maske Eigenschaften erscheint. Ändern Sie darin den Text-Typ auf mehrzeilig und wählen Sie zwei Zeilen darüber für die Bildlaufleiste die Option senkrecht. Für die beiden Datumsfelder aktivieren Sie in der Eigenschaftspalette die Option aufklappbar für einen praktischen Datumswähler.

Um bei der Dateneingabe unabhängig von eventuell ausgeblendeten Symbolleisten im Programmfenster durch die Datensätze zu navigieren, fügen Sie eine Navigationsleiste ein. Das zugehörige Werkzeug finden Sie in der linken Symbolleiste unter Weitere Steuerelemente (rechts, in Abbildung 3 rot hervorgehoben). Sie blenden diese mithilfe des ebenfalls hervorgehobenen Buttons auf der Hauptsymbolleiste links ein. Ziehen Sie nach dem Aktivieren des Steuerelementwerkzeugs mit der Maus die Navigationsleiste auf eine passende Größe.

Nach dem Speichern des Formulars schließen Sie es. Dann öffnen Sie es per Doppelklick im Hauptfenster wieder, diesmal jedoch im Eingabemodus, statt wie bisher im Entwurfsmodus. Wie Sie sehen, hat das weitgehend automatisch erzeugte Eingabeformular die Tabelle Bilder bereits zu einer einfachen, aber voll funktionsfähigen Bilddatenbank ausgebaut.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • LibreOffice Base
    Eine Datenbank ohne Suche ist wie ein Auto ohne Motor: Schick anzusehen, aber zu nichts zu gebrauchen. Deswegen widmet sich der zweite Teil unseres Base-Einstiegs dem Implementieren einer Suchfunktion.
  • Daten verwalten mit OpenOffice Base
    Datenbanken unter einer graphischen Oberfläche erstellen – und die Daten, zum Beispiel für Serienbriefe, direkt in das Textverarbeitungsprogramm übernehmen: OpenOffice 2.0 beinhaltet erstmals ein Pendant zu Microsoft Access.
  • Datenbanken bearbeiten unter KDE
    Knoda ist ein leicht zu bedienendes KDE-Programm, welches die Handhabung von Datenbanken auch Benutzern erschließt. Im zweiten Teil unseres Workshops zeigen wir Ihnen, wie Sie mit dem KDE-Programm Formulare erstellen und Berichte drucken.
  • Besser arbeiten mit OpenOffice
    Auch in dieser Ausgabe bieten wir Ihnen eine Auswahl von Tipps zu den Grundfunktionen des freien Büropakets an. Schwerpunktmäßig geht es um die Datenbank Base und die Textverarbeitung Writer. Auch ein paar Tipps zum Grafikmodul Draw haben wir zusammengestellt.
  • Workshop StarOffice Base, Teil 2
    In Ausgabe 09/2001 haben wir durch das Anlegen einer neuen Datenbank bereits den Grundstein für diesen zweiten Workshop-Teil gelegt. Auf diesen Daten aufbauend wollen wir nun etwas tiefer in StarOffice Base einsteigen und anschließend unsere CD-Datenbank um die Tabelle der verliehenen CDs erweitern.
Kommentare

Infos zur Publikation

LU 07/2015: Daten sichern

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 2 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 0 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...