1.1 Was ist SQL?
SQL – kurz für Structured Query Language (auf Deutsch: strukturierte Abfragesprache) – ist die Standardsprache, wenn es darum geht, mit relationalen Datenbanken zu arbeiten. Mit ihr lassen sich Daten speichern, verwalten und gezielt abfragen. Das Besondere: SQL arbeitet immer mit Tabellen, also Daten in Zeilen und Spalten, die sich wie in einer Excel-Tabelle anfühlen – nur deutlich leistungsfähiger und für große Datenmengen optimiert.
Mit SQL kannst du ganz unterschiedliche Aufgaben erledigen: Du kannst Daten abrufen – zum Beispiel eine Kundenliste oder Verkaufszahlen aus einer Datenbank. Du kannst neue Einträge hinzufügen, etwa wenn ein neuer Benutzer ein Konto anlegt oder eine Bestellung aufgegeben wird. Ebenso lassen sich vorhandene Informationen ändern, zum Beispiel eine Adresse oder ein Preis. Und falls Daten nicht mehr benötigt werden, können sie natürlich auch gelöscht werden. Darüber hinaus erlaubt SQL, die Struktur einer Datenbank zu gestalten, also Tabellen und deren Aufbau zu definieren oder zu verändern.
Die Einsatzmöglichkeiten von SQL sind enorm breit. In der Webentwicklung dient es als Grundlage für Benutzerkonten oder Shopsysteme, in der Datenanalyse und Business Intelligence liefert es die Rohdaten für Reports und Dashboards. Auch in der Wissenschaft werden Messdaten damit ausgewertet, während im Finanz- oder Gesundheitswesen hochskalierbare Datenhaltung und Sicherheit im Vordergrund stehen.
Ein weiterer Vorteil: SQL ist plattformunabhängig. Fast alle gängigen Datenbankmanagementsysteme (DBMS) unterstützen es – darunter MySQL, PostgreSQL, SQLite, Oracle Database und Microsoft SQL Server. Zwar hat jedes System kleine Unterschiede und eigene Erweiterungen, doch die Grundsprache bleibt überall gleich.
1.2 Warum SQL lernen?
Es gibt viele Gründe, SQL zu lernen – drei davon stechen besonders hervor:
Erstens ist SQL leicht zu verstehen. Die Befehle sind an die englische Sprache angelehnt und wirken dadurch intuitiv. Wer zum BeispielSELECT liest, versteht sofort, dass damit Daten „ausgewählt“ werden sollen. Ebenso beschreiben INSERT (etwas einfügen) oder UPDATE (etwas aktualisieren) sehr genau, was die jeweilige Anweisung macht. Gerade für Einsteigerinnen und Einsteiger ist diese Nähe zur Alltagssprache ein großer Vorteil, weil man schon mit wenig Vorwissen erste Abfragen schreiben kann.
Zweitens ist SQL außerordentlich mächtig. Schon mit wenigen Zeilen Code lassen sich komplexe Datenmengen durchforsten, filtern oder zusammenfassen. Ob du herausfinden willst, welche Produkte sich im letzten Monat am besten verkauft haben, oder wie viele Nutzer in einer bestimmten Region aktiv sind – SQL liefert dir die Antwort schnell und effizient. Die Sprache ist darauf ausgelegt, große Datenbestände präzise zu durchsuchen, und ermöglicht so Einblicke, die mit manueller Arbeit kaum möglich wären.
Drittens ist SQL universell einsetzbar. Egal, ob du an einer kleinen App mit wenigen Daten arbeitest oder in einem Großunternehmen mit riesigen Datenbanken – SQL bleibt die gemeinsame Basis. Fast alle Datenbankmanagementsysteme unterstützen es, sodass du deine Fähigkeiten problemlos auf verschiedene Plattformen übertragen kannst. Dadurch ist SQL nicht nur ein Einstieg in die Welt der Datenbanken, sondern eine Fähigkeit,
die dich langfristig begleitet und in nahezu jedem IT-Bereich relevant ist.
1.3 Geschichte von SQL
Die Geschichte von SQL beginnt in den frühen 1970er-Jahren, als Unternehmen zunehmend größere Datenmengen verarbeiten mussten und nach neuen Methoden zur Speicherung und Verwaltung von Informationen suchten. 1970 veröffentlichte Edgar F. Codd, ein Mitarbeiter von IBM, ein wegweisendes Papier mit dem Titel „A Relational Model of Data for Large Shared Data Banks“. Darin stellte er das relationale Datenbankmodell vor – ein neues Konzept, bei dem Daten in Tabellen organisiert werden, anstatt in hierarchischen oder netzwerkbasierten Strukturen.
Dieses Modell bot entscheidende Vorteile: Daten konnten einfacher strukturiert und verändert werden, Abfragen ließen sich benutzerfreundlicher erstellen, und die einheitliche Datenstruktur war hardwareunabhängig und standardisierbar. Um diese Idee praktisch umzusetzen, begann IBM 1973 mit der Entwicklung des Datenbanksystems System R. Dafür wurde eine Abfragesprache benötigt, die leicht verständlich war. So entstand SEQUEL (Structured English Query Language), später aus markenrechtlichen Gründen in SQL umbenannt.
In den späten 1970er-Jahren setzte sich das relationale Modell zunehmend durch. Um eine einheitliche Nutzung sicherzustellen, standardisierten in den 1980er-Jahren das American National Standards Institute (ANSI) und die International Organization for Standardization (ISO) SQL. Damit wurde SQL zur verbindlichen Sprache für relationale Datenbanken – unabhängig vom Hersteller. Viele Datenbanksysteme übernahmen SQL, häufig mit eigenen Erweiterungen.
Heute ist SQL weltweit etabliert und wird in zahlreichen Datenbanksystemen eingesetzt. Zu den bekanntesten zählen MySQL, eine beliebte Open-Source-Datenbank für Webanwendungen, PostgreSQL, das für Stabilität, Flexibilität und umfangreiche Funktionen bekannt ist, SQLite, leichtgewichtig und ideal für mobile Apps und kleine Projekte, sowie Oracle Database und Microsoft SQL Server, die häufig in großen Unternehmen und komplexen Systemen verwendet werden.
Ob in Start-ups, Cloud-Umgebungen oder großen Rechenzentren – SQL bildet seit Jahrzehnten das Rückgrat der Datenverarbeitung und gehört zu den wichtigsten Technologien der IT-Welt.
1.4 Grundlegende Konzepte
Bevor wir mit SQL beginnen, ist es wichtig, einige grundlegende Konzepte zu verstehen:
Datenbankmanagementsysteme
Ein Datenbankmanagementsystem, kurz DBMS, ist die Software, die hinter jeder Datenbank steht. Es sorgt dafür, dass Daten zuverlässig gespeichert, effizient verwaltet und strukturiert abgerufen werden können.
Ein DBMS übernimmt Aufgaben wie das Anlegen von Tabellen, das Einfügen, Aktualisieren oder Löschen von Daten sowie die Verwaltung von Zugriffsrechten und Sicherheitsmechanismen. Bekannte Beispiele für DBMS sind MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server oder Oracle Database.
Während einfache Dateien auf einem Computer lediglich Daten enthalten, ermöglicht ein DBMS, Daten komplex zu verknüpfen, gleichzeitig von mehreren Nutzern zu bearbeiten und gezielt abzufragen.
Datenbanken
Eine Datenbank ist ein systematisch organisierter Speicher für Daten. Man kann sie sich vorstellen wie einen großen Schrank mit Schubladen: Jede Schublade enthält thematisch zusammengehörende Informationen, die leicht auffindbar und geordnet sind.
In der digitalen Welt besteht eine Datenbank aus einer oder mehreren Tabellen, in denen Daten strukturiert abgelegt werden. So wird gewährleistet, dass Informationen nicht verloren gehen, schnell gefunden werden können und jederzeit aktualisierbar sind.
Tabellen
Eine Tabelle ist eine Sammlung von Daten, die in Zeilen und Spalten organisiert sind.
Jede Tabelle hat einen eindeutigen Namen und speichert Informationen zu einem bestimmten Thema. Zum Beispiel könnte eine Tabelle namens benutzer Informationen wie Name, Alter, E-Mail-Adresse und Gruppe von Benutzern enthalten.
Zeilen und Spalten
Eine Zeile, auch Datensatz genannt, repräsentiert einen einzelnen Eintrag in der Tabelle. In der Tabelle benutzer aus unserem Beispiel enthält eine Zeile die Daten eines bestimmten Benutzers. Die erste Zeile könnte beispielsweise die Daten der 10-jährigen Alina mit der E-Mail-Adresse alina773@mueller.de enthalten.
Eine Spalte, auch Feld genannt, repräsentiert eine bestimmte Art von Information, die für alle Datensätze in der Tabelle gilt. In unserem Beispiel speichert die Spalte alter in der Tabelle benutzer das jeweilige Alter der Personen. Jede Spalte hat einen Namen und einen definierten Datentyp, wie Text, Zahl oder Datum, um sicherzustellen, dass die Daten konsistent sind.
Schlüssel
Primärschlüssel: Eine Spalte (oder Kombination von Spalten), die jeden Datensatz in einer Tabelle eindeutig identifiziert. In unserem Beispiel ist die Spalte id in der Tabelle benutzer der Primärschlüssel. Die id wird beim Einfügen eines Datensatzes in die Tabelle beginnend mit 1 fortlaufend vergeben. Damit hat jeder Datensatz eine unterschiedliche id, wodurch die eindeutige Identifikation sichergestellt wird. Während in Spalten wie beispielsweise alter Werte in verschiedenen Zeilen vorkommen können (z. B. könnte ein neuer Benutzer mit dem Namen Tom eingefügt werden).
Fremdschlüssel: Eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist und so eine Beziehung zwischen den Tabellen herstellt. In unserem Beispiel ist die Spalte gruppe ein Fremdschlüssel, der die Gruppennummer speichert. Um diese Beziehung abzubilden, könnte eine weitere Tabelle gruppe erstellt werden, die zusätzliche Informationen zu den einzelnen Gruppen enthält. Diese Tabelle würde eine Spalte id als Primärschlüssel besitzen, über die beide Tabellen miteinander verknüpft werden.
1.5 Ein einfaches Beispiel
Um SQL in Aktion zu sehen, betrachten wir ein einfaches Beispiel. Angenommen, wir haben eine Tabelle namens benutzer,
die Informationen über verschiedene Nutzer speichert. Die Tabelle hat folgende Spalten:
- id: Eindeutiger Primärschlüssel, der jeden Benutzer eindeutig identifiziert.
- name: Der Name des Benutzers.
- alter: Das Alter des Benutzers.
- email: Die E-Mail-Adresse des Benutzers.
- gruppe: Ein Fremdschlüssel, der angibt, zu welcher Benutzergruppe der Nutzer gehört.
Die Tabelle könnte also wie eine kleine, geordnete Liste aussehen, in der jede Zeile einen einzelnen Benutzer darstellt und jede Spalte eine bestimmte Art von Information speichert.
Wenn wir nun alle Benutzer aus dieser Tabelle abrufen möchten, können wir eine SQL-Abfrage verwenden:
SELECT * FROM benutzer;
Die Bedeutung dieser Abfrage ist einfach: SELECT gibt an, dass wir Daten abfragen möchten,
das * bedeutet „alle Spalten“, und FROM benutzer sagt, aus welcher Tabelle die Daten stammen sollen.
Das Ergebnis dieser Abfrage ist die komplette Tabelle mit allen Benutzern, so wie sie gespeichert ist. Jede Zeile enthält alle Informationen zu einem Benutzer, und jede Spalte liefert ein bestimmtes Detail – Name, Alter, E-Mail-Adresse und so weiter.
Mit SQL können wir diese Abfrage leicht anpassen, um nur bestimmte Daten zu erhalten, zum Beispiel alle Benutzer über 18 Jahre, nur die Namen der Benutzer oder Benutzer aus einer bestimmten Gruppe. So wird deutlich, wie flexibel und mächtig SQL ist, auch bei einfachen Tabellen.
1.6 Zusammenfassung
In diesem Kapitel hast du die Grundlagen von SQL kennengelernt. Du weißt jetzt, wofür SQL eingesetzt wird und warum die Sprache so wichtig für die Arbeit mit relationalen Datenbanken ist. Außerdem hast du die Geschichte von SQL und ihre Bedeutung in der heutigen IT-Welt verstanden.
Du hast grundlegende Konzepte wie Datenbanken, Tabellen, Zeilen, Spalten, Primärschlüssel und Fremdschlüssel kennengelernt und anhand eines einfachen Beispiels gesehen, wie SQL-Abfragen funktionieren.
Im nächsten Kapitel steigen wir tiefer in die Grundlagen von SQL ein und lernen, wie man gezielt Daten aus einer Datenbank abruft.
Quiz zur Einführung in SQL
Teste dein Wissen mit diesen Fragen:
- Was bedeutet SQL?
- a) Simple Question Language
- b) Structured Query Language
- c) Standard Query Logic
- Welches der folgenden ist ein Beispiel für ein Datenbanksystem?
- a) MySQL
- b) Excel
- c) Word
- Was ist ein Primärschlüssel?
- a) Eine Spalte, die jeden Datensatz eindeutig identifiziert.
- b) Eine Spalte, die auf eine andere Tabelle verweist.
- c) Eine Spalte, die nur Zahlen enthält.
Antworten:
1. b) Structured Query Language
2. a) MySQL
3. a) Eine Spalte, die jeden Datensatz eindeutig identifiziert.
Denormalisierung: Wenn die dritte Normalform zu langsam ist
Die relationale Datenbanktheorie lehrt uns: Normalisierung ist der Schlüssel zu...
Artikel lesenSQL-Fehler 1064? Hier sind die 10 häufigsten Syntaxfehler und wie du sie vermeidest
Der MySQL-Fehler 1064 gehört zu den am häufigsten auftretenden Problemen...
Artikel lesen10 Tipps für lesbare SQL-Abfragen: Schreib Code, den auch du in 6 Monaten noch verstehst
Du öffnest eine SQL-Datei, die du vor einem halben Jahr...
Artikel lesenWas sind SQL-Abfragen?
Datenbanken enthalten oft Millionen von Datensätzen, von Kundendaten über Produktinformationen...
Artikel lesenBenutzerrechte richtig verwalten: Das Prinzip der minimalen Privilegien in SQL
Ein falscher Klick, und die Kundentabelle ist weg. Oder eine...
Artikel lesenNULL-Werte in SQL: Was sie wirklich bedeuten und wie du damit umgehst
Auf einer Party fragst du jemanden nach seinem Geburtsdatum –...
Artikel lesenSQL für Reporting: Wie man Berichte mit SQL vorbereitet
In der heutigen datengetriebenen Geschäftswelt ist Reporting ein zentrales Element,...
Artikel lesenSQL-Injection verstehen: 5 Schutz-Maßnahmen für deine Datenbank
SQL-Injection ist seit über 20 Jahren eine der größten Bedrohungen...
Artikel lesen