Data Cleaning in SQL

Betreuer / Ansprechpartner

  • Hannes Grunert

    Charakter

      • Konzeption
      • Prototypische Implementierung

      Vorkenntnisse

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

        Beschreibung

        Maschinelles Lernen, KI und Data Mining sind in der modernen Datenanalyse nicht mehr wegzudenken. Durch eine Vielzahl von Verfahren und Algorithmen werden wichtige Informationen und Erkenntnisse aus den Rohdaten gewonnen.

        Große Datenmengen werden in verschiedenen Datenbanksystemen, darunter auch klassische relationale DBMS, gespeichert. In vielen Data-Science-Anwendungen findet hier ein „Medienbruch“ statt: Aus der Datenbank werden die Daten mit einer einfachen „SELECT * FROM table“-SQL-Anfrage geladen und wahlweise in einer CSV-Datei gespeichert oder in einen pandas-DataFrame geladen. Dabei gehen die Vorteile des Datenbanksystems, wie beispielsweise Indexstrukturen, verloren.

        Neben der eigentlichen Datenanalyse müssen die Daten im Vorfeld transformiert und korrigiert werden. Dies geschieht gegenwärtig häufig erst nach dem Laden aus der Datenbank.

        Im Rahmen dieser Bachelorarbeit sollen bestehende Verfahren zum Data Cleaning in SQL implementiert werden. Der Fokus liegt dabei auf der Untersuchung der Performance verschiedener Umsetzungsmöglichkeiten (reines SQL, Stored Procedures, UDFs) und der Verwendbarkeit des Verfahrens in unterschiedlichen DBMS.

        Arbeitsschritte

        • Einarbeitung in das Gebiet / Literaturanalyse / Stand der Technik
          • Data-Cleaning-Verfahren
        • Konzeption
          • Auswahl geeigneter Verfahren
          • Schaffung einheitlicher Schnittstellen
        • Umsetzung der Verfahren in mehreren DBMS
        • Test und Validierung des Verfahrens

        Technologien

          • Programmiersprache: SQL

          Literatur

            • Ihab F.Ilyas und Xu Chu: Data cleaning. Morgan & Claypool, 2019.
            • Weitere Literatur wird zu Beginn der Arbeit bekannt gegeben.