![]() |
||||||||||||||||||||||
|
Java Database Connectivity (JDBC) ist eine Handelsmarke der Firma Sun Microsystems. Viele Anwender verstehen unter der Abkürzung JDBC allerdings auch allgemein das Konzept der Java Database Connectivity, ohne konkreten Bezug auf einen Markennamen. JDBC stellt ein Application Programming Interface (API) zur Verfügung, mit dessen Unterstützung SQL-Datenbankanfragen gestellt und ausgewertet werden können. JDBC fordert hierbei keine Voraussetzungen an die benutzte Datenbank. Somit können unabhängig von der verwendeten Datenbank Java-Anwendungen erstellt werden, die auf verschiedene Datenbanktypen zugreifen, ohne dass Änderungen im Code vorgenommen werden müssen. Das JDBC-API ist vollständig in Java implementiert. Aus diesem Grund sind alle weiteren Vorteile von Java, wie bspw. die Unabhängigkeit von der verwendeten Plattform oder die Verwendung im World Wide Web, ebenfalls verfügbar. Ein besonderes Anliegen der Firma Sun Microsystems war es, das API so einfach wie möglich zu halten. Hierdurch können sich Entwickler verstärkt auf die Datenbankfunktionalität konzentrieren, ohne von komplizierten Anfrageoperationen abgelenkt zu werden. Abb. 10-1 veranschaulicht den transparenten Datenzugriff einer in Java geschriebenen Anwendung auf verschiedene Datenbanktypen durch die JDBC-Schnittstelle.
Abb. 10.1: Transparenter Datenzugriff in JDBC Im Folgenden werden wichtige Begriffe der Datenbankwelt, die im weiteren Verlauf dieses Kapitels verwendet werden, erläutert. Relationale Datenbanken Eine relationale Datenbank ist eine Datenbank, bei der Daten in Form von Tabellen gespeichert werden. Diese Tabellen werden durch Operationen miteinander in Relation gebracht (daher der Name relationale Datenbank). Neben den Daten werden auch alle Verwaltungsinformationen, wie bspw. Verknüpfungen zwischen Tabellen, in Form von Tabellen gespeichert, die wiederum mit Operatoren verknüpft werden können. Folgende Voraussetzungen müssen alle Tabellen erfüllen, damit von einer relationalen Datenbanken gesprochen werden kann:
Ein Beispiel für eine derartige Tabelle ist aus Tab. 10-1 ersichtlich. Diese Tabelle enthält vier verschiedene Spalten: Spieler_Nr., Nachname, Vorname und Gespielt. Als Primärschlüssel dieser Tabelle kann die Nummer des Spielers verwendet werden, da jeder Spieler durch eine eindeutige Nummer identifiziert werden kann. Eine andere Identifikationsmöglichkeit wäre die Zusammensetzung der zwei Spalten Vorname und Nachname zu einem Primärschlüssel. |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
Tab. 10.1: Definition einer Spielertabelle Database Management System (DBMS) Unter dem Begriff Database Management System versteht man eine Software, mit der Datenbanken erstellt und verwaltet werden können. Handelt es sich um relationale Datenbanken, so wird ein Database Management System (DBMS) auch als Relational Database Management System (RDBMS) bezeichnet. Die Datenbanken Access, DB2, Informix oder miniSQL sind Beispiele für DBMS. Structured Query Language (SQL) Die Structured Query Language (SQL) ist eine Sprache, mit der relationale Datenbanken erstellt, manipuliert und abgefragt werden können. SQL ist keine prozedurale Sprache, d. h. bei der Fragestellung wird kein Algorithmus zur Lösung der Frage vorgeschrieben. In prozeduralen Programmiersprachen, wie z. B. Pascal oder C muss der Algorithmus zum Auffinden der gesuchten Informationen angegeben werden. SQL wurde definiert, um die Arbeit mit relationalen Datenbanken zu vereinfachen. Die Sprache bietet Grundanweisungen, die als Standard für alle RDBMS betrachtet werden können, darunter die folgenden Kommandos:
SELECT * FROM Spieler WHERE Nachname = 'ElSaddik'
Auf die FROM-Klausel folgt der Namen der Tabelle, aus der die Daten gelesen werden (hier Spieler). In der Ausgabe werden als Resultat alle Spalten angezeigt. Nach dem SELECT-Kommando werden die Spalten aufgelistet, die angezeigt werden sollen. Das Zeichen * steht für hierbei für alle Spalten, die die angegebene Bedingung Nachname = 'ElSaddik' erfüllen.
SELECT Nachname, Spieler_Nr FROM Spieler WHERE Gespielt > 5 |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
Tab. 10.2: Ergebnis einer Projektionsabfrage
Statement1 Commit Transaktion oder Rollback Transaktion Eine Transaktion endet entweder mit commit, wodurch die Änderungen bestätigt werden, oder mit rollback, womit die gesamte Transaktion ungültig gemacht wird. Weitere SQL-Anweisungen SQL-Anweisungen können in zwei Kategorien eingeteilt werden: In Operationen der Datenmanipulation (Data Manipulating Language, kurz: DML) und in Operationen der Datendefinition (Data Definition Language, kurz: DDL). DML-Anweisungen werden benutzt, um Daten aufzufinden, zu manipulieren oder zu aktualisieren. Bei DDL-Anweisungen wird die Struktur einer Tabelle manipuliert. Nachfolgend ist eine Liste häufig benutzter DML-Anweisungen aufgeführt:
Häufig eingesetzte DDL-Anweisungen sind:
Nachdem die wichtigsten Begriffe und Anweisungen relationaler Datenbanken erläutert wurden, wird im folgenden Abschnitt auf die JDBC-Architektur eingegangen. |
|
|