17.01 Einführung in Datenbanken

Es gibt viele Möglichkeiten, Daten aus einem Java-Programm auf die Festplatte zu schreiben und bei einem erneuten Programmstart wieder zu laden. In diesem Buch haben Sie gelernt, wie Sie Textdateien mit Java erstellen (Kapitel 9), ganze Objekte speichern (Kapitel 09.08) und die Systemproperties verwenden(Kapitel 09.09). In diesem Kapitel lernen Sie deren Vollendung in der Datenbanktechnik kennen.

Warum sollte ich Datenbanken verwenden?

Zuerst sei gesagt, dass Sie keinesfalls Datenbanken verwenden müssen. Eine Datenbank ist auch nicht für alle Probleme die richtige Lösung, sondern können falsch eingesetzt den Code sogar verkomplizieren. Im Grund kann man sagen, dass Datenbanken dann geeignet sind, wenn es um eine große, geordnete Datenmenge geht. Mit „geordnet“ ist hier gemeint, dass alle Daten ein bestimmtes Grundmuster aufweisen, wie zum Beispiel Kundendaten. Als Gegenbeispiel kann man Einstellungsdaten nennen. Diese haben meist verschiedene Eigenschaften, also Datentypen. Es lässt sich schlecht ein Muster finden, und damit ist bei Einstellungsdaten die Datenbank nicht wirklich geeignet. Hier verwendet man entweder die Systemproperties oder eine XML-Datei.
Auch ist bei der Verwendung von Datenbanken Vorsicht geboten, wenn noch andere Programme auf die Daten zugreifen können.

Was brauche ich für dieses Kapitel?

Sie benötigen natürlich das JDK, und außerdem noch die Bibliothek HSQLDB. HSQLDB ist eine kostenfreie Java-Datenbank, die einen SQL-Dialekt verwendet. HSQLDB kann hier heruntergeladen werden. Die OfficeSuite OpenOffice.org bzw. LibreOffice verwendet ebenfalls HSQLDB.
HSQLDB lässt sich als Client-Bibliothek verwenden, es bringt aber auch einen Server mit. In diesem Kapitel werden wir uns vorrangig mit der Client-Bibliothek beschäftigen. HSQLDB verfügt auch über einen eigenen JDBC-Datenbanktreiber, sodass die Einbindung einer Datenbank recht einfach gelingt.

Grundsätzliches über Datenbanken

Datenbanken zeichnen sich durch eine hochgradig geordnete Struktur aus. Es gibt verschiedene Arten von Datenbanken, in diesem Kapitel werden wir uns mit der einfachsten von ihnen beschäftigen, der relationalen Datenbank. Eine relationale Datenbank besteht aus einer oder mehreren Tabellen, die wiederum Attribute besitzen. So kann zum Beispiel die Tabelle HAUS die Attribute groesse, farbe und einwohner besitzen. Diese Festlegung nennt man Tabellenschema. Wenn Sie dieser Aufbau an Ihre erste Begegnung mit Klassen in Java erinnert, liegen Sie richtig.
Häufig lassen sich Tabellen mit Klassen vergleichen. Einem Eintrag in die Tabelle HAUS entspräche dann einem Objekt der Klasse HAUS in Java. Im Unterschied zu Objekten in Java müssen Sie sich aber bei der Datenbankprogrammierung selbst darum kümmern, dass ein Objekt eindeutig identifizierbar ist. Meistens wird dafür ein Attribute id verwendet.
Eine Tabelle kann beliebig viele Einträge annehmen und es können beliebig viele Tabellen in einer Datenbank definiert werden.

Die Daten werden mit sogenannten SQL-Abfragen wieder aus der Datenbank geholt. Dabei kann genau definiert werden, welche Information man haben möchte. Auch tabellenübergreifende Abfragen sind möglich, doch dazu mehr in den nächsten Kapiteln.

In HSQLDB werden Datenbanken über einen sogenannten JDBC-Treiber angesprochen. Für uns sieht es aber so aus, als benutzten wir reinen Java-Code, der Low-Level-Kram wird von der Bibliothek selbst erledigt.

SQL-Grundlagen

In dieser Kapitelreihe soll es vor allem um die Verwendung von Datenbanken in Java gehen, nicht darum, wie man Datenbanken allgemein bedient. Ich werde zwar die Grundbefehle erklären, doch nur genau so weit, wie es für das Verständnis dieses Kapitels notwendig ist.
Wer SQL mit Java zu 100% ausnutzen möchte, der sollte sich im Internet ein SQL-Tutorial suchen. Ein relativ gutes Tutorial finden Sie hier: SQL-Tutorial.

Veränderungen der Datenbank

Im nächsten Kapitel werden wir uns einige Einstellungen an der Datenbank selbst anschauen und außerdem zum ersten Mal mit der Datenbank in Verbindung treten.

2 Replies to “17.01 Einführung in Datenbanken”

  1. Sebastian

    Hallo,

    der SQL-Tutorial-Link funktioniert nicht, weil im HTML Code „herf “ statt „href“ getippt wurde.

    MfG Sebastian

  2. Stefan Kiesel

    Hallo Sebastian,

    wie immer vielen Dank fürs Anmerken. Fabian wird demnächst seine bisherigen Artikel noch einmal verstärkt auf kleine Fehlerchen untersuchen. Ich hoffe Sie können sich dann mehr auf den Inhalt als auf die Rechtschreibung konzentrieren 😉 .

    Grüße
    Stefan

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.