5. Lehreinheit

From DHVLab

Revision as of 12:27, 16 March 2017 by Jschulz (talk | contribs) (Created page with "=== Entity-Relationship-Modell - Theorie === In der vorangehenden Sitzung wurde die Bedeutung für die strukturierte und normalisierte Erfassung von Forschungsdaten dargelegt....")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Entity-Relationship-Modell - Theorie

In der vorangehenden Sitzung wurde die Bedeutung für die strukturierte und normalisierte Erfassung von Forschungsdaten dargelegt. Die Anlage eines Entity-Relationship-Modells (ERM) unterstützt in der konzeptionellen Phase eines Datenbankprojekts die Erstellung des Datenbank-Designs.

  • Modellhafte Beschreibung der zu verarbeitenden Daten und ihrer Beziehungen zueinander
  • Welche Objekte stehen im Erkenntnisinteresse und welche Beziehungen zwischen diesen Objekten besitzen Relevanz? (Personen, Grabstätten, Orte, Vorfahren etc.)
  • Auf welche Weise sollen die Objekte und ihre Beziehungen dargestellt werden?
  • Welchen Erkenntnisinteressen soll unsere Datensammlung dienlich sein?

→ Ein Datenmodell gibt Antworten auf diese Fragen. Als theoretische Grundlage eines Datenbanksystems beschreibt ein Datenmodell, auf welche Weise Daten in einem Datenbanksystem abgespeichert und verarbeitet werden sollen. Es ist leicht verständlich, daher dient es als gute Kommunikationsbasis zwischen Anwendern und Entwicklern. Dadurch hat sich das ER-Modell zum De-facto-Standard für die Datenmodellierung etabliert. Es besitzt folgende grundlegende Komponenten:

  • Entität: Objekt (z.B. eine Person, ein Begräbnisort) ⇒ dargestellt als Rechteck
  • Attribut: bestimmte Eigenschaften die eine Entity besitzt ⇒ dargestellt als Kreis
  • Relation: Beziehung zwischen Objekten ⇒ dargestellt als Raute


Objekte können unterschiedliche Arten von Beziehung zueinander besitzen:

  • 1:1-Beziehungen: Jedem Datensatz aus einer Tabelle A ist genau ein Datensatz aus einer Tabelle B zugeordnet und umgekehrt. Diese Art von Beziehung tritt eher selten auf. ⊕ Unser Beispiel: eine Grabstätte, die einer Kategorie zugeordnet wird (z.B. Gruft, Dom)
  • 1:n-Beziehungen: Jedem Datensatz aus einer Tabelle A können beliebig viele passende Datensätze aus einer Tabelle B zugeordnet werden, jedoch umgekehrt nur ein Datensatz aus Tabelle B einem Datensatz aus Tabelle A. Diese Form der Beziehung tritt am häufigsten auf. ⊕ Unser Beispiel: eine Grabstätte kann nur an einem Ort sein, aber an einem Ort können mehrere Grabstätten sein
  • n:m-Beziehungen: Jedem Datensatz aus einer Tabelle A können beliebig viele passende Datensätze aus einer Tabelle B zugeordnet werden und umgekehrt. Dies erfolgt über eine dritte, zu erstellende Tabelle, in der zur eindeutigen Zuordnung die Primärschlüssel der jeweiligen Datensätze in Verbindung gesetzt werden. ⊕ Unser Beispiel: Einer Person können mehrere Gräber zugeordnet werden und in einem Grab können mehrere Personen liegen

Entity-Relationship-Modell - Praxis

