Hi(gh)!
Ich habe folgendes Problem:
Im Rahmen meines GREENBOOK-Projektes, der Datenbank für elektronische Orgeln mit angeschlossenem Marktspiegel, will ich (um die gesammelten Verkaufsanzeigen räumlich zuordnen zu können) sämtliche deutschen Städte und Gemeinden (ORT) als MySQL-Stammdaten vorhalten, und zwar mit Namen, Postleitzahlen (ORT_PLZ) und Einwohnerzahlen (ORT_EINWOHNER), letztere auf die Erfassungsjahre ab 2018 bezogen.
Da die Beziehung zwischen Städten/Gemeinden und Postleitzahlen eine m:n-, die Beziehung zwischen Städten/Gemeinden und Einwohnerzahlen wegen der fortlaufenden Erfassungsjahre eine 1:n-Beziehung ist, verwende ich drei Tabellen:
ORT:
id (SMALLINT, AUTO_INCREMENT, UNSIGNED, PRIMARY)
name (VARCHAR(40))
kreis_id (SMALLINT, verweist auf Stammdatentabelle KREIS)
regbez_id (TINYINT, verweist auf Stammdatentabelle REGBEZ)
land_id (TINYINT, verweist auf Stammdatentabelle LAND)
UNIQUE-Index über name, kreis_id, regbez_id und land_id.
ORT_PLZ:
id (MEDIUMINT, AUTO_INCREMENT, UNSIGNED, PRIMARY)
ort_id (SMALLINT)
plz (VARCHAR(5))
UNIQUE-Index über ort_id und plz.
ORT_EINWOHNER:
id (MEDIUMINT, AUTO_INCREMENT, UNSIGNED, PRIMARY)
ort_id (SMALLINT)
einwohnerzahl (MEDIUMINT)
jahr (YEAR)
UNIQUE-Index über ort_id, einwohnerzahl und jahr.
Um die händische Eingabe sämtlicher rund 12000 Ortsnamen werde ich nicht herumkommen... die Extraktion von Postleitzahlen und Einwohnerzahlen aus Wikipedia-Artikeln sollte sich aber automatisieren lassen.
Das Skript würde ausgehend von der Namensliste in ORT automatisch jeweils die entsprechende deutschsprachige Wikipedia-Seite laden und daraus dann (alle Wikipedia-Seiten zu deutschen Gemeinden haben eine zweispaltige "Basisdaten"-Tabelle mit u. a. den Einträgen "PLZ" und "Einwohnerzahl") die relevanten Daten auslesen.
Die Frage: mache ich das mit PHP oder doch besser mit Javascript? In PHP kenne ich mich besser aus...
Bis bald im Khyberspace!
Yadgar