 |
DatenbankenDatenbanken 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.

Excel als Datenbank? Es ist schon erstaunlich was man mit Excel
alles anstellen kann. Für einfache Berechnungen bis hin zu aufwändigeren
Kalkulationen ist eine Tabellenkalkulation das Werkzeug der Ersten Wahl.
Wegen der intuitiven Bedienungsweise werden daraus schnell längere
Listen, in denen einige Spalten mit komplexen Formeln berechnet werden,
die bei wachsender Komplexität an eine Art von Programmierung erinnern.
Eine Tabellenkalkulation ist wie ein kariertes Mathekästchenblatt in
Zeilen und Spalten unterteilt, die jeweils beschriftet sind. So lassen
sich die Kreuzungspunkte der einzelnen Kästchen (Zellen genannt) durch
Angabe der Zeilen-/Spaltenbeschriftung benennen. Dann wäre die erste Zelle
ganz links oben mit A1 bezeichnet. Mit diesen Zellbezeichnungen kann auf
die Werte der Zellen zugegriffen werden.
| |
A |
B |
C |
| 1 |
Menge |
Preis |
Summe |
| 2 |
120 |
3,99 |
= A2 * B2 |
Rechnungen sammeln
Mit diesem Wissen und ein wenig Übung können nun Rechnungen erstellt
werden. Dort werden einige Artikel wie oben gezeigt hineingeschrieben
und eine Gesamtsumme über alle Zeilensummen gebildet, zu der dann noch
die Mwst hinzugerechnet wird.
Für mehrere Rechnungen sei einmal folgende Idee vorgestellt:
Nach der eben beschriebenen Idee steht immer eine Rechnung auf einem
Excelblatt(Register). Eine weitere Rechnung könnte in einem neuen
Register erstellt werden, wobei pro Kunde eine Exceldatei gespeichert
wird. Somit würden je nach Kundenanzahl mehrere Exceldateien mit den
einzelnen Rechnungen bestehen.
Problem mit Auswertungen
Soweit seien die Rechnugen gesammelt. Und nun kommt das Jahresende, wo
sie die Umsätze auswerten wollen. Spätestens jetzt tauchen die ersten
Probleme auf. Mit Excel wird auch diese Hürde zu überwinden sein;
jedenfalls wird es ein sehr erfahrener Profi durch viele Formeln und
ergänzende Programmierung leisten können.
Was Anfangs noch leicht und schnell erfasst wurde, wird jetzt zum
Zeitpunkt der Auswertung aufwändig und fehlerträchtig, wenn nicht in
jeder Zelle die richtige Formel steht. Und das wo es gerade jetzt zum
Jahresabschluss zeitlich eng wird.
Mögliche Schwächen
der Speicherort referenzierter Exceldateien hat sich geändert
ein Wechsel von: Geschäftsjahr / Mwst / Zinssatz
ein Kunde hat mehr Rechnungen als Register möglich sind (mehr als 256)
die Liste wird länger als die Formeln für Listen vorbereitet sind
der Aufbau ändert sich und alle Formel müssen angepasst werden
einzelne Formeln sind versehentlich gelöscht
es kann nur einer zur Zeit daran arbeiten
versehentliches ändern von Zellwerten, ohne es zu bemerken
löschen einer einzelnen Zelle, wobei die (Teil-)Liste nach oben rutscht
unpraktische Ansicht aller Spalten in der Breite (zu viele Spalten)
einzelne Datenbereiche sind unzureichend für den Ausdruck aufbereitet
Hilsmittel zur Vermeidung von Fehlern:
Formeldetektiv zum anzeigen von referenzen (Vorgänger)
Zellen gegen Änderungen schützen (sperren)
anzeigen von Formeln in den Zellen ( Tasten {STRG+#} )

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.

 |
 |