[opengeodb] SQL-Script für hierarchies

Peter Wendorff wendorff at uni-paderborn.de
Mon Apr 7 22:15:02 CEST 2008


Hallo Liste.
Nochmal zum Thema zurück (nachdem ich letzte Woche meinen Rechner neu 
aufsetzen musste):
Datenstand: aktuell (ca 20 Uhr heute Abend), eingespielt sind die Dateien

Ich habe nach dem Einspielen des folgenden (ersten) Befehls meines 
Scripts einen Unterschied zwischen den Dump-Hierarchies und meinen 
erzeugten:

INSERT INTO geodb_hierarchies
            (loc_id, `level` , id_lvl1, valid_until, date_type_until)
            SELECT loc_id, text_val, 104, "3000-01-01", 300500000
            FROM geodb_textdata
            WHERE text_type = 400200000;

Die hierarchies aus dem Dump enthalten bei mir 60.640 Einträge, die 
erzeugte Tabelle enthält dagegen 55.080 Einträge - rund 5.000 Einträge 
weniger.
Die Überprüfung, welche Datensätze jeweils fehlen, ergibt:
In der heruntergeladenen Tabelle fehlen die 5 Datensätze mit den IDs 
85722, 144599, 144600, 144602 und 144603,
in der erzeugten Tabelle fehlen die 19 Datensätze mit den IDs 80061, 
80062, 80063, 80067, 80074, 80091, 80092,  80393, 80583, 80585, 80587, 
80589, 80590, 80591, 80592, 80594, 80623 und 128355.

Betrachten wir die Datensätze im Einzelnen,
beginnend mit denen, die in der heruntergeladenen Tabelle fehlen,
als Referenz nehme ich diesmal der Einfachheit halber die Oberfläche 
unter fa-technik.adfc.de:
85722 - Altes Lager, ist Teil von -1 - also einer nicht-existenten loc_id
144599 - Mildensee, Teil von ist leer
144600 - Mosgikau, Teil von ist ebenfalls leer, für die anderen drei 
Einträge gilt dies analog.
Zu diesen Daten sind schlichtweg also keine Informationen zu höheren 
Hierarchie-Ebenen vorhanden, weshalb sie beim Top-Down-Ansatz von 
Martins SQL-Erzeugung nicht vorkommen können. Dennoch gehören diese 
Datensätze in gewisser Weise in die hierarchies-Tabelle, inwiefern sie 
in bestimmten Anwendungen verzichtbar sind, darüber lässt sich streiten.
Auf jeden Fall lässt sich dies als Hinweis auf Fehler in der Datenbank 
festhalten.

Weiter geht es mit den Datensätzen, die mein Script nicht erzeugt, 
obwohl sie im Dump vorhanden sind. Bei diesen fällt auf, dass sie alle 
als gelöscht markiert sind.
Dies deutet darauf hin, dass diese Daten eben schon im Stamm-Dump nicht 
vorhanden sind, im hierarchies-Dump allerdings doch noch.

Wenn mir das soweit jemand verifizieren könnte, wär das ganz gut.

Dies bedeutet insbesondere übrigens, dass der hierarchies-Dump entweder 
nicht gleich aktuell ist wie der Daten-Dump oder aber, dass der 
hierarchie-Dump nicht korrekt erzeugt wird.

Das weitere Vorgehen folgt dann später - ich möchte vor allem erstmal 
sicher gehen, dass dies soweit programm-technisch korrekt ist, und eben 
auf den vermuteten Dump-Inkonsistenzen beruht.

Gruß
Peter Wendorff