Home / LinuxUser / 2010 / 06 / Gut sortiert

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.
AA_aktenordner_123rf_21307_Rafost1.jpg

© Rafost1, 123rf.com

Gut sortiert

Datenbanken und Formulare mit OpenOffice erstellen

20.05.2010 Ob Sammlungen, Kundenkarteien und Adressbücher – wer größere Datenmengen effizient verwalten will, kommt an einer Datenbank nicht vorbei. OpenOffice bietet dazu eine einfache, aber mächtige Anwendung.

Mittlerweile hat sich herumgesprochen, dass OpenOffice [1] eine ernstzunehmende Alternative zu Microsofts Platzhirsch Office bietet. Die freie Suite verbreitet sich stetig weiter, sodass immer mehr Anwender Texte statt mit Word mit OOWriter schreiben und anstelle von Excel OOCalc zur Tabellenkalkulation verwenden. Seit Version 2.0 gehört die Datenbank-Komponente OOBase zur OpenOffice-Familie und macht Microsoft Access das Feld streitig.

Mit OOBase erstellen Sie auf einfache Weise komplexe Datenbanken, in denen Sie Datenbanktabellen untereinander mit Hilfe von Beziehungen verknüpfen. OOBase dient als Anwenderoberfläche für das integrierte Datenbanksystem HSQLDB. Dieser Workshop zeigt, wie Sie mit OOBase Datenbanken erstellen und Tabellen zueinander in Beziehung setzen. Darüber hinaus erfahren Sie, wie sie mithilfe des entsprechenden Assistenten Formulare einrichten und welche Funktionen OpenOffice für das manuelle Erstellen und Bearbeiten von Formularen mitbringt.

Einstieg

OOBase startet mit dem Datenbank-Assistent, der es erlaubt, bestehende Datenbanken zu laden oder neue anzulegen. Wählen Sie in den zwei aufeinanderfolgenden Dialogen die entsprechenden Felder zum Anlegen einer neuen Datenbank und sofortigen Öffnen aus und klicken Sie auf Fertig stellen. Um das im Artikel erläuterte Beispiel nachzuvollziehen, geben Sie der Datenbank im Anschluss den Namen cd-sammlung . Speichern Sie abschließend die Datenbankdatei im gewünschten Verzeichnis ab, worauf sich das OOBase-Programmfenster (Abbildung 1) öffnet.

Abbildung 1: Das OOBase-Fenster dient als Ausgangspunkt für alle datenbankbezogenen Benutzeraktionen.

Die Oberfläche gliedert sich neben der Menü- und Standard-Symbolleiste in mehrere Bereiche, deren Inhalte Sie über die Icons in der linken Spalte Datenbank steuern. Klicken Sie auf eines davon, zeigt der Bereich Aufgaben spezifische Funktionen der Auswahl an. Der Objektbereich darunter enthält je nach ausgewähltem Symbol angelegte Objekte des entsprechenden Typs: etwa Tabellen, Formulare oder Datenbanken.

Generell besteht eine Datenbank aus mindestens einer Tabelle. Beim Einsatz von mehreren davon gilt es, diese sinnvoll miteinander zu verknüpfen, damit sie in einer direkten Beziehung zueinander stehen. Der Fachbegriff dafür lautet Relation beziehungsweise relationale Datenbank.

Für das Beispiel einer CD-Sammlung bedeutet das, dass Sie in einer Tabelle Informationen über CDs sammeln und in einer anderen die der Interpreten verwalten. Eine Beziehung zwischen den beiden Tabellen besteht darin, dass es für eine CD immer einen Interpreten gibt, und dass ein Interpret mindestens eine CD aufgenommen hat. Der durchaus vorstellbare Fall, dass mehrere Interpreten zu einer CD gehören, bleibt in dem vorliegenden Beispiel aus Gründen der Einfachheit außen vor (siehe Kasten "Beziehungsbeispiele").

Der Bereich Abfragen dient dazu, gezielt Daten aus einer oder mehreren Datenbanktabellen zu holen, beispielsweise um Auswahllisten in Formularen oder Auswertungen (Berichte) zu erstellen. Eine solche Abfrage könnte umgangssprachlich wie folgt lauten: "Zeige mir alle CDs aus dem Jahre 1987". Für Berichte spielen die Abfragen daher eine sehr wichtige Rolle, denn dieses Abfragebeispiel eignet sich beispielsweise für einen Bericht mit dem Titel Alle CDs aus 1987.

Über Formulare legen Sie Datenmasken zur Dateneingabe an und verwalten sie. Dazu benutzt OOBase die Textverarbeitung OOWriter. In der Grundeinstellung meldet das Büropaket neue Datenbanken so an, dass sie für den Zugriff aus anderen OpenOffice-Anwendungen heraus bereitstehen. Das setzt aber voraus, dass Sie die entsprechende Datenbankdatei nach dem Speichern nicht in ein anderes Verzeichnis verschieben.

Beziehungsbeispiele

