DATABASE

Datenbanken

Datenbanken sind mehr als nur Listen, wie man sie aus Excel kennt. Sie halten Daten für lange Zeit vor und ermöglichen im Mehrbenutzerzugriff Datenänderungen sowie komplexe Auswertungen. Online Datenbanken im Web: Kaum ein Unternehmen kommt noch ohne Datenbanken aus. Allerdings kann der Datenspeicher nicht ohne weiteres für die tägliche Arbeit genutzt werden. Nur Experten sind in der Lage für eine Auswertung einen Befehl in der speziellen Datenbank- abfragesprache in einer Textkonsole einzutippen. Zwar wird sie als Structured Query Language (SQL) bezeichnet, aber man muss einige Erfahrung mitbringen, um sie sicher und effektiv zu beherrschen.

Damit auch ungeübte zuverlässig mit Datenbanken umgehen können, gibt es Anwendungs- oberflächen, die auf einem Bildschirm Formulare zur Datenerfassung und Auswertung zur Verfügung stellen. Durch das Bildschirmgestützte arbeiten kann die Datenbanktechnik fast völlig ausser Acht gelassen werden. Besonders geeignet sind Webanwendungen, weil sie leicht von vielen ohne weitere Installation und zusätzlicher Lizenzgebühren genutzt werden können, soweit Sie die Zugriffsberechtigung zulassen wollen.

Datenbankentwurf
Gute Programme entstehen fast automatisch, wenn die Datenbank mit wenigen aber aussagefähigen Tabellen erstellt wird. Hier lohnt es sich ein wenig mehr Arbeit hineinzustecken. Das wird später um ein vielfaches während der Programmierung wieder eingespart. Lassen Sie sich nicht beeindrucken von Programmierern, die Sie mit sehr vielen und komplizierten Datenbanktabellen beeindrucken wollen. Weniger aber wohlbedacht ist hier mehr!

Teuer wird es, wenn für jede Änderung einfach eine neue Spalte in einer Tabelle angefügt wird, was dann zu Spaltennamen führt wie: Tel1 / Tel2 / Tel3. In diesem Fall wird jede Änderung aufwändiger. Wenn nun noch eine vierte Rufnummer für ein Handy notwendig wird, kommen Sie bei der anfangs einfachen Vorgehensweise kaum drum herum einen Programmierer zu bemühen, ein entsprechend neues Datenbankfeld einzurichten.

Bei einer besseren Datenbankaufteilung in verschiedene Tabellen würde es zu einer Personentabelle eine zusätzliche für die Kommunikationsadressen geben. Dort könnten Sie selber jederzeit beliebig viele Informationsdaten erfassen. So ein Vorgang wird in Fachkreisen als Normalisierung bezeichnet, was noch einige weitere Vorteile bringt.

Datenintegration
Die meisten Anwendungen dokumentieren den Geschäftsprozess vollständig in einem Datenspeicher, der in der Regel eine SQL-Datenbank ist. Hier ist die Standardisierung mit SQL sehr stark verbreitet. Ebenso verbreitet sind Auswertungsmöglichkeiten und Datenbankschnittstellen, die Datenbank- hersteller mitliefern oder durch einen Standard verfügbar sind. Nur sind die Anwendungsdaten alle verschieden und auch auf unbekannte Weise abgelegt. Wie kann ich dennoch meine Daten auf eigene Weise nutzen?

In fast allen meisten Fällen läßt vom Datenmodell und der abgelegten Daten auf die Geschäftslogik zurückschliessen und dadurch nachvollziehen. Bei den wenigen Ausnahmen ist es durchaus auch Absicht der Hersteller, ihre Datenlogik zu verschleiern, um den Kunden durch unbrauchbare Datenhaltung vollkommen abhängig zu halten.

Die Datenintegration ist ein Bestandteil des Themas „Enterprise Application Integration“ EAI. Auf der Schicht der Datenhaltung ist es die einfachste Möglichkeit, eine EAI umzusetzen, da sie schon heute in der Praxis durchgehend verfügbar ist. Nur die Geschäftslogik der zugehörigen Anwendung kann von hier aus nicht genutzt werden, da der Zugriff sozusagen „unter der Haube“ stattfindet. Aus diesem Grund sollte so ein Zugriff nur von geübten Fachkräften erfolgen.

Beispiele für Datenbankschnittstellen:
Allgemeine SQL-Schnittstellen: ODBC, JDBC
Objektrelationales Mapping: Hibernate JDO
Serviceorientierte Architekturen: EJB, SOAP
Wissenschaftlich: SchemaSQL

Einfaches Feldmapping
Einfache Tabellen mit unterschiedlichen Feldbezeichnungen für gleichartige Daten erlauben die einfachste Form des Attributmappings. In der Abbildung ist sehen, wie die Verbindungen aussehen können. Im SQL-Listing der Abbildung werden die Felder der Quelle mit dem Schlüsselwort AS als Alias umbennant.

Datentransformation
Oft liegen zu übernehmende Daten nicht in der gewünschten Form vor, lassen sich aber durch Regeln automatisch in das Zielformat konvertieren. Hierzu werden ausreichend viele Funktionen im SQL Standard angeboten, die durch einige Hersteller noch deutlich erweitert werden. Die Funktionen lassen sich in folgende Gruppen gliedern:

Mathematische Funktionen
Zeichenfunktionen, Datumsfunktionen, Konvertierungsfunktionen, Aggregatfunktionen. Die Daten werden unter der Zuhilfenahme von SQL-Funktionen so umgeformt, dass sie in die Zieltabelle hineinpassen. SQL ist hierfür völlig ausreichend.

Mapping mehrerer Tabellen
Das Mapping von Tabellen mit weiteren abhängigen Tabellen (Entitäten), wie in der Abbildung zu sehen, ist eine Steigerung der Anforderung gegenüber dem Mapping von einfachen Tabellen. Wenn aus einer abhängigen Tabelle auf eine einfache Zieltabelle verbunden werden soll, können es mehrere Werte sein, die in ein einziges Feld landen sollen, was zu Fehler führen würde. Daher muss die Untermenge durch einen Konverter so gefiltert werden, dass nur ein einzelner (skalarer) Wert entsteht. Im Listing der Abbildung wird das Filtern durch die Where-Bedingungen erledigt.