[opengeodb] nur deutschland
Robert Böck
robert.boeck at googlemail.com
Fre Mar 21 00:56:38 CET 2008
Martin Trautmann wrote:
> Nun, du polemisierst hier mit "reingestopft" und "Saustall" und
> ignorierst dabei, dass wir nicht nur eine Kiste "Obst" mit durcheinander
> Äpfeln und Birnen haben, sondern jedes einzelne Obststück fein sortiert
> seinen Platz hat.
Von fein sortiert kann keine Rede sein. Vielmehr von durcheinander wie
Kraut und Rüben.
>> Wenn man das, was jetzt in geodb_textdata drinsteckt,
>> auseinanderklamüsert, dann reduziert es einerseits die Datenmenge, weil
>> text_type wegfallen kann, andererseits vereinfacht es die Abfragen, weil
>> ich keinen text_type dafür herziehen muss, nur um festzulegen, welche
>> Art von Daten (PLZ, Ort, etc.) ich haben will.
>
> Statt dessen musst du sagen, in welcher Tabelle nachgesehen werden muss.
Ja und? Das ist wenigstens klar strukturiert und übersichtlich.
> Nehmen wir ein einfaches Beispiel: Suche mir mal in deinem Ansatz die
> Daten zum Eintrag "Hampuri" heraus. Du wirst damit wohl in der Kiste
> "rote Äpfel aus Neuseeland" suchen müssen:
Nö, wieso? Ich suche einfach in der Kiste "Äpfel".
>>> Wie kommst du darauf, die loc_id waere kein primary key? Sie wird also
>>> solcher verwendet.
>>
>> Weil die loc_id in der Tabelle geodb_locations der Primärschlüssel ist.
>> Wenn ich nun geodb_locations.loc_id mit geodb_textdata.loc_id verknüpfe,
>> folgt daraus, dass geodb_textdata.loc_id ein Fremdschlüssel ist.
>
> Ah, ok, in der textdata ist sie tatsaechlich Fremdschlüssel. Du brauchst
> also noch eine Hilfstabelle, um der
> geodb_location.loc_id darüber mitzuteilen, dass plz_id zu dieser loc_id
> gehört - und irgendwie scheinst du zu glauben, dass du mit diesen
> Hilfstabellen Platz sparst?
Wieso Hilfstabelle? Die Stammtabelle hat nur einen Primärschlüssel. Alle
anderen Tabellen haben einen Primärschlüssel, einen Fremdschlüssel und
ein Datenfeld. So kann man die Daten anderen Daten aus anderen Tabellen
prima zuordnen. Man braucht keine Hilfstabellen. Außer man benötigt eine
n:m-Beziehung.
>>>> Dann ist da alles mögliche drin, was gar nicht zusammengehört (also
>>>> Postleitzahlen, Ortsnamen in verschiedenen Schreibweisen, Bundesländer,
>>>> Regiertungsbezirke, etc.)
>>> Das gehoert nicht zusammen, glaubst du? Seltsam.
>>
>> Genauso wie Äpfel, Birnen und Tomaten nicht zusammengehören. Die gehören
>> auch in getrennte Kisten.
>
> Ja, du kannst natürlich bei Apfel-Anton einkaufen und in Bertas
> Birnenladen die Birnen holen - ich gehe gleich zu Obi.
Mal abgesehen davon, dass Obi kein Obst, sondern nur Glühobst ;-) führt,
liegt dieses auch nicht wie Kraut und Rüben auf einem Wühltisch, sondern
fein säuberlich sortiert in Regalen.
> Mir scheint eher, du hast eine Abneigung gegen den text_type, weil du
> die Problematik noch nicht verstanden hast. Zugegeben, das ist beliebig
> kompliziert. Mit wildcard-Operationen auf 50001* wird manches
> leichter... Ich befürchte, du würdest dich bald vor lauter Kisten nicht
> mehr umdrehen können.
>
> Was machst du beispielsweise, falls ich bald mal das einbaue:
>
> 500600000 - amtlicher Gemeindeschlüssel
> 500600010 - amtlich ergäntzter Gemeindeschlüssel
> 500600020 - frei ergänzter Gemeindeschlüssel
> 500600100 - Landes/Gemeindeschlüssel
Macht 4 neue Tabellen.
cu, Robo :)