Datenbank erstellen: Unterschied zwischen den Versionen

OpenGeoDB & GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche
(Einspielen eines fertigen Dumps)
(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, 09: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.

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.