Datenbank_erstellen - ratopi/opengeodb GitHub Wiki

Die zur Verfügung gestellten SQL-Daten werden per Skript aus den .tab-Dateien erzeugt.

Die in dieser Anleitung verwendeten SQL-Dateien mit den Daten sind unter http://fa-technik.adfc.de/code/opengeodb/ zu finden.

Dabei kann entweder ein fertiger Dump der Datenbank aus dem Unterverzeichnis [http://fa-technik.adfc.de/code/opengeodb/dump dump] eingespielt werden, oder man stellt sich seine eigene Datenbank nach individuellen Bedürfnissen zusammen.

== Individuelle Auswahl der Daten == Um eine vollständige SQL-Datenbank mit den Basisdaten der OpenGeoDB zu erhalten sind drei Schritte notwendig: === Basisdaten === ==== Schritt 1 ==== Um die Datenbank-Struktur zu erstellen muss als erstes der in opengeodb-begin.sql enhaltene Struktur-Dump in die Datenbank importiert werden.

Beim Import werden folgende Tabellen angelegt: Geodb_locations Geodb_textdata Geodb_intdata Geodb_floatdata Geodb_coordinates Geodb_type_names Geodb_changelog

'''Hinweis:''' Der Dump erzeugt Tabellen im Format InnoDB, was die Angabe von Foreign Key Checks ermöglicht, aber auch die Import-Dauer der Daten drastisch erhöht. Allgemein steht InnoDB in dem Ruf um den Faktor 2-3 mal langsamer zu sein als MyISAM. Wer also auf Foreign Key Checks verzichten kann, sollte in Erwägung ziehen, das SQL entsprechend für MyISAM-Tabellen anzupassen. Im wesentlichen entfernt man dafür die check- und references-Anweisungen und stellt den TYPE für die Tabelle auf MyISAM.

==== Schritt 2 ====

Die folgenden Dateien enhalten dann die eigentlichen Nutzdaten nach Ländern gruppiert. Beim Import werden keine Tabellen angelegt, es sind lediglich INSERT-Statements vorhanden:

AT.sql Österreich BE.sql Belgien CH.sql Schweiz DE.sql Deutschland LI.sql Lichtenstein

==== Schritt 3 ====

Abschließend sollten die Anweisungen in opengeod-end.sql in der Datenbank ausgeführt werden. Dabei werden die Beschreibungen zu den einzelnen Typen in die Tabelle geodb_type_names eingefügt und verschiedene Indizes erstellt.

=== Weitere Daten === Weitere Dateien enthalten zusätzliche Daten zum Import:

changes.sql geänderte Datensätze extra.sql Zusatzinformationen (z.B. Höhenangaben, Kontinente, Daten mit Versionierung etc.)

Wer für seine Zwecke eine Einordnung der Locations in eine Verwaltungshierarchie benötigt sollte zusätzlich die Dateien *hier.sql importieren, die die Zuordnung der Locations zu den einzelnen Hierarchie-Ebenen übernimmt. Dabei wird die Tabelle Geodb_hierarchies erstellt.

AThier.sql Hierarchie-Daten für Österreich BEhier.sql Hierarchie-Daten für Belgien CHhier.sql Hierarchie-Daten für die Schweiz DEhier.sql Hierarchie-Daten für Deutschland LIhier.sql Hierarchie-Daten für Liechtenstein

== Einspielen eines fertigen Dumps ==

Fertige Dumps der Datenbank finden sich im Unterverzeichnis [http://fa-technik.adfc.de/code/opengeodb/dump dump]. Diese enthalten folgdende Daten:

  • Basisdaten (DE, AT, CH, LI, LU, BE)
  • Weitere Daten (extra + changes)
  • Hierarchie-Ebenen

Unter Linux kann man die Dump-Datei mit folgender Anweisung auf der Kommandozeile einspielen: zcat opengeodb-026.sql.gz | mysql --user=<username> --password=<password> <dbname> Die Angaben in den eckigen Klammern müssen natürlich durch die entsprechenden Werte ersetzt werden. Kategorie:Datenbank

== Dump enthält veraltetes MySQL-Statement ==

Der Dump auf http://fa-technik.adfc.de/code/opengeodb/ enthält noch "TYPE=InnoDB" in den create_table MySQL-Statements. Dies wird [http://dev.mysql.com/doc/refman/5.5/en/create-table.html seit MySQL 5.5 nicht mehr unterstützt].

Daraus resultiert ein Fehler beim einlesen in MySQL >= 5.5

Das Problem wird behoben, indem man im SQL-Dump "TYPE=InnoDB" durch "ENGINE=InnoDB" ersetzt.