18 Punkte von GN⁺ 2024-02-07 | 1 Kommentare | Auf WhatsApp teilen

SQL for the Weary

  • Zielgruppe: Rachel mit einem Masterabschluss in Zellbiologie arbeitet an der Zellanalyse in einem Forschungskrankenhaus und möchte Data Scientist werden.
  • Erforderliche Vorkenntnisse: Grundlegende Unix-Befehle und die Fähigkeit, tabellarische Daten zu analysieren.
  • Lernergebnisse: Den Unterschied zwischen einer Datenbank und einem Datenbankadministrator erklären, SQL schreiben, Tabellen definieren und Daten bearbeiten, Arten von Joins erklären, Window Functions für die Arbeit mit benachbarten Zeilen verwenden, Transaktionen und Trigger verstehen, JSON-Daten mit SQL bearbeiten und über Python mit Datenbanken interagieren.

Einrichtung

  • Neueste Version herunterladen: Eine Datei mit SQLite-Datenbankbeispielen, SQL-Abfragen, Python-Skripten usw. in ein temporäres Verzeichnis entpacken.

Hintergrundkonzepte

  • Datenbank: Eine Sammlung von Daten, die gespeichert und abgerufen werden können.
  • Datenbankmanagementsystem (DBMS): Ein Programm, das eine bestimmte Art von Datenbank verwaltet.
  • SQLite: Speichert eine Datenbank in einer einzelnen Datei; PostgreSQL verteilt Informationen für höhere Leistung auf mehrere Dateien.
  • Relationales Datenbankmanagementsystem (RDBMS): Speichert Daten in Tabellen und fragt sie mit SQL ab.
  • NoSQL-Datenbanken: Es gibt auch Datenbanken wie MongoDB, die keine Tabellen verwenden.

Verbindung zur Datenbank

  • Datenbankverbindung: Kein eigentlicher Query, aber ein notwendiger Schritt, bevor andere Arbeiten ausgeführt werden.

Verwaltungsbefehle

  • SQLite-Verwaltungsbefehle: Kein Teil des Standard-SQL; spezielle PostgreSQL-Befehle beginnen mit \.
  • Ausgabeformat: Mit .headers on und .mode markdown werden Ergebnisse besser lesbar ausgegeben.

Tabellenmanipulation

  • Tabelle erstellen: Mit dem Befehl create table Tabellen und Spalten definieren.
  • Daten einfügen: Mit dem Befehl insert into Daten zu einer Tabelle hinzufügen.
  • Zeilen aktualisieren: Mit dem Befehl update Daten in Zeilen ändern, die bestimmte Bedingungen erfüllen.
  • Zeilen löschen: Mit dem Befehl delete from Zeilen entfernen, die bestimmte Bedingungen erfüllen.

Joins

  • Joins: Der Vorgang, Informationen aus zwei Tabellen zu kombinieren.
  • Inner Join: Mit inner join nur die übereinstimmenden Zeilen zweier Tabellen kombinieren.
  • Left Join: Mit left join alle Zeilen der linken Tabelle beibehalten und fehlende Werte der rechten Tabelle mit null auffüllen.

Aggregatfunktionen

  • Aggregation: Der Vorgang, mehrere Werte zu einem zusammenzufassen.
  • Gängige Aggregatfunktionen: Daten mit sum, max, min, avg usw. aggregieren.
  • Gruppierung: Mit group by Zeilen nach eindeutigen Kombinationen bestimmter Spalten gruppieren und für jede Gruppe Aggregationen ausführen.

Meinung von GN⁺

  • Dieser Beitrag ist Material, das beim grundlegenden Verständnis von Datenbanken und SQL hilft, und ist nützlich für Einsteiger in die Softwareentwicklung oder für Menschen mit Interesse an Data Science.
  • Durch die Erklärung verschiedener SQL-Funktionen anhand praxisnaher Beispiele vermittelt er praktisches Wissen zur Verwaltung und Bearbeitung von Datenbanken.
  • Insbesondere Datenbank-Joins, Aggregatfunktionen und Tabellenmanipulation sind für datenanalytische Aufgaben sehr wichtig, und dieser Beitrag hilft dabei, diese Konzepte klar zu verstehen.

1 Kommentare

 
GN⁺ 2024-02-07
Hacker-News-Kommentare
  • Mit ChatGPT lassen sich komplexe Abfragen wie ein Data Scientist schreiben. So kann man nützliche Kennzahlen wie Conversion Rate oder Nachrichten-Klickrate gewinnen.
  • Die Bedeutung des Begriffs Data Scientist hat sich verändert, seit er einst als „der sexieste Beruf“ galt. Im Artikel hat Rachel mit einem Master in Biologie in einem Forschungskrankenhaus Zellanalysen durchgeführt und möchte Data Scientist werden. Früher waren Data Scientists Menschen mit sowohl quantitativem Hintergrund als auch Software-Engineering-Hintergrund, heute werden sie mitunter als „überbewertete Datenanalysten“ angesehen.
  • Es könnte sinnvoll sein, diesen Leitfaden mit DuckDB neu zu schreiben. DuckDB wird derzeit von Data Scientists häufiger verwendet als SQLite.
  • Ein sehr kompakter SQL-Leitfaden mit hervorragender didaktischer Aufbereitung anhand von Beispielen. An US-Universitäten wird dieser Stoff über ein ganzes Semester gelehrt, aber dieser Leitfaden reicht für die meisten industriellen Software-Engineering-Jobs aus, abgesehen von Datenbankoptimierung.
  • Mit einer Mac-App namens TextQuery kann man SQL üben. CSV-Datensätze lassen sich schnell importieren und SQL-Abfragen ausführen; die aktuelle Beta-Version ist kostenlos nutzbar.
  • Es ist gut, ein langes Tutorial auf einer einzelnen Seite für Flüge mit instabilem WLAN herunterzuladen. Ich frage mich, ob es auch Tutorials zu anderen Sprachen oder Technologien außer SQL gibt.
  • Viele Abfragen sind nur für SQLite gültig und enthalten Funktionen, die in einigen DBMS nicht unterstützt werden. Zum Beispiel wird Aggregatfilterung von MySQL, MS SQL, Oracle usw. nicht unterstützt.
  • Es wirkt weniger wie ein Tutorial für Data Scientists als vielmehr wie eine gute allgemeine Zusammenfassung von SQL.
  • Die Erklärung zu „left outer join“ gilt nur für Gleichheitsbedingungen und kann ein falsches Verständnis von left join erzeugen. Solche Erklärungen sind sehr verbreitet, aber irreführend.