> Inhalt: JavaScout Fat-Client-Framework (FCF)

> Verzeichnis der Dokumente mit den theoretischen Grundlagen 

DBA (DataBase-Access) Klasse

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, dass Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2008-03-30


Voraussetzungen für das Verständnis dieses Dokuments:

* Kenntnisse über relationale Datenbanken.
* Kenntnisse über die Funktion von Klassen und Methoden in Java.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Das ist ein Dokument mit einem Überblick über die Realisierung von Business-Objects mit Java-Klassen.
Dabei wird besonderer Bezug auf das JS-FCF (JavaScout Fat-Client-Framework) genommen.
Der Zeitaufwand hängt stark von Ihren Vorkenntnissen ab und reicht von 5 Minuten für ein Überfliegen des Inhaltes bis zu mehr als 1 Stunde für eine intensive Auseinandersetzung mit der Materie.

Dieses Dokument beschreibt die Struktur der Klasse, mit der ein Datenbank-Zugriff auf genau eine DB-Tabelle ausgeführt wird.

Im ersten Teil des Dokumentes werden die Motive des Autors, jeweils eigene Klassen für den Zugriff auf genau eine Datenbank-Tabelle zu entwerfen, dargelegt.
Diese Klassen werden als DBA- (DataBase-Access- / Datenbank-Zugriffs-) Klassen bezeichnet.

Im zweiten Teil des Dokumentes wird dargestellt, wie die Führung der Historie von Änderungen implementiert ist.


Inhaltsverzeichnis

Vorbedingungen 

Graphische Darstellung der Struktur einer DBA-Klasse 
* Basisklasse (im JavaScout Fat-Client-Framework) 
* DBA-Klasse für eine bestimmte DB-Tabelle 
Welche Aufgabe hat eine DBA-Klasse – welche Aufgabe hat sie nicht 
* 'Spiegel' genau einer Datenbank-Tabelle 
* Definition der Attributsnamen der DB-Tabelle als Konstanten (zur Fehlerminimierung) 
* Methoden für 'insert', 'update', 'delete' und 'select' (mit verschiedenen Kriterien) auf der DB-Tabelle 
* Standardisierte Methoden zur Übertragung der Werte von der DB-Tabelle in die Variablen des DBA-Objekts 
* Keine 'Integritätsprüfung' der Werte 

Attribute zur Führung der Historie von Änderungen 
* Beispiel aus einem existierenden Programm 
* Allgemeine Attribute (Common Attributes) auf jeder DB-Tabelle 
* Vor- und Nachteile dieser Gestaltung – und: Nein ich kriege keine Provision von Festplattenherstellern ;-) 

Weitere Schritte und verwandte Dokumentation
 

Vorbedingungen

zum Inhaltsverzeichnis

Graphische Darstellung der Struktur einer DBA-Klasse

Die folgenden Unterteilungen zeigen vereinfacht, welche Variablen und Methoden in der DBA-Basisklasse und einer abgeleiteten DBA-Klasse implementiert sind.

zum Inhaltsverzeichnis

Basisklasse im JavaScout Fat-Client-Framework

Für den Java-Code der Basiklasse folgen Sie bitte dem Link zu JSBS_DBA .

In der Basisklasse sind nur Konstante, Variable und Methoden definiert, die die Behandlung der Attribute zur Führung der Historie von Änderungen (Common Attributes) notwendig sind.

Die Methoden enthalten die Übertragung der Werte der Variablen zu und von einem (als Parameter übergebenen) Wert vom Java-Typ 'SQLResultSet'.
Über das 'SQLResultSet' werden die Werte zwischen dem Java-Programm und dem Datenbanksystem übertragen.

zum Inhaltsverzeichnis

DBA-Klasse für eine bestimmte DB-Tabelle

Für jede DB-Tabelle wird eine eigene DBA-Klasse implementiert.
Diese Klasse erbt die im vorigen Punkt vorgestellte Basisklasse JSBS_DBA.