Relationale Datenbanken erlauben, komplexe Zusammenhänge zwischen verschiedenen Objekten darzustellen. Ihr hauptsächlicher Nutzen besteht darin, Redundanzen zu vermeiden. Besteht Ihre CD-Sammlung beispielsweise aus 10 000 Alben, wovon die Hälfte zum Genre "Rock" gehört, müssen Sie nicht 5000 Mal das Genre angeben, sondern lediglich einen Zeiger auf die entsprechende Tabelle. Das spart – bei sinnvoller Anwendung und großen Datenbanken – enorm viel Platz und sorgt für deutlich mehr Übersicht. Einen ebenso wichtigen Vorteil bieten relationale Datenbanken bei der Pflege: Möchten Sie, ausgehend von unserem Beispiel, das Genre von "Rock" in "Hardrock" ändern, genügt es, statt 5000 Einträgen einen einzigen umzuschreiben. Bei relationalen Datenbanken unterscheidet man zwischen folgenden Beziehungstypen:

  • 1-zu-1, Beispiel: eine CD hat ein Cover
  • 1-zu-n, Beispiel: eine CD umfasst mehrere Titel
  • n-zu-m, Beispiel: eine CDs kann Titel mehrerer Interpreten enthalten, gleichzeitig kann ein Interpret auf mehreren CDs erscheinen

In OOBase bearbeiten Sie die Beziehungen zwischen den Tabellenfeldern im Fenster Beziehungsentwurf. Dieser Workshop verwaltet die Interpreten und die CDs der Einfachheit halber in einer 1-zu-n-Relation. Ideal wäre eine n-zu-m-Beziehung. Die stellen Sie durch das Einführen einer dritte Tabelle her, die zu den beiden anderen jeweils eine 1-zu-n-Beziehung unterhält.

Dazu benötigt die dritte Tabelle drei Felder: einen Primärschlüssel und zwei Felder vom Typ INTEGER, also Zahlenwert. Anschließend verknüpfen Sie die Primärschlüssel der hier beschriebenen Tabellen mit jeweils einem INTEGER-Feld der dritten Tabelle, was ermöglicht, einer CD mehrere Interpreten zuzuordnen.

Datenbanken erstellen

Datenbanken – und später Formulare – erstellen Sie entweder halbautomatisch mit dem Assistenten oder manuell über die verschiedenen Entwurfsansichten. Der große Vorteil der Assistenten liegt darin, dass sie technische Abhängigkeiten weitgehend automatisch auflösen. Für den Anfang empfiehlt es sich deswegen, diese Helfer zu nutzen. Bei speziellen Anforderungen erreichen sie aber schnell ihre Grenzen. Insbesondere bei Tabellen liefert der OOBase-Assistent nur vorgefertigte Beispiele.

Für die einfachen Tabellen aus diesem Workshop empfiehlt sich daher der Weg über die Tabellen-Entwurfsansicht. Klicken Sie dazu im Bereich Aufgaben auf Tabelle in der Entwurfsansicht erstellen. In die Tabelle tragen Sie die Felder mit Feldtypen und Beschreibung ein. Die Eigenschaften der angelegten Felder passen Sie im unteren Bereich Feldeigenschaften an (Abbildung 2).

Abbildung 2: Die Entwurfsansicht für Tabellen ermöglicht das einfache manuelle Erstellen und Bearbeiten von Tabellenstrukturen.

Die erste Tabelle enthält die Namen der CD-Titel sowie deren Erscheinungsjahr. Übertragen Sie dazu die in der Tabelle CDs vorgegebenen Werte in das Raster der Entwurfsansicht. Die Feldnamen dürfen Sie frei wählen; die Feldtypen müssen Sie aber wie vorgegeben übernehmen: Diese bestimmen, welche Art von Daten das entsprechend Feld aufnimmt, beispielsweise Text oder Ganzzahlen (INTEGER).

CDs

Feldname

Feldtyp

Feldeigenschaften

id Integer (INTEGER) Auto-Wert = Ja
cd_titel Text (VARCHAR) Eingabe erforderlich = Ja
cd_erscheinungsjahr Integer (INTEGER)
cd_interpret_id Integer (INTEGER)

Eine Übersicht aller zur Verfügung stehenden Feldtypen finden Sie in der OpenOffice-Dokumentation [2]. Die Spalte Feldeigenschaften legt bestimmte Verhaltensweisen fest. Wählen Sie beispielsweise Eingabe erforderlich = Ja, lässt sich der Datensatz später beim Erfassen der Daten nur abspeichern, wenn das entsprechende Feld ausgefüllt ist.

Das Feld id versieht OOBase durch die Angabe von Ja bei Auto-Wert automatisch mit einem Zähler, der bei jedem neuem Datensatz um den Wert 1 ansteigt. Damit eignet sich das Feld als Primärschlüssel, was Sie über eine Rechtsklick auf den Zeilenkopf festlegen. OOBase kennzeichnet das Feld des Primärschlüssels mit einem kleinen Schlüsselsymbol.

Speichern Sie die Tabelle unter den Namen CDs und schließen Sie das Entwurfsfenster. Zur Sicherheit sollten Sie die Datenbank über das OOBase-Programmfenster speichern. Speichern Sie die Eingabe über die Entwurfsansicht, sichert die Anwendung beispielsweise nur die Tabelle, nicht aber die Datenbank. Verfahren Sie beim Anlegen der zweiten Tabelle wie beschrieben, und verwenden Sie hier die Werte aus der Tabelle "Interpreten".

Interpreten

Feldname

Feldtyp

Feldeigenschaften

id Integer (INTEGER) Auto-Wert = Ja
interpret_name Text (VARCHAR) Eingabe erforderlich = Ja
land Text (VARCHAR)
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

791 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...