Anwendungsentwicklung   Referenzen   Kontakt/Impressum   nur mal gucken   für alle   Links  
 
 
Datenbank Fachschale Gräberwesen
 

3. Datenmodell: Hauptachse

Das zweite Modul umfaßte die Hauptachse der zu speichernden Daten, mit den Entitäten Friedhöfe, Gräber und Verstorbene, die jeweils durch die recht komplexen Beziehungen "Grablage" und "Grabbelegung" verknüpft sind.

Wie die Grablage am besten abzubilden sei, darüber gab es z.T. kontroverse Diskussionen. Die Nutzer hätten am liebsten einfach nur 3 Datenfelder gehabt, in die Grababteilung, Grabreihe und Grabnummer einzutragen wären. Dies hätte aber sehr viel Datenredundanz erzeugt und durch die schiere Masse an zwangsläufig gleichförmigen Einträgen die Wahrscheinlichkeit von Eingabefehlern sehr erhöht. Das Ziel, diese Felder amtlich sortiert zu bekommen, wäre damit schwerer zu erreichen gewesen als bei einer stärker normalisierten Datenhaltung, denn man hätte sich nachträglich einen sehr unübersichtlichen Korrekturaufwand zugezogen (die größten Friedhöfe haben mehrere Tausend Gräber).
Eine ganz exakte Abbildung hingegen - Abteilung jeweils auf einem bestimmten Friedhof, Reihe jeweils in einer bestimmten Abteilung, Nummern jeweils in einer bestimmten Reihe; also Friedhöfe, Abteilungen, Reihen und Nummern jeweils 1:n - hätte Änderungen in der Grababteilung erschwert und die in verschiedenen Abteilungen oft gleichbenannten Grabreihen und Grabnummern unnötig aufgebläht.
Bei einer vollständig nach Einzelteilen normalisierten Datenhaltung wäre der jeweilige Benennungsstil des entsprechenden Friedhofs - manche benutzen gern römische Zahlen, andere doppelte Buchstaben, manche Friedhöfe haben keine Reihen, die meisten niedrige, manche aber auch sehr hohe Grabnummern - erst im Nachhinein nach vollständiger Eingabe der Gräber sichtbar gewesen. Dies erschien mir aber für den Eintrag von neuen Gräbern und für die Kontrolle über die in einem Friedhof möglichen Bestandteile von Grablagenbenennungen ziemlich unpraktisch.
Ich habe deshalb die Grablagenbestandteile schließlich direkt, ohne Verknüpfung untereinander, 1:n an den Friedhof angehängt, so daß immer klar ist, zu welchem Friedhof sie gehören, und die Zusammenstellung Grababteilung-Grabreihe-Grabnummer in die Tabelle "Grab" verlegt, so daß Änderungen bzw. Korrekturen in der Grablage leicht möglich sind.

Die amtliche Sortierung, die für die Auflistung von Gräbern zu einem Friedhof und beim Ausdruck von Gräberlisten gebraucht wird, setzt römische Zahlen an den Anfang, gefolgt von arabischen Zahlen und schließlich von Buchstaben. Eine solche Sortierung ist kein Datenbankstandard und muß deshalb separat nachgebaut werden, indem Sortierfelder vorgesehen und durch ein Skript nach den entsprechenden Vorgaben befüllt werden. Sie läßt sich leider nicht komplett automatisieren, weil eine römische I ohne den Hinweis "dies ist eine römische 1" nicht vom Großbuchstaben I zu unterscheiden ist, zumal auf Friedhöfen, auf denen beides vorkommt. Diese zusätzliche Eingabe kann den Benutzern also nicht erspart werden. Gelöst wurde das Sortierungsproblem mit zusätzlichen, für die Benutzer unsichtbaren, aber in Abfragen immer herangezogenen Sortierfeldern und einem Skript, das diese füllt und nach Belieben entweder bei der Eingabe oder später aufgerufen werden kann.

Die Grabbelegung, also die Verbindung zwischen Gräbern und Verstorbenen, sollte nicht nur den aktuellen Stand anzeigen, sondern auch die Grabverlegungen festhalten können, die zahlreich stattgefunden haben. Aus diesem Grund ist die Beziehung notwendigerweise n:m und muß mit einem Zeitpfeil, ausgedrückt durch ein "Von" und ein "Bis"-Feld, versehen werden. Die Konsequenzen sind weitreichend; es wird dadurch eine zusätzliche Zeitdimension in die gesamte Datenbank eingeführt, was sich an zahlreichen Stellen in der Benutzeroberfläche und bei der Weiterverarbeitung der Daten bemerkbar macht. Sichten auf die Friedhofsbelegung in früheren Jahren werden durch diese Chronologisierung / Historisierung möglich, aktuelle Zustände müssen über die "Von"- und "Bis"-Felder eingegrenzt werden.

4. Datenmodell: Bilder und Dokumente

Auf dem Server liegen 250.000 Bilder, zu denen später noch weitere ca. 300.000 dazukommen werden. Sie verteilen sich auf 3 Dokumentarten: Die abgescannten Totenbücher (Grundlisten), die von jedem Friedhof geführt wurden; abgescannte Karteikarten der Verstorbenenkartei, mit der bis in die 90er Jahre gearbeitet wurde; und schließlich die sog. Zivilkartei, die die Verstorbenenkartei ergänzt. Zu den Grundlisten war eine Tabelle vorhanden, in der die erste und die letzte laufende Verstorbenennummer der abgescannten Seite angegeben war, und die Bezeichnung der Grundlistenbilder enthält das Friedhofskürzel. Die Karteikarten liegen durchnumeriert in Ordnern mit Friedhofskürzel. Manche Karteikarten liegen als Scan einer früheren und einer späteren Version vor. In der ursprünglichen Tabelle der einfachen Benutzeroberfläche konnte eine Karteikarte eingetragen werden, deren Friedhofszuordnung nach einer Verlegung jedoch nicht mehr stimmte. Unschön war auch, daß die Grundlistenbilder zwar anhand der vermerkten Nummer herausgesucht werden konnten, aber nur als Handkürzel eingetragen wurden, so daß nur in etwa der Hälfte der Fälle eine sichere Zuordnung zu einem Grundlistenbild möglich war.

Um die Bilder verknüpft eintragen zu können, bedurfte es zunächst mal einer Entität "Bild" mit Bildname und Bildpfad, wo das Bild auf dem Server liegt. Unmittelbar klar war auch die n:m-Beziehung von "Bild" zu "Verstorbenem", denn zu einem Verstorbenen sind typischerweise eine Karteikarte und ein Grundlisteneintrag zugeordnet, und andersherum enthält eine abgescannte Grundlistenseite immer viele Verstorbeneneinträge.
Was es bisher nicht gab, zur Wahrung des Zusammenhangs aber erforderlich ist, sind die Entitäten "Dokument" und "Paginierungseinheit", so daß sich explizit festhalten läßt, welche Kartei oder welches Totenbuch welche Karteikarten oder Seiten enthält. Die Paginierungseinheiten sind wiederum n:m mit den Bildern zu verknüpfen, da z.B. auf einem Bild linke und rechte Seite abgebildet sein können, und in einigen Fällen mehrere Bilder von einer Seite vorhanden sind.
Die Informationen aus Karteikartenregister und Bezeichnung der Grundlistenbilder wurden in eine Tabelle "Themen" überführt, die an die Paginierungseinheit n:m angehängt ist.

<< zurück |  weiter >>

 
  © designschulz 2008-2012