
Daten begreifen mit SQL
veröffentlicht am 14.02.2020 von Christian Schultz
Vor 14 Tagen hatte ich meinen letzten Bericht über das Bertelsmann Scholarship bei Udacity mit dem Cliffhanger geschlossen, „ob ich ein gutes Zeit-Management“ hinbekommen werde. Zuvor hatte ich in einem Akt der Willenskraft die letzten Lektionen über die Programmiersprache Python durchgeackert, um dann in das letzte Kapitel über SQL einzutauchen. Konnte ich mein strammes Arbeitspensum aufrecht erhalten? Ist SQL eine inhaltliche Herausforderung? Werde ich das Programm zum 05.03.2020 beenden, um zumindest eine theoretische Chance auf die zweite Runde zu haben?
Das Wichtigste vorweg: Wie angekündigt habe ich die letzten Übungen zu Python im geplanten Zeitraum abschließen können. Seit etwa zehn Tagen beschäftige ich mich nun zum ersten Mal mit SQL, einer Datenbanksprache.
SQL – was ist das?
SQL, oft auch „Sequel“ ausgesprochen, ist eine Programmiersprache zum Auslesen, Bearbeiten und Analysieren von Daten. Mit SQL ist es möglich, bestimmte Daten aus unterschiedlichen Tabellen aufzubereiten. Praktisch funktioniert das, indem man dem Programm bestimmte Befehle diktiert – also eigentlich genauso wie bei anderen Programmiersprachen. Das Besondere ist, dass SQL eigens zum Interagieren mit Datenbanken konzipiert wurde.
Ist SQL kompliziert? Nein, zumindest nicht in der Art und Weise, wie die Sprache angelegt ist. Das nachfolgende Video zeigt ein einfaches Beispiel für den Aufbau einer typischen Suchanfrage mit SQL.
Der Befehl SELECT teilt dem Programm mit, welche Daten angezeigt werden sollen. Da im Video ein Sternchen auf SELECT folgt, müssen hier alle Daten aufbereitet werden. Das Schlüsselwort FROM verweist auf die Tabelle, aus der die Daten zu fischen sind. WHERE ist eine Bedingung, mit der wir die Ausgabe weiter einschränken können. In anderen Programmiersprachen wie Python bedient man sich für ein solches „konditionelles Statement“ des Begriffes IF. Bei SQL arbeiten wir mit WHERE. Im obigen Beispiel soll das Programm nur Daten anzeigen, bei denen in der Spalte „votes“ ein Wert von mehr als 10 vermerkt ist. Am Ende können wir noch optional mit ORDER BY sortieren, in welcher Reihenfolge SQL die Ergebnisse ausspucken soll.
Kompliziert ist SQL also nicht. Doch die Vielfalt der Möglichkeiten, die wir mit SQL nutzen können, setzt natürlich voraus, dass Du diese immer wieder üben musst. Es ist wie bei allen Programmiersprachen: Die Basics sind simpel. Wer aber die ganze Macht des Programmierens für sich arbeiten lassen will, braucht Routine. Und viel Zeit, um die notwendige Erfahrung zu entwickeln.
Wie weit bin ich bisher mit SQL gekommen? Wie schwer fällt mir das Arbeiten?
Mir fehlen nun nur noch zwei Lektionen bis zum Schluss. Ich bin also tatsächlich sehr gut in der Zeit und deswegen guter Dinge, den Kurs bis Anfang März erfolgreich zu beenden. Nachdem ich in den ersten Tagen keinerlei Probleme mit den Übungen hatte, bin ich bei SQL nun doch an einem Punkt angelangt, an dem ich für die Aufgaben mehr Zeit benötige.
Besonders herausfordernd ist für mich der Denkansatz beim Zusammentragen von verschiedenen Daten – also zum Beispiel beim Summieren – wenn mehrere Tabellen auf einmal ins Spiel kommen. Dazu kommt, dass SQL bei der Anwendung von Befehlen eine starre Reihenfolge voraussetzt. An dieser Stelle unterlaufen mir noch häufig Fehler. Die obligatorischen Übungen, die Udacity nach der Vermittlung von jeder neuen Lektion in den Stoff einbaut, fordern mir deswegen deutlich mehr Zeit ab, als ich gehofft habe. Insbesondere weil ich aufgrund meines Vollzeitjobs und der Familie nur in den späten Abendstunden zum Lernen komme.
Was geht auf Slack?
In der Community werden zurzeit die letzten Reserven mobilisiert. Fast täglich rieseln Wasserstandsmeldungen auf uns herab, wie viel Prozent aller Teilnehmer bereits mit dem Programm durch sind. Mittlerweile sind es deutlich über 20 Prozent. Außerdem ermutigen uns die Moderatoren zu „Study Jams“, also regelrechten Lernmarathons. Leider komme ich kaum dazu, mich an diesen Aktivitäten zu beteiligen. So arbeite ich stur in meinem persönlichen Lerntempo und konzentriere mich auf die Zielgerade.
Wie sieht es mit dem Erreichen der zweiten Runde aus?
Um sich für ein komplettes Nandodegree zum Data Analyst zu qualifizieren, reicht das Beenden aller Lektionen allein nicht aus. Udacity* und Bertelsmann erwarten von uns Studenten, dass wir uns sehr rege in der Community engagieren.
Vor diesem Hintergrund hege ich keine allzu großen Hoffnungen, für die zweite Phase des Stipendiums ausgewählt zu werden. Für den kontinuierlichen Austausch mit den Kommilitonen fehlt mir einfach die Zeit – und manchmal auch die Nerven. So habe ich nicht einmal an den AMA („Ask my anything“) Sessions teilnehmen können, da diese in der Regel in einer für Europäer ungünstigen Zeit angeboten werden.
In den nächsten 14 Tagen arbeite ich mich durch die letzten Lektionen über SQL. Anschließend werde ich mich entspannt zurücklehnen und auf das Ergebnis warten.
Kontakt
Alle bisherigen Beiträge zu meinen Erfahrungen mit der aktuellen Bertelsmann Challenge findest Du unter der Rubrik „Data“. Falls Du gezielte Fragen hast, kannst Du mich auch gern per Mail kontaktieren: