Datenbank erstellen: Unterschied zwischen den Versionen
(→Einspielen eines fertigen Dumps) |
Sts (Diskussion | Beiträge) (→Schritt 1) |
||
Zeile 19: | Zeile 19: | ||
[[Geodb_type_names|geodb_type_names]] | [[Geodb_type_names|geodb_type_names]] | ||
[[Geodb_changelog|geodb_changelog]] | [[Geodb_changelog|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 ==== | ==== Schritt 2 ==== |
Version vom 20. März 2011, 10:46 Uhr
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 dump eingespielt werden, oder man stellt sich seine eigene Datenbank nach individuellen Bedürfnissen zusammen.
Inhaltsverzeichnis
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 dump. Diese enthalten folgdende Daten: (bitte ergänzen...)
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.