Databases Reference
In-Depth Information
das ODBMS nach einem Ausfall wieder in einen konsistenten Zustand zu brin-
gen.
Anders als bei relationalen Systemen wird keine Abfragesprache wie SQL gefor-
dert. Vielmehr ist die Rede von „a simple way of querying data“. Dies kann aber
auch eine graphische Schnittstelle mit Abfragemöglichkeiten sein.
Ein weiterer Unterschied zum RDBMS ergibt sich auch aus der unbegrenzten Ab-
fragekomplexität eines ODBMS. Wir erinnern uns (siehe Abschnitt 4.9), dass die
Möglichkeiten der relationalen Algebra dagegen begrenzt sind. Es gibt Proble-
me, die nicht mit Hilfe von Ausdrücken der Algebra (und dementsprechend auch
nicht mit dem Teil von SQL, den wir hier kennengelernt haben) gelöst werden
können.
Diese Charakteristika eines ODBMS klingen vielversprechend: Wir können in ob-
jektorientierter Denkweise mit unseren Daten arbeiten, müssen uns um Primär-
schlüssel und Fremdschlüssel und Normalisierung keine Gedanken machen und
können alle erdenklichen Abfragen für unsere Daten formulieren.
Am Beispiel von db4o lernen wir jetzt ein in den letzten Jahren zunehmend be-
liebter gewordenes und leicht anwendbares ODBMS kennen.
21.2
db4o
Zum ODBMS db4o 1 gibt es, bei gleicher Funktionalität und praktisch identischen
Schnittstellen, Implementierungen für die Java-Plattform und solche für den .Net-
Framework.
Es kann - wie H2 - kostenlos genutzt werden und sowohl im Client-Server-
Betrieb als auch im Embedded-Modus betrieben werden. Wir wählen hier die be-
queme zweite Variante. Dieser Abschnitt zeigt uns die wesentlichen Merkmale
eines ODBMS, ohne db4o vollständig zu beschreiben. Für weiterführende Litera-
tur sei auf [Roe06], [Pat06] oder auch das db4o-Tutorial 2 verwiesen. Auf unserem
Streifzug werden uns wieder Comicreihen und Alben begleiten. Wir fangen mit
der einfachen Definition des Typen Album an:
public class Album {
private String titel;
private int band, jahr;
private BigDecimal preis;
public Album(int band, String titel, BigDecimal preis, int jahr){
this.band = band;
this.titel = titel;
this.preis = preis;
this.jahr = jahr;
1 www.db4o.com
2
developer.db4o.com/Documentation/Reference/db4o-8.0/java/tutorial/
 
Search WWH ::




Custom Search