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.