Hilfe für Datenbankstruktur mit Integration von jährlichen räumlichen Veränderungen

Alles was sonst nirgends rein passt.
Antworten
slaboor
Neuer Benutzer
Beiträge: 1
Registriert: Do 30. Aug 2012, 14:06

Hilfe für Datenbankstruktur mit Integration von jährlichen räumlichen Veränderungen

Beitrag von slaboor » Do 30. Aug 2012, 15:01

Hallo Ihr,
ich möchte eine Datenbank aufbauen, in der Zuzugs-und Fortzugsbewegungen zwischen Gemeinden (mit Gemeindeschlüssel definiert) anhand von jährlichen Daten verwaltet werden sollen. Das Problem, was ich dabei habe, ist, dass sich die Gemeindestruktur jährlich ändert. Es werden beispielsweise Gemeinden zusammengefasst oder eingemeindet. Dafür habe ich eine jährliche Tabelle, in der die Änderung vom alten zum neuen Gemeindeschlüssel definiert ist. Dadurch müssen Zeilen automatisch zusammengefasst werden (auch ihre Werte). Für die Abfragen von Jahr A bis B (die z.B. dann in QGIS visualisiert werden könnten) benötigt der Nutzer zum einen eine vergleichbare Datenstruktur mit aktuellem Gebietsstand und zum anderen den Gebietsstand des jeweiligen Jahres für Abfragen innerhalb dieses Jahres.

Ich hoffe, das war irgendwie verständlich!
Wie kann ich einen solchen Sachverhalt in der Datenbank integrieren?
Wie können Zeilen zu einer Zeile zusammengefasst werden?
Ich bin für jeden Tip dankbar!!

akretschmer
Erfahrener Benutzer
Beiträge: 7537
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitrag von akretschmer » Do 30. Aug 2012, 15:36

slaboor hat geschrieben:Hallo Ihr,
ich möchte eine Datenbank aufbauen, in der Zuzugs-und Fortzugsbewegungen zwischen Gemeinden (mit Gemeindeschlüssel definiert) anhand von jährlichen Daten verwaltet werden sollen. Das Problem, was ich dabei habe, ist, dass sich die Gemeindestruktur jährlich ändert. Es werden beispielsweise Gemeinden zusammengefasst oder eingemeindet. Dafür habe ich eine jährliche Tabelle, in der die Änderung vom alten zum neuen Gemeindeschlüssel definiert ist. Dadurch müssen Zeilen automatisch zusammengefasst werden (auch ihre Werte). Für die Abfragen von Jahr A bis B (die z.B. dann in QGIS visualisiert werden könnten) benötigt der Nutzer zum einen eine vergleichbare Datenstruktur mit aktuellem Gebietsstand und zum anderen den Gebietsstand des jeweiligen Jahres für Abfragen innerhalb dieses Jahres.

Ich hoffe, das war irgendwie verständlich!
Wie kann ich einen solchen Sachverhalt in der Datenbank integrieren?
Wie können Zeilen zu einer Zeile zusammengefasst werden?
Ich bin für jeden Tip dankbar!!



Pfffff..... a bissl viel auf einmal ...

Zusammenfassen von Zeilen ist eine Aggregation, dazu gibt es genug Doku. Um die Änderungen zu dokumentieren mußt halt speichern, von wann bis wann das jeweils gültig ist. Wenn Du eh erst entwickelst und das noch nicht gleich produktiv gehen soll, böte sich an, auf 9.2 zu warten (und bis dahin mit 9.2 RC1 zu arbeiten), denn das kennt RANGE DATA - Typen, die genau für sowas ideal sind.

Aber insgesamt ist das alle viel zu vage und offenbar doch auch recht komplex, um Dir hier ein abgeschmecktes Rezept vorzulegen.


Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Gisman
Erfahrener Benutzer
Beiträge: 1115
Registriert: Fr 20. Jan 2006, 15:30
Wohnort: Pfalz
Kontaktdaten:

Beitrag von Gisman » Fr 31. Aug 2012, 18:29

Ich hatte mal was ähnliches mit einem Trigger gelöst. Wenn sich ein Eintrag/Geometrie geändert hat, wurde kein Update durchgeführt sondern immer ein neuer Eintrag mit der gleichen Kennzahl (!=DatenbankID!) angelegt. Gültig war jeweils der letzte Zeitstempel. Wenn ein noch nicht vorhandener Einrag erstellt wird gibt es eine neue Kennzahl. Da bei dir Einträge auch ungültig werden, müsstest du noch ein Flag mitführen ob der Eintrag noch gültig ist. Ggf auch eine Kennzahl des 'nachfolgenden' Eintrags. So konnte man recht gut eine Versionierung abbilden, die den Zustand der Bearbeitung zu jedem Zeitpunkt abbildet.

Gruß Uwe
Have a lot of fun!

Antworten