Mit den bisherigen Kapiteln kannst du Datenbanken erstellen, Tabellen verknüpfen und komplexe Abfragen schreiben.
Nun geht es darum, deine Datenbank effizienter und sicherer zu machen: mit Indexen, Views und Transaktionen.

Beispiel: Index auf Nachnamen der Kunden

CREATE INDEX idx_kunden_nachname ON kunden(nachname);

👉 Hinweis: Abfragen wie

SELECT * FROM kunden WHERE nachname = 'Müller';

werden dadurch erheblich beschleunigt.

Indexe anzeigen

SHOW INDEX FROM kunden;

Index löschen

DROP INDEX idx_kunden_nachname ON kunden;

🔹 Views – gespeicherte Abfragen

Eine View ist eine gespeicherte Abfrage, die sich wie eine virtuelle Tabelle verhält.

Beispiel: Alle Kunden mit ihren Bestellungen

CREATE VIEW kunden_bestellungen AS
SELECT k.vorname, k.nachname, b.produkt, b.preis
FROM kunden k
JOIN bestellungen b ON k.id = b.kunde_id;

Nutzung:

SELECT * FROM kunden_bestellungen;

👉 Hinweis: Views vereinfachen wiederkehrende Abfragen und erhöhen die Lesbarkeit.

🔹 Transaktionen – sicher arbeiten

Eine Transaktion fasst mehrere SQL-Befehle zu einer logischen Einheit zusammen.
Du kannst Änderungen am Ende bestätigen (COMMIT) oder rückgängig machen (ROLLBACK).

Beispiel: Bestellung & Zahlung gleichzeitig speichern

START TRANSACTION;

INSERT INTO bestellungen (kunde_id, produkt, preis, bestelldatum)
VALUES (1, 'Monitor', 199.90, '2025-09-12');

-- Fehler? Dann abbrechen
ROLLBACK;

-- alles korrekt? Dann bestätigen
COMMIT;

🔹 Praktische Tipps zur Optimierung

  • Verwende Indexe für häufig genutzte Spalten in WHERE, JOIN oder ORDER BY.
  • Nutze Views für komplexe oder wiederholte Abfragen.
  • Bei kritischen Prozessen (z. B. Bestellungen, Zahlungen) immer Transaktionen einsetzen.
  • Prüfe mit EXPLAIN, wie Abfragen ausgeführt werden:
EXPLAIN SELECT * FROM bestellungen WHERE kunde_id = 1;

🔹 Übung

  1. Lege einen Index auf die Spalte email in kunden.
  2. Erstelle eine View, die Kunden mit der Summe ihrer Bestellungen anzeigt.
  3. Starte eine Transaktion, füge eine neue Bestellung ein und mache sie mit ROLLBACK wieder rückgängig.
  4. Wiederhole die Transaktion und bestätige diesmal mit COMMIT.

✅ Zusammenfassung

  • Indexe machen Abfragen schneller.
  • Views speichern Abfragen und vereinfachen den Zugriff.
  • Transaktionen sichern Datenkonsistenz bei komplexen Änderungen.
  • Mit EXPLAIN analysierst du Abfragen zur Optimierung.

Im nächsten Kapitel beschäftigen wir uns mit praktischer Verwaltung einer produktiven Datenbank: Benutzerrechte feinjustieren, Backups automatisieren und Sicherheit im Alltag.

📚 Inhaltsverzeichnis

👉 MariaDB Kapitel 1: Einführung & Installation im Terminal
👉 MariaDB Kapitel 2: Benutzer & Rechteverwaltung
👉 MariaDB Kapitel 3: Tabellen sauber anlegen (Primär- & Fremdschlüssel)
👉 MariaDB Kapitel 4: Grundbefehle & Kurzschreibweisen in der MariaDB-Konsole
👉 MariaDB Kapitel 5: CRUD-Befehle  – Daten einfügen, lesen, ändern und löschen
👉 MariaDB Kapitel 6: Primär- und Fremdschlüssel – Tabellen verknüpfen
👉 MariaDB Kapitel 7: Profi-Abfragen mit JOIN, GROUP BY & Aggregatfunktionen
👉 MariaDB Kapitel 8: Indexe, Views & Transaktionen
👉 MariaDB Kapitel 9: Produktivbetrieb – Sicherheit, Backups & Verwaltung
👉 MariaDB Kapitel 10: Abschlussprojekt – Ein Mini-Shop

📚 Bonus-Kapitel Ideen

👉 MariaDB Kapitel 11: Stored Procedures – Automatisierte Abläufe
👉 MariaDB Kapitel 12: Trigger – Aktionen bei Änderungen
👉 MariaDB Kapitel 13: Events – Zeitgesteuerte Aufgaben
👉 MariaDB Kapitel 14: Sicherheit & Best Practices
👉 MariaDB Kapitel 15: Performance-Tuning & Optimierung