StartseiteSoftwareDatenbankenReferenzenKontakt
Software Anwendungsentwicklung Programmierung
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.

Zurueck nach oben

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+#} )

Zurueck nach oben

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.


 

Zurueck nach oben

Software Anwendungsentwicklung Programmierung