Reverse Engineering für die nachträgliche Erstellung von Entity-Relationship-Diagrammen

Betreuer / Ansprechpartner

  • Hannes Grunert

    Charakter

      • Konzeption
      • Prototypische Implementierung

      Vorkenntnisse

        • Pflicht: Vorlesung Datenbanken I
        • Optional: Vorlesung Data Warehouses

        Beschreibung

        In Forschung, Wirtschaft und Verwaltung existieren viele „organisch“ gewachsene Sammlungen von mehr oder weniger strukturierten Daten. Diese können sowohl abteilungsintern als auch -übergreifend schlecht dokumentiert sein. Sollen die Daten für statistische Zwecke oder die die Nutzung von Künstlicher Intelligenz aufbereitet werden, so entsteht ein nicht unerheblicher Aufwand.

        Beim systematischen Entwurf von Datenbanken entsteht als erster Schritt ein Entity-Relationship-Modell. Dieses wird, neben der Abbildung auf das relationale Modell, auch für die Dokumentation und Diskussion genutzt. Häufig können hier schon Fehler und erste Optimierungen entdeckt werden.

        Für das Reverse Engineering von Datenbanken können viele Grundtechniken, wie das Entdecken von (Fremd-)Schlüsseln und weiteren Abhängigkeiten, genutzt werden. Werden diese Verfahren in Kombination genutzt, so sollte sich ein relationales Modell vollständig aus den Datenstrukturen ableiten lassen.

        Im Rahmen dieser Masterarbeit soll eine detaillierte Umsetzung des skizzierten Verfahrens konzipiert und implementiert werden. Neben der algorithmischen Umsetzung soll zudem eine passende, interaktive Visualisierung des ERMs erfolgen. Eine Evaluation des Ansatzes schließt die Arbeit ab.

        Arbeitsschritte

        • Einarbeitung in das Gebiet / Literaturanalyse / Stand der Technik
          • Entity-Relationship-Modell
          • Reverse Engineering
        • Konzeption
          • Auswahl geeigneter Ansätze
          • Abbildung verschiedener Datenformate auf ein ERM
          • Rückabbildung auf relationale Strukturen
        • Implementierung des Konzepts
        • Test und Validierung des Verfahrens

        Technologien

          • Programmiersprachen nach Wahl; bevorzugt Java und SQL

          Literatur

            1. Andreas Heuer, Gunter Saake, Kai-Uwe Sattler: Datenbanken - Konzepte und Sprachen, 6. Auflage. MITP 2018, ISBN 978-3-9584577-6-8, pp. 1-777
            2. Drazen Brdjanin, Dragana Vukovic, Goran Banjac, Aleksandar Kelec, Igor Dujlovic, Nikola Obradovic, Danijela Banjac: REDBUL: An Online System for Reverse Engineering of Relational Databases. INISTA 2020: 1-6

            Weitere Literatur wird zu Beginn der Arbeit bekannt gegeben.