Zur Anlage eines ERM eignet sich der Diagrammeditor Dia (Start → Anwendungen → Grafik). Dort können auf intuitive Weise die oben genannten Bestandteile eines ERM (Rechtecke, Rauten, Kreise) sowie Verbindungslinien erstellt werden. Diese können mit beschreibenden Texten versehen werden (Objektbezeichner, Beziehungsarten). Änderungen können durch Verschieben der einzelnen Elemente leicht erfolgen, Verknüpfungen zwischen Elementen bleiben dabei erhalten. Neue Objekte oder Verknüpfungen lassen sich jederzeit ergänzen. Das erstellte ERM kann anschließend als Bilddatei (Datei → Diagramm exportieren) im PNG-Format exportiert werden.
Gemeinsam mit den Teilnehmern wurde auf Grundlage der Beispieldaten der vergangenen Sitzung ein ERM in Dia erstellt: (// Abbildung des ERM hier einfügen)

Beschreibung:

  • Zwei zentrale Objekte in unserer Datensammlung sind die Personen und ihre Begräbnisstätten
  • Beiden Objekten können je nach Forschungsinteresse beliebig viele Zusatzinformationen zugeordnet werden (Attribute)[A 1]
  • In Beziehung zueinander werden sie durch eine Verknüpfungstabelle gesetzt (Relation)
  • Die Verknüpfung wird wiederum durch Attribute angereichert, die die Art des Begräbnisses näher spezifiziert
  • Es handelt sich hierbei um eine n:m-Beziehung, da manche Personen an verschiedenen Stätten begraben sind. Die Bestattungsart definiert, welcher Bestandteil der Person wo begraben liegt.
  • Um Redundanz zu vermeiden, werden die Orte samt ihnen zugehörigen Informationen in eine eigene Tabelle ausgelagert und über ihre ID in die Tabellen "grabstaette" (Ort, an dem sich die Grabstätte befindet) sowie "personen" (Geburts- und Sterbeort) eingebunden
  • Für die Darstellung auf der Karte werden Geokoordinaten benötigt; da wir die Begräbnisstätten visualisieren möchten, sind ihnen die exakten Koordinaten in der entsprechenden Tabelle zuzuordnen
  • Alle Personen werden zentral in der entsprechenden Tabelle abgelegt, unabhängig davon, ob es sich um Primärpersonen (Angehörige der Habsburger Dynastie) oder Sekundärpersonen (angeheiratete Personen, die in der Liste nur am Rande angeführt werden) handelt.
  • Die Beziehung unter den Personen (Ehe, Eltern-Kind) wird in einer eigenen Verknüpfungstabelle vorgenommen. Für die Art der Beziehung stehen verschiedene Optionen zur Auswahl.

Aus diesem ERM ergeben sich demnach folgende Tabellen, die gleichzeitig auch bereits einen Eindruck von unserer anzulegenden Datenbank vermitteln:
(// Datei 'personen' hier einfügen)
(// Datei 'grabstaette' hier einfügen)
(// Datei 'ort' hier einfügen)
(// Datei 'begraben' hier einfügen)
(// Datei 'beziehung' hier einfügen)

Diskussion

Diskussion der Modellierung inhaltlicher Aspekte in den einzelnen Tabellen:

  • Personen: Welcher Herrschertitel soll eingetragen werden? → höchste, erreichte Titel (z.B. röm.-dt. Kaiser)
  • Personen: Wie wird bei unsicheren Datumsangaben verfahren? → Ergänzung einer eigenen Spalte, in der angegeben wird, ob das Jahr als sicher oder unsicher angenommen werden kann. Sofern zwei konkurrierende, aber exakte Datumsangaben bestehen, werden diese in zwei verschiedene Spalten eingegeben.
  • Personen: Normdaten: Als sinnvoll erachtet werden GND-Nummer, Kaiserhof-ID (für die spätere Verknüpfung beider Angebote), Wikidata-Datenobjekt ("Q-ID")
  • Ort: Welche Zusatzangaben zu den Orten sollen ergänzt werden? (Verwaltungsebene, Staat, frühere Bezeichnung)
  • Ort: Eindeutige Ortsnamen bei Orten mit gleichem Namen (z.B. Ergänzungen in Klammern)
  • Grabstätte: Es gilt zu entscheiden, in welche Kategorien die Grabstätten (Gruft, Friedhof, etc.) eingeteilt werden können; alternativ oder parallel dazu könnte auch die Art des Grabes kategorisiert werden (Tumba, Erdgrab, etc.)
  • begraben: Begräbnisdatum ermitteln; wie ist mit Fällen umzugehen, in denen eine Person umgebettet wurde?
  • Allgemein: Welche gemeinfreien Abbildungen stehen zur Verfügung (Personen, Grabstätten)? → Kaiserhof, Wikipedia, Portraitindex(?)

Teamorganisation

Zur Teamorganisation und zur Sammlung von Ideen, Informationen und Problemfällen wurde zunächst eine Arbeitsumgebung auf dh-lehre eingerichtet. Ergänzt wurde dies in der Folge durch ein Google Doc, in dem alle zentralen Aspekte durch die Teilnehmer gesammelt und beschrieben wurden. Dieses Dokument dient in der Folge auch als Grundlage für Ausarbeitung einer Dokumentation des Datenbankprojekts im Rahmen der Veröffentlichung.

Anmerkungen

  1. In der vorliegenden Darstellung wurden aus Platzgründen nicht alle Personen-Attribute, wie z.B. Geburts- und Sterbeort, angeführt.