Die Konvention für den Namen der Klasse ist folgende:
proj wird ersetzt durch den Kurznamen des Projektes oder Teilprojektes, zu dem die Datenbank-Tabelle gehört.
table wird ersetzt durch den Namen der Datenbank-Tabelle.

Eine Erläuterung der Konstanten, Variablen und Methoden finden Sie im folgenden Punkt.

Welche Aufgabe hat eine DBA-Klasse – welche Aufgabe hat sie nicht

Die folgenden Unterteilungen zeigen vereinfacht, welche Variablen und Methoden in der DBA-Basisklasse und einer abgeleiteten DBA-Klasse implementiert sind.

zum Inhaltsverzeichnis

'Spiegel' genau einer Datenbank-Tabelle

zum Inhaltsverzeichnis

Definition der Attributsnamen der DB-Tabelle als Konstanten (zur Fehlerminimierung)

zum Inhaltsverzeichnis

Methoden für 'insert', 'update', 'delete' und 'select' (mit verschiedenen Kriterien) auf der DB-Tabelle

zum Inhaltsverzeichnis

Standardisierte Methoden zur Übertragung der Werte von der DB-Tabelle in die Variablen des DBA-Objekts

zum Inhaltsverzeichnis

Keine 'Integritätsprüfung' der Werte

Attribute zur Führung der Historie von Änderungen

Die folgenden Unterteilungen zeigen vereinfacht, welche Variablen und Methoden in der DBA-Basisklasse und einer abgeleiteten DBA-Klasse implementiert sind.

zum Inhaltsverzeichnis

Beispiel aus einem existierenden Programm

Das Schema verdeutlicht, wie eine Historie von Änderungen aufgezeichnet wird.

Wenn ein Anwender eine Änderung eines Attributes durchführt, wird die Gültigkeit des aktuellen Datensatzes beendet und eine neuer Datensatz auf der Datenbank-Tabelle angelegt.
Dieser neue Datensatz enthält die aktuell gültigen Werte und zusätzliche Information, wer wann die Änderung durchgeführt hat.

Für das Aufzeichnen des Verursachers und des Zeitpunkts, der eindeutigen Identifikation eines Datensatzes (Primär-Schlüssel), der Zusammengehörigkeit der Datensätze eines Daten-Objektes und der Dauer der Gültigkeit werden 'Allgemeine Attribute' (Common Attributes) verwendet.
Diese 'Allgemeinen Attribute' sind auf jeder Datenbank-Tabelle vorhanden und im nächsten Abschnitt beschrieben.

zum Inhaltsverzeichnis

Allgemeine Attribute (Common Attributes) auf jeder DB-Tabelle

Mit Hilfe dieser Attribute wird die 'Historie' der Änderungen auf der DB-Tabelle geführt.
Für den Java-Code der Basiklasse, in der die Common Attributes definiert sind, folgen Sie bitte dem Link zu JSBS_DBA .

In Klammer ist der SQL-Typ des jeweiligen Attributes angegeben.

zum Inhaltsverzeichnis

Vor- und Nachteile dieser Gestaltung – und: Nein, ich kriege keine Provision von Festplattenherstellern ;-)

Nach 8 Jahren des Einsatzes eine Warenwirtschaftssystems mit ca. 1500 Kunden, ca. 4000 Produkten und ca. 500 Bestell-Positionen pro Woche zeigt sich, dass mögliche Ängste über ein 'Explodieren' des Bedarfs an Speicherplatz nicht wahr wurden.

Zuerst zu den Vorteilen dieser Art der Führung einer Historie:

Einziger Nachteil:

Nein – ich bekommen keine Provision von Festplattenherstellern -
oder die Erfahrungen nach 8 Jahren Betrieb:

zum Inhaltsverzeichnis

Weitere Schritte und verwandte Dokumentation

Dokument

Inhalt

JavaScout Fat-Client-Framework > Theoretische Grundlagen der Datenspeicherung mit Business-Objects (Geschäfts-Objekten)

Liste der Dokumente mit detaillierten Beschreibungen. 

zum Inhaltsverzeichnis