Importmodul III: Datenverarbeitung


Überprüfung bzw. Erzeugung korrekter Anweisungen



Änderungshistorie

Datum

Beschreibung

04.07.2012

Erstellung des Dokumentes

05.09.2012

Doppelt Prüfung für Polygon und Punkt spezifiziert


Über dieses Dokument

Dieses Dokument beschreibt speziell den Verarbeitungsprozess der Importdaten im recotech-Importmodul. Es erklärt, warum die Importdaten so gut wie keinen Beschränkungen bezüglich Format oder Strukturierung unterliegen, wie Datenlücken gefüllt werden und wie die Datenpflege ohne IDs funktioniert.
An welcher Stelle die dabei eingesetzten Funktionen in der grafischen Benutzeroberfläche zu finden sind, wird mit Screenshots angezeigt, dennoch ist dieses Dokument nicht als Bedienungsanleitung der GUI zu verstehen. Es konzentriert sich  vielmehr auf die Funktionen und den Ablauf der Datenverarbeitung bzw. des Datenabgleichs und dient mehr dem theoretischen Verständnis.

Die inhaltliche (im Gegensatz zur technischen) Beschreibung der von recotech benötigten Daten ist Gegenstand des Dokuments "Importmodul I: Objekte und Daten".

Das Dokument "Importmodul II: Aufbau und Überblick" liefert einen ersten Überblick über die Funktion des Datenimportmoduls, seine Stellung in recotech und die verschiedenen Möglichkeiten, es mit Daten zu füllen. Hier befindet sich auch die technische Sicht auf die von recotech benötigten Daten. Bei letzterer sei ausdrücklich darauf hingewiesen, dass sie das wesentlich wichtigere inhaltliche Verständnis der Daten nicht ersetzen kann.

Einer möglichen Datenquelle, dem durch ein Importprofil konfigurierten kontrollierten Einlesen von Dateien, ist ein eigenes Dokument "Importmodul IV: Importprofil" gewidmet. Diese Art der Dateneingabe ist mit Abstand die flexibelste und komfortabelste.


Übersicht

Nachdem die Importtabellen gefüllt sind, ist der Ablauf der Datenverarbeitung wie folgt:

  1. Gültigkeit der Anweisungen überprüfen bzw. sicherstellen (Syntaktische Korrektheit, Vollständigkeit, Gültigkeit und Konsistenz herstellen)
  2. Anweisungen ausführen
  3. Neuen Stammdatenbestand überprüfen
  4. Neuen Stammdatenbestand abspeichern

Gültigkeit und Vollständigkeit der Anweisungen überprüfen bzw. sicherstellen

Die Gültigkeit und Vollständigkeit wird in acht bis zehn Schritten erzeugt bzw. sichergestellt.

  1. leere Felder füllen
  2. korrekte Syntax sicherstellen
  3. XId und Anweisungstyp festlegen
  4. Wildcards ersetzen und Löschanweisungen auf unzulässige Änderungen überprüfen
  5. Gültigkeit der Referenz- und Verweisfelder sicherstellen
  6. Konsistenz der Referenz- und Verweisfelder sicherstellen
  7. doppelte Anweisungen entfernen
  8. unwirksame Änderungsanweisungen entfernen (optional)
  9. die Anweisungen auf evtl. unerwünschte Doubletten überprüfen (optional)
  10. geometrische Überprüfungen ausführen

Falls die eingegebenen Daten hinreichend umfangreich und fehlerfrei sind, läuft dieser Prozess ohne weitere Benutzeraktionen ab. Fehler kann und muss der Benutzer in der grafischen Benutzeroberfläche (GUI) des Importmoduls korrigieren. Die einzelnen Schritte werden im nächsten Abschnitt im Detail erläutert.

Anweisungen ausführen

Da die Datenimportobjekte von den eigentlichen recotech Objekten unabhängig sind, haben alle Aktionen im Datenimportmodul zunächst keine Auswirkungen auf die Stammdaten. Die Ausführung der durch sie kodierten Anweisungen geschieht nur auf expliziten Benutzerbefehl. Dieser Prozess kann nur von einem Benutzer angestoßen werden, der das Recht hat, die Stammdaten zu bearbeiten.

Bevor die Anweisungen ausgeführt werden können, müssen alle Prüfungen erfolgreich abgeschlossen sein. . Beim routinemäßigen Datenabgleich mit einer bekannten und erprobten Quelle geschieht dies in der Regel automatisch.

Importobjekt = Datensatz = Anweisung

Die drei Termini "Importobjekt", "Datensatz" und "Anweisung" sind, wenn sie sich auf einen Datensatz im recotech Importmodul beziehen, synonym. Je nachdem welcher Aspekt dieser Objekte im gegebenen Kontext gerade relevant ist, wird mal das eine, mal das andere Wort verwendet.


Anweisungen haben keine Reihenfolge

Alle Anweisungen werden letztlich in SQL-Befehle übersetzt. Diese SQL-Befehle werden intern in einer gewissen Reihenfolge abgearbeitet, die von den Fremdschlüsselbeziehungen der Datenbank bestimmt ist.

Es ist jedoch ein zentrales Anliegen des Importmoduls, den Benutzer mit solchen technischen Feinheiten nicht zu belangen. Auch ein Nutzer ohne IT- und Datenbank-Kenntnisse soll das Importmodul bedienen können. Der Benutzer soll sich darauf konzentrieren, wie die neuen Daten aussehen sollen, wie man technisch dahin kommt, ist Aufgabe des Importmoduls.

Das Importmodul beachtet bei allen Prüfungen und Fehleranzeigen diese Reihenfolge und verifiziert bei Bedarf immer alle Voraussetzungen einer Anweisung, d. h. alle anderen Anweisungen, die vorher ausgeführt würden. Somit weiß es zu jeder Anweisung den vollständigen Datenstand der zum Zeitpunkt ihrer Ausführung bestehen wird. Es findet somit gegebenenfalls auch die Anweisung, an der ihre Ausführung scheitern wird;. Da es aber den vollständigen Datenstand zum Zeitpunkt des Scheiterns kennt, kann es dessen Gründe als Fehler anzeigen. Für den Benutzer bedeutet dies:

Im Importmodul sind alle Anweisungen so zu lesen, als würden sie gleichzeitig ausgeführt werden.

Wenn ein Datensatz z. B. ein Gebäude umbenennt, gilt der neue Name dieses Gebäudes als der einzige richtige Wert für alle anderen Anweisungen in denen sich namentlich auf dieses Gebäude bezogen wird.

Neuen Stammdatenbestand überprüfen

Die Änderungen an den Stammdaten werden (wie alle Aktionen in recotech) zunächst nur im Arbeitsspeicher umgesetzt. Nach der Ausführung aller Anweisungen hat der Benutzer die Möglichkeit, die neuen Stammdaten zu überprüfen. Es wird dringend empfohlen, jetzt die Wegeprüfung anzustoßen, um evtl. fehlende Türen zu entdecken.
Entspricht der jetzige Stand nicht den Erwartungen, können die Stammdaten ohne Speicherung geschlossen und wieder geöffnet werden. Alle vorgenommen Änderungen gehen dadurch verloren und der alte Stand wird aus der Datenbank geladen.

Neuen Stammdatenbestand abspeichern

Der aktuelle Datenbestand im Arbeitsspeicher wird in die Datenbank geschrieben. Eine Wiederherstellung des alten Datenstandes ist dann nur noch (sofern vorhanden) durch Zurückspielen eines Datenbank-Backups möglich.