﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: HowTo: OpenStreetMap-Daten in MySQL-Datenbank importieren</title>
	<atom:link href="http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/</link>
	<description>Ein unabhängiges Denker-Blog aus Karlsruhe</description>
	<lastBuildDate>Sun, 05 Feb 2012 19:05:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Sharky</title>
		<link>http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/comment-page-1/#comment-892</link>
		<dc:creator>Sharky</dc:creator>
		<pubDate>Tue, 19 Apr 2011 00:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://goblor.de/wp/?p=88#comment-892</guid>
		<description>cylSwp Great tihnnikg! That really breaks the mold!</description>
		<content:encoded><![CDATA[<p>cylSwp Great tihnnikg! That really breaks the mold!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OpenStreetMap-Projekt: Teil1 &#8211; Openstreetmap-Daten in MySQL-Datenbank einlesen &#124; goblor grübelt</title>
		<link>http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/comment-page-1/#comment-777</link>
		<dc:creator>OpenStreetMap-Projekt: Teil1 &#8211; Openstreetmap-Daten in MySQL-Datenbank einlesen &#124; goblor grübelt</dc:creator>
		<pubDate>Fri, 16 Oct 2009 19:12:14 +0000</pubDate>
		<guid isPermaLink="false">http://goblor.de/wp/?p=88#comment-777</guid>
		<description>[...] Damals ging es um das Einlesen der Daten in eine eigene Datenbank und es gab schonmal ein HowTo, dessen Datenbankschema sich aber recht schnell als unnötig groß herausgestellt hat. Wirklich [...]</description>
		<content:encoded><![CDATA[<p>[...] Damals ging es um das Einlesen der Daten in eine eigene Datenbank und es gab schonmal ein HowTo, dessen Datenbankschema sich aber recht schnell als unnötig groß herausgestellt hat. Wirklich [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OpenStreetMap-Daten nach MySQL (Die zweite) &#124; goblor grübelt</title>
		<link>http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/comment-page-1/#comment-81</link>
		<dc:creator>OpenStreetMap-Daten nach MySQL (Die zweite) &#124; goblor grübelt</dc:creator>
		<pubDate>Sat, 27 Sep 2008 23:44:59 +0000</pubDate>
		<guid isPermaLink="false">http://goblor.de/wp/?p=88#comment-81</guid>
		<description>[...] letzten Artikel haben wir festgestellt, dass das Datenbankschema, das von &#8220;osmosis&#8221; erzeugt wird, nicht [...]</description>
		<content:encoded><![CDATA[<p>[...] letzten Artikel haben wir festgestellt, dass das Datenbankschema, das von &#8220;osmosis&#8221; erzeugt wird, nicht [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://goblor.de/wp/2008/09/25/howto-openstreetmap-daten-in-mysql-datenbank-importieren/comment-page-1/#comment-80</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Fri, 26 Sep 2008 09:06:08 +0000</pubDate>
		<guid isPermaLink="false">http://goblor.de/wp/?p=88#comment-80</guid>
		<description>Das Schema ist schlichtweg &quot;scheisse&quot;.

Aus folgendem Gründen.
Datenhaltung / Konsistenz
 - Keine Fremdschlüssel in der Datenbank zu semantischen Abhängigkeiten
 - Keine Datenintegrität erforderlich. Subnodes ohne nodes ohne weiteres möglich, weil nicht durch FKs in der DB abgesichert.

Verständnis

- Nur wer wirklich weiss, wie die Zusammenhänge sind, der kann diese aus dem Schema zurückholen


Dabei ist es so einfach:
- Ein Baum besteht aus Knoten und Blättern. Die Besonderheit bei diesem DOM Baum ist folgende, dass es eigentlich nur &quot;Knoten&quot; gibt, diese Knoten enthalten auch die eigentlichen Werte. Das heisst ein Knoten hat eine Doppelfunktion - was aber egal ist erstmal.

- Die Verbindung eines Vaterknotens zu seinem Sohnknoten ist graphisch durch eine Linie gegeben. Diese Linie gilt es &quot;mit abzubilden&quot; und schon ist der Zusammenhang für immer fest und eindeutig.

Wie macht man das?
- Was im Baum eine Verbindung war (Zeiger), wird jetzt sehr einfach durch einen Foreignkey abgebildet. Dieser Foreignkey ist sagen wir mal &quot;bidirektional&quot;, aka der Vater weiss wer sein Kind ist und das Kind wer sein Vater ist.

Als Tipp zum Einfügen in die Datenbank:
- Definiere den FK auf dem Kind
- Füge erst alle Väter ein (in der jeweiligen Höhe h des Baums)
- dann die Kinder auf der Ebene h+1


Gedanken machen sollte man sich allerdings noch über den Primärschlüssel, dieser könnte &quot;einfach gedacht&quot; ein zusammengesetzter Schlüssel aus Längengrad und Breitengrad sein - aber mal kurz überlegen, wenn über der örtlichen Batteriesammelstelle noch ein gelber Briefkasten hängt ;-).

Lösung könnte sein, da wir für die FKs eh innodb Tabellen verwenden müssen (isam kann das noch nicht), dass man für diese Tabellen eine AutoIncrement spalte einführt. (Beim Insert einfach auf NULL lassen, mysql macht das schon).

Für Oracle könnte ein workaround eine Sequenz sein (die können noch kein AutoIncrement)</description>
		<content:encoded><![CDATA[<p>Das Schema ist schlichtweg &#8220;scheisse&#8221;.</p>
<p>Aus folgendem Gründen.<br />
Datenhaltung / Konsistenz<br />
 &#8211; Keine Fremdschlüssel in der Datenbank zu semantischen Abhängigkeiten<br />
 &#8211; Keine Datenintegrität erforderlich. Subnodes ohne nodes ohne weiteres möglich, weil nicht durch FKs in der DB abgesichert.</p>
<p>Verständnis</p>
<p>- Nur wer wirklich weiss, wie die Zusammenhänge sind, der kann diese aus dem Schema zurückholen</p>
<p>Dabei ist es so einfach:<br />
- Ein Baum besteht aus Knoten und Blättern. Die Besonderheit bei diesem DOM Baum ist folgende, dass es eigentlich nur &#8220;Knoten&#8221; gibt, diese Knoten enthalten auch die eigentlichen Werte. Das heisst ein Knoten hat eine Doppelfunktion &#8211; was aber egal ist erstmal.</p>
<p>- Die Verbindung eines Vaterknotens zu seinem Sohnknoten ist graphisch durch eine Linie gegeben. Diese Linie gilt es &#8220;mit abzubilden&#8221; und schon ist der Zusammenhang für immer fest und eindeutig.</p>
<p>Wie macht man das?<br />
- Was im Baum eine Verbindung war (Zeiger), wird jetzt sehr einfach durch einen Foreignkey abgebildet. Dieser Foreignkey ist sagen wir mal &#8220;bidirektional&#8221;, aka der Vater weiss wer sein Kind ist und das Kind wer sein Vater ist.</p>
<p>Als Tipp zum Einfügen in die Datenbank:<br />
- Definiere den FK auf dem Kind<br />
- Füge erst alle Väter ein (in der jeweiligen Höhe h des Baums)<br />
- dann die Kinder auf der Ebene h+1</p>
<p>Gedanken machen sollte man sich allerdings noch über den Primärschlüssel, dieser könnte &#8220;einfach gedacht&#8221; ein zusammengesetzter Schlüssel aus Längengrad und Breitengrad sein &#8211; aber mal kurz überlegen, wenn über der örtlichen Batteriesammelstelle noch ein gelber Briefkasten hängt <img src='http://goblor.de/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Lösung könnte sein, da wir für die FKs eh innodb Tabellen verwenden müssen (isam kann das noch nicht), dass man für diese Tabellen eine AutoIncrement spalte einführt. (Beim Insert einfach auf NULL lassen, mysql macht das schon).</p>
<p>Für Oracle könnte ein workaround eine Sequenz sein (die können noch kein AutoIncrement)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

