Wofür nutzen wir SQL in relationalen Datenbanken?
SQL: Die Sprache für dein Datenbankmanagementsystem
Du weißt bereits, dass ein Datenbankmanagementsystem (DBMS) die zentrale Software zur Verwaltung von Daten ist. Um diesem System mitzuteilen, was es tun soll, nutzt du SQL (Structured Query Language). SQL ist die standardisierte Datenbanksprache für relationale Datenbanken. Während du in der Modellierungsphase theoretische Entity-Relationship-Modelle entworfen hast, ist SQL nun das praktische Werkzeug, um diese Modelle physisch im DBMS zu erstellen, mit Daten zu füllen und diese später wieder abzufragen.
Die drei Kategorien: DDL, DML und DQL
Wie die grafische Übersicht verdeutlicht, werden SQL-Befehle anhand ihrer Funktion in drei Hauptkategorien unterteilt. Diese Struktur hilft dir, den Zweck jedes Befehls sofort einzuordnen:
- DDL (Data Definition Language): Diese Befehle definieren das Grundgerüst. Du nutzt sie, um Tabellen, Spalten und Datentypen anzulegen oder zu verändern. Ein typischer Befehl ist
CREATE TABLE. - DML (Data Manipulation Language): Steht die Struktur, verwaltest du mit DML die eigentlichen Datensätze. Du fügst neue Zeilen ein (
INSERT), änderst bestehende Werte (UPDATE) oder entfernst sie (DELETE). - DQL (Data Query Language): Diese Kategorie dient ausschließlich dem Lesen von Daten. Mit dem Befehl
SELECTformulierst du präzise Suchanfragen, um exakt die benötigten Informationen aus der Datenbank zu filtern.
Wie wendest du grundlegende SQL-Befehle in der Praxis an?
Tabellenstrukturen aufbauen (CREATE TABLE)
Aus der Datenmodellierung kennst du bereits Konzepte wie Primärschlüssel und Constraints (z. B. NOT NULL). Mit dem DDL-Befehl CREATE TABLE setzt du diese nun in SQL um. Du definierst den Tabellennamen, die Spalten, deren Datentypen (wie INT für Ganzzahlen oder VARCHAR für Text) und die Integritätsbedingungen.
CREATE TABLE projekte (
projekt_id INT PRIMARY KEY,
projektname VARCHAR(255) NOT NULL,
budget DECIMAL(10, 2)
);In diesem Beispiel erstellst du die Tabelle projekte. Durch den Zusatz PRIMARY KEY hinter projekt_id implementierst du direkt den Primärschlüssel. Mit NOT NULL erzwingst du, dass jedes Projekt zwingend einen Namen haben muss.
Datenbestände verändern (INSERT, UPDATE, DELETE)
Mit den DML-Befehlen füllst du deine Tabellen mit echten Informationen und hältst sie aktuell.
Neue Datensätze anlegen: Mit INSERT INTO fügst du eine neue Zeile hinzu. Die Reihenfolge der übergebenen Werte muss exakt den angegebenen Spalten entsprechen.
INSERT INTO projekte (projekt_id, projektname, budget)
VALUES (1, 'Website Relaunch', 15000.00);Bestehende Daten ändern: Mit UPDATE aktualisierst du Werte. Wichtig: Nutze immer die WHERE-Klausel! Ohne diese Bedingung würdest du das Budget aller Projekte in der Tabelle überschreiben.
UPDATE projekte
SET budget = 18000.00
WHERE projekt_id = 1;Datensätze entfernen: Mit DELETE löschst du Zeilen. Auch hier schützt dich die WHERE-Klausel davor, versehentlich die gesamte Tabelle zu leeren.
DELETE FROM projekte
WHERE projekt_id = 1;Gezielt Daten abfragen (SELECT)
Um Informationen aus deiner Datenbank zu lesen, nutzt du den DQL-Befehl SELECT. Du bestimmst, welche Spalten angezeigt werden sollen und aus welcher Tabelle sie stammen.
SELECT projektname, budget
FROM projekte
WHERE budget > 10000.00;SELECT: Gibt an, welche Spalten (hier:projektnameundbudget) im Ergebnis erscheinen sollen. Nutzt du ein Sternchen (SELECT *), werden alle Spalten der Tabelle ausgegeben.FROM: Definiert die Quelltabelle (hier:projekte).WHERE: Filtert die Ergebnisse anhand einer Bedingung. In diesem Fall werden nur Projekte angezeigt, deren Budget strikt größer als 10.000 ist.
Teste dein Wissen
Du hast ein fertiges Entity-Relationship-Modell (ERM) für einen Webshop entworfen. Welchen Zweck erfüllt SQL im nächsten Schritt der Datenbankentwicklung?