BaseKapitel 2Datenbank erstellen

Dokumentationen zu LibreOffice unter de.libreoffice.org

Copyright
Dieses Dokument unterliegt dem Copyright © 2012. Die Beitragenden sind unten aufgeführt. Siedürfen dieses Dokument unter den Bedingungen der GNU General Public License(http://www.gnu.org/licenses/gpl.html), Version 3 oder höher, oder der Creative Commons
Attribution License (http://creativecommons.org/licenses/by/3.0/), Version 3.0 oder höher,verändern und/oder weitergeben.
Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.
Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben,
die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt.
Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das
Symbol (R) in diesem Buch nicht verwendet.

Mitwirkende/Autoren
Jochen Schiffers

Robert Großkopf

Jost Lange

Rückmeldung (Feedback)Kommentare oder Vorschläge zu diesem Dokument können Sie in deutscher Sprache an die
Adresse discuss@de.libreoffice.org senden.

Vorsicht

Alles, was an eine Mailingliste geschickt wird, inklusive der E-Mail-Adresse undanderer persönlicher Daten, die die E-Mail enthält, wird öffentlich archiviert und kannnicht gelöscht werden. Also, schreiben Sie mit Bedacht!

Datum der Veröffentlichung und Softwareversion
Veröffentlicht am 12.05.2012. Basierend auf der LibreOffice Version 3.5.

Anmerkung für Macintosh Nutzer
Einige Tastenbelegungen (Tastenkürzel) und Menüeinträge unterscheiden sich zwischen derMacintosh Version und denen für Windows- und Linux-Rechnern. Die unten stehende Tabelle gibt
Ihnen einige grundlegende Hinweise dazu. Eine ausführlichere Aufstellung dazu finden Sie in derHilfedatei des jeweiligen Moduls.
Windows/Linuxentspricht am Mac

EffektMenü-Auswahl Extras →Optionen

LibreOffice → EinstellungenZugriff auf die Programmoptionen

Rechts-Klick

Control+KlickÖffnen eines Kontextmenüs

Ctrl (Control)⌘ (Command)

Tastenkürzel in Verbindung mit anderen
TastenF5Shift+⌘+F5

öffnet den Dokumentnavigator Dialog

F11⌘+Töffnet den Formatvorlagen Dialog

oder Strg (Steuerung)

2Datenbank erstellenInhalt
Allgemeines bezüglich der Erstellung einer Datenbank ................................................................. 4
Neue Datenbank als interne Datenbank ......................................................................................... 4
Zugriff auf externe Datenbanken .................................................................................................... 4
MySQL-Datenbanken ................................................................................................................ 5
dBase-Datenbanken ................................................................................................................ 12Tabellendokumente ................................................................................................................. 14
Thunderbird Adressbuch ......................................................................................................... 153

Allgemeines bezüglich der Erstellung einer Datenbank
Der grundlegende Zugang zum Erstellen einer Datenbank unter LibreOffice ist in "Erste Schritte –Einführung in Base" beschrieben.
In LibreOffice gibt es das Programmmodul "Base". Dies stellt eine grafische Benutzeroberfläche fürDatenbanken zur Verfügung. Daneben existiert, in LibreOffice eingebunden, die interne Datenbank"HSQLDB". Diese interne Version der HSQLDB-Datenbank kann nur als Datenbank von einemNutzer betrieben werden. Die gesamten Daten sind in der *.odb-Datei mit abgespeichert und dieseDatei ist nur für einen Benutzer nicht schreibgeschützt zu öffnen.

Neue Datenbank als interne Datenbank
Sofern nicht von vornherein eine Multiuserdatenbank geplant ist oder erst einmal erste
Erfahrungen mit einer Datenbank gesammelt werden sollen, ist die interne Datenbank gut nutzbar.
Diese lässt sich später auch mit ein paar Kniffen noch zur externen HSQLDB umwandeln, auf diedann auch mehrere User gleichzeitig zugreifen können, wenn der HSQLDB-Server läuft. Eine
Beschreibung dazu erfolgt im Anhang dieses Handbuches.
Wie die interne Datenbank neu erstellt werden kann, wird im Detail im Handbuch "Erste Schritte"→ Kapitel "Einführung in Base" erklärt.
Eine in LibreOffice angemeldete Datenbank kann von den anderen Programmteilen vonLibreOffice als Datenquelle genutzt werden (z. B. Serienbrief). Diese Anmeldung kann aber auchzu einem späteren Zeitraum erfolgen.

Zugriff auf externe Datenbanken
Alle externen Datenbanken müssen zuerst einmal existieren. Angenommen es soll der Zugriff auf
die Datenbank einer eigenen Homepage erfolgen. Dort muss zuerst einmal die Datenbank selbst
mit einem Namen und Zugangsdaten gegründet worden sein, bevor externe Programme darauf
zugreifen können.
Existiert nun diese externe Datenbank, so kann sie, je nach vorhandener Vermittlungssoftware("Treiber"), zur Erstellung von Tabellen und anschließender Dateneingabe und -abfrage genutzt
werden.
Über Datei → Neu → Datenbank wird der Datenbankassistent geöffnet und die Verbindung zu
einer bestehenden Datenbank hergestellt. Die Liste der hier aufgeführten Datenbanken variiert
etwas je nach Betriebssystem und Benutzeroberfläche. Immer dabei sind aber•••••••••dBase
JDBCMySQLODBC
Oracle JDBC
PostgreSQL
Tabellendokument
Textsowie verschiedene Adressbücher

Je nach gewählter Datenbank variieren nun die Verbindungseinstellungen. Diese können auchgegebenenfalls später noch korrigiert werden, wenn erst einmal die *.odb-Datei existiert.

4Datenbank erstellenBei manchen Datenbanktypen können keine neuen Daten eingegeben werden. Sie sind deshalbnur zum Suchen von Daten geeignet (z.B. Tabellendokument). Die folgenden Beschreibungenbeziehen sich ausschließlich auf die Verwendung von LibreOffice Base mit der Datenbank
HSQLDB. Die meisten Ausführungen lassen sich auf Datenbanken wie MySQL, PostgreSQL etc.
übertragen und entsprechend anwenden.

MySQL-Datenbanken
Für die MySQL-Datenbank existieren Erweiterungen zur direkten Verbindung mit Base. Diese
Erweiterungen tragen den Namen MySQL-Connector.
Die mit der 3.3.4 funktionierende Extension ist unter
http://extensions.services.openoffice.org/en/project/mysql_connector (Stand: 1/11)zu finden.
Ab der Version 3.5 gibt es eine für Mac und Ubuntu-Linux getestete neue Version unter:
http://extensions.libreoffice.org/extension-center/mysql-native-connector-for-mac-osx
Als allgemeiner Zugang zu MySQL ist ab der Version 3.5 der Zugang über JDBC oder ODBC zuwählen. Um den JDBC-Zugang nutzen zu können, wird der mysql-connector-java.jar in der jeweils
zur Datenbank passenden Fassung benötigt. Dieses Java-Archiv wird am besten in dasVerzeichnis kopiert, aus dem auch die aktuelle Java-Version von LibreOffice geladen wird. Als
Speicherort bietet sich das Unterverzeichnis "...Javapfad.../lib/ext/" an.
Gegebenenfalls kann das Java-Archiv auch separat über Extras → Optionen → Java → ClassPath in den Class-Path aus jeder beliebigen Stelle der Festplatte übernommen werden.
Der Zugriff auf eine existierende MySQL-Datenbank erfolgt mit dem JDBC-Treiber in denfolgenden Schritten:

Zugriff auf externe Datenbanken

5Über "Neue Datenbank erstellen" ist nur die Erstellung einer Datenbank im internen HSQLDBFormat möglich. Die Zusammenarbeit mit anderen Datenbanken kann nur erfolgen, wenn dieDatenbank selbst bereits existiert. Dazu muss also "Verbindung zu einer bestehenden Datenbankherstellen" gewählt werden.

Hier wird aus den, teilweise betriebssystemspezifischen, Datenbanken die MySQL-Variante
ausgewählt.

Der Kontakt zu MySQL kann über ODBC oder JDBC hergestellt werden, solange kein nativer
MySQL-Connector als direkte Verbindung installiert ist oder unterstützt wird.

6Datenbank erstellenDer Datenbankname muss bekannt sein. Befindet sich der Server auf dem gleichen Rechner wie
die Benutzeroberfläche, unter der die Datenbank erstellt wird, so kann als Server "localhost"gewählt werden. Ansonsten kann die IP-Adresse (z.B. 192.168.0.1) oder auch je nach
Netzwerkstruktur der Rechnername oder gar eine Internetadresse angegeben werden. Es ist alsoohne weiteres möglich, mit Base auf die Datenbank zuzugreifen, die vielleicht auf der eigenen
Homepage bei irgendeinem Provider liegt.

Über "Klasse testen" wird überprüft, ob das Archiv mysql-connector-java.jar über Java erreichbar
ist. Entweder muss dieses Archiv im Pfad der ausgewählten Java-Version liegen oder direkt in
LibreOffice eingebunden werden.

Zugriff auf externe Datenbanken

7Jede über das Netz erreichbare Datenbank sollte mit einem Benutzernamen und einem Kennwort
geschützt sein. Auch hier erfolgt wieder ein Verbindungstest.

Hinweis8Wird die direkte Verbindung gewählt, so produziert der Test nur Fehlermeldungen.
Ohne Test öffnet aber Base nach der Beendigung des Assistenten anstandslos dasFenster der Datenbank und den Kontakt zu MySQL.

Datenbank erstellenDer Verbindungstest startet die Authentifizierung mit vorgegebenem Benutzernamen. Nach
Passworteingabe erfolgt die Meldung, ob die Verbindung erfolgreich hergestellt werden kann.
Läuft z.B. MySQL zur Zeit nicht, so kommt natürlich an dieser Stelle eine Fehlermeldung.

Zugriff auf externe Datenbanken

9Die Datenbank kann, wenn dies benötigt wird, immer noch später für die Nutzung mit anderen
Programmkomponenten wie Writer oder Calc angemeldet werden.

Der Assistent beendet die Verbindungserstellung mit dem Abspeichern der gewünschten
Datenbank. In dieser Datenbank liegen jetzt lediglich diese Verbindungsinformationen, die bei
jedem Datenbankstart ausgelesen werden, so dass auf die Tabellen der Datenbank zugegriffen
werden kann.

10Datenbank erstellen

Die Tabellen der Datenbank werden unter dem Namen der Datenbank selbst aufgeführt.

Die Sicht auf die Tabellen kann durch einen Klick auf den Datenbanknamen geschlossen werden.
Dies hat bei einem einzigen Datenbanknamen noch keine Bedeutung, macht sich aber bei derdirekten Verbindung bemerkbar:

Zugriff auf externe Datenbanken

11Statt nur die eigentlich angegebene Datenbank "myphplib" (siehe untere Statusleiste) anzuzeigen,öffnet die direkte Verbindung unter LibreOffice 3.3.4 gleich alle Datenbanken, die in MySQL
verfügbar sind.
Bei Abfragen taucht entsprechend in MySQL für die Definition der Tabelle immer auch derDatenbankname auf, hier z.B.
… FROM "myphplib"."ASB" AS "ASB", "myphplib"."Kategorien" AS "Kategorien"
Hier ist es also auf jeden Fall notwendig, der Kombination aus Datenbankname und Tabellenname
einen Alias-Namen zuzuweisen. Genaueres siehe dazu in dem Kapitel "Abfragen".
Tabellen können in der Datenbank erstellt und gelöscht werden. Autowerte funktionieren undlassen sich auch bei der Tabellenerstellung auswählen. Sie starten bei MySQL mit dem Wert 1.

dBase-Datenbanken
Bei dBase handelt es sich um ein Datenbankformat, dass alle Daten in separaten Tabellen
bereitstellt. Verknüpfungen zwischen den Tabellen müssen per Programm erledigt werden.
Relationen werden nicht unterstützt.

12Datenbank erstellen

Die Verbindung wird zu einem Verzeichnis hergestellt. Alle *.dbf-Dateien, die sich in diesem
Verzeichnis befinden, werden anschließend angezeigt und können über Abfragen miteinander
verknüpft werden.
Tabellen in dBase haben keinen Primärschlüssel. Sie können also vom Prinzip her so beschrieben
werden wie Tabellenblätter in Calc.

Zugriff auf externe Datenbanken

13Tabellen können in Base neu gegründet werden. Sie werden dann einfach als neue Dateien in das
angegebene Verzeichnis kopiert.
Für neue Tabellen stehen deutlich weniger Feldtypen zur Verfügung als für die interne HSQLDB.
Dabei sind noch einige Bezeichnungen der folgenden Abbildung als Verdoppelungen anzusehen.

Dbase bietet sich besonders an, wenn es um Austausch und vielfältige Verarbeitungsmöglichkeit
von Daten geht. Schließlich können auch Tabellenkalkulationen dBase-Tabellen direkt einlesen.
Dies kann auch für eine bessere Verarbeitung in Base sinnvoll sein, da Calc einen Importfilter fürdie Zeichencodierung fragt, während Base einfach die Codierung nimmt, die dem Betriebssystem
entspricht. Alte dBase-Dateien weisen dadurch leicht Fehler beim Import von Sonderzeichen auf.

Tabellendokumente
Tabellenquellen für Datenbanken können auch Tabellendokumente sein. Wird aber eine CalcTabelle als Grundlage genommen, so ist jedes Editieren der Tabelle ausgeschlossen. Selbst wenndas Calc-Dokument auch noch geöffnet wird, wird dort ein Schreibschutz gesetzt.

Die einzige Abfrage ist letztlich, an welcher Position das Tabellendokument liegt und ob die Tabelle
passwortgeschützt ist. Base öffnet dann das Tabellendokument und übernimmt alle Tabellenblätter
mit ihrem Inhalt. Aus der ersten Zeile bildet Base die Feldbezeichnungen, aus den
Tabellenblattbezeichnungen die Tabellenbezeichnungen.
Beziehungen zwischen den Tabellen lassen sich in Base nicht erstellen, da Calc nicht Grundlage
für eine relationale Datenbank ist.
14Datenbank erstellen

Thunderbird Adressbuch
Die Verbindung zu einem Adressbuch wie z.B. dem Thunderbird-Adressbuch sucht der Assistentautomatisch. Er fragt lediglich nach einem Speicherort für die *.odb-Datei, die er erstellen soll.

Alle Tabellen werden dargestellt. Wie in Calc sind die Tabellen aber nicht editierbar. Base macht
die Adressen damit nur für Abfragen und z. B. für die Verwendung in Serienbriefen zugänglich.

Zugriff auf externe Datenbanken

15