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
oderORDER 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
- Lege einen Index auf die Spalte
email
inkunden
. - Erstelle eine View, die Kunden mit der Summe ihrer Bestellungen anzeigt.
- Starte eine Transaktion, füge eine neue Bestellung ein und mache sie mit
ROLLBACK
wieder rückgängig. - 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