Datenbank Praxis - Cheatsheet.pdf

Datenbank Praxis - Cheatsheet
Datenbank Praxis - Cheatsheet SQL-Abfragen: Joins und Sub-Abfragen Definition: Verknüpfung von Tabellen (Joins) und Einsatz von Unterabfragen zur Erstellung komplexer SQL-Abfragen. Details: Joins: Kombinieren Daten aus mehreren Tabellen basierend auf einer verwandten Spalte. INNER JOIN: Gibt nur übereinstimmende Datensätze zurück. LEFT JOIN: Gibt alle Datensätze aus der linken Tabelle und die über...

© StudySmarter 2024, all rights reserved.

Datenbank Praxis - Cheatsheet

SQL-Abfragen: Joins und Sub-Abfragen

Definition:

Verknüpfung von Tabellen (Joins) und Einsatz von Unterabfragen zur Erstellung komplexer SQL-Abfragen.

Details:

  • Joins: Kombinieren Daten aus mehreren Tabellen basierend auf einer verwandten Spalte.
    • INNER JOIN: Gibt nur übereinstimmende Datensätze zurück.
    • LEFT JOIN: Gibt alle Datensätze aus der linken Tabelle und die übereinstimmenden aus der rechten zurück; fehlende Werte als NULL.
    • RIGHT JOIN: Umgekehrt zu LEFT JOIN.
    • FULL JOIN: Gibt alle Datensätze zurück, wenn es eine Übereinstimmung in einer der beiden Tabellen gibt; fehlende Werte als NULL.
  • Sub-Abfragen: Eine Abfrage, die in einer anderen Abfrage (Verschachtelung) enthalten ist.
    • Scalar Subqueries: Rückgabe eines einzelnen Werts.
    • Correlated Subqueries: Die innere Abfrage bezieht sich auf eine Spalte der äußeren Abfrage.
    • Non-correlated Subqueries: Unabhängige Unterabfrage, die nur einmal ausgeführt wird.

Datenbankobjekte erstellen und verwalten

Definition:

Erstellung und Verwaltung von Datenbankobjekten wie Tabellen, Views, Indizes, Prozeduren und Triggern.

Details:

  • Tabellen (\texttt{CREATE TABLE}): Struktur definieren, z.B. Spaltennamen, Datentypen
  • Views (\texttt{CREATE VIEW}): Virtuelle Tabellen basierend auf SQL-Abfragen
  • Indizes (\texttt{CREATE INDEX}): Verbesserung der Abfragegeschwindigkeit
  • Prozeduren (\texttt{CREATE PROCEDURE}): Wiederverwendbare Codeblöcke für bestimmte Aktionen
  • Trigger (\texttt{CREATE TRIGGER}): Automatische Ausführung von Code bei bestimmten Ereignissen
  • Zugriffsrechte (\texttt{GRANT}, \texttt{REVOKE}): Benutzerrechte verwalten

ER-Diagramme und relationales Datenbankmodell

Definition:

Visuelle Darstellung von Datenbankstrukturen und deren Beziehungen; Basis für das relationale Schema von Datenbanken.

Details:

  • Entitäten (Rechtecke) und Beziehungen (Rauten)
  • Attribute (Ellipsen) und Primärschlüssel (unterstrichen)
  • Kardinalität: 1:1, 1:N, N:M
  • Relationales Modell: Tabellen mit Zeilen (Tupeln) und Spalten (Attributen)
  • Primärschlüssel \textit{PK}, Fremdschlüssel \textit{FK}

Schema Design und Constraints

Definition:

Schema-Design umfasst die Strukturierung einer Datenbank, um Daten effizient zu verwalten; Constraints setzen Schranken für erlaubte Werte und Beziehungen in der Datenbank.

Details:

  • Normalisierung: Zerlegung von Tabellen, um Redundanz zu vermeiden. Formen: 1NF, 2NF, 3NF, BCNF.
  • Primärschlüssel (\texttt{PRIMARY KEY}): Eindeutige Identifikation einer Tabellenzeile.
  • Fremdschlüssel (\texttt{FOREIGN KEY}): Sicherstellung von referenzieller Integrität zwischen Tabellen.
  • Einzigartigkeit (\texttt{UNIQUE}): Keine doppelten Werte in einer Spalte erlaubt.
  • Nicht-Null (\texttt{NOT NULL}): Keine Nullwerte in einer Spalte erlaubt.
  • Standardwerte (\texttt{DEFAULT}): Vorgabewerte für Spalten, falls kein Wert eingefügt wird.

ACID-Eigenschaften und Transaktionsmanagement

Definition:

ACID-Eigenschaften: Atomarität, Konsistenz, Isolation, Dauerhaftigkeit. Transaktionsmanagement: Verwaltung und Überwachung von Transaktionen in einer Datenbank

Details:

  • Atomarität (Atomicity): Alle Operationen einer Transaktion werden vollständig ausgeführt oder gar nicht
  • Konsistenz (Consistency): Der Systemzustand bleibt konsistent nach Transaktionsabschluss
  • Isolation (Isolation): Transaktionen beeinflussen sich gegenseitig nicht
  • Dauerhaftigkeit (Durability): Nach Abschluss der Transaktion bleiben die Änderungen dauerhaft gespeichert
  • Transaktionsverwaltung: Überwachung durch Commit und Rollback
  • Protokollierung: Wichtiger Teil als Schutz vor Systemausfällen (Logging, Journaling)

Isolationsstufen und Locking-Mechanismen

Definition:

Isolationsstufen bestimmen, wie Transaktionen voneinander abgegrenzt werden und Locking-Mechanismen verhindern, dass mehrere Transaktionen gleichzeitig auf die gleichen Daten zugreifen.

Details:

  • Isolationsstufen: Read Uncommitted, Read Committed, Repeatable Read, Serializable
  • Read Uncommitted: keine Sperren, dirty reads möglich
  • Read Committed: Sperren bei Lesezugriff, keine dirty reads
  • Repeatable Read: Sperren für die Dauer der Transaktion, keine non-repeatable reads
  • Serializable: höchsten Isolation, vollständig serialisierbare Transaktionen
  • Locking-Arten: Shared Lock (S), Exclusive Lock (X)
  • Shared Lock: erlaubt anderen Transaktionen ebenfalls Lesezugriff
  • Exclusive Lock: blockiert alle anderen Zugriffe
  • Deadlocks: gegenseitiges Blockieren von Transaktionen durch unaufgelöste Sperren
  • Deadlock-Vermeidung: Wait-Die- oder Wound-Wait-Schema

Indexierung und Abfrageoptimierung

Definition:

Indexierung beschleunigt den Datenzugriff, Abfrageoptimierung verbessert die Effizienz von Datenbankanfragen.

Details:

  • Indexierungstypen: B-Bäume, Hash-Indizes
  • Abfrageoptimierer wählt besten Ausführungsplan für SQL-Queries
  • Kostenbasierte Optimierung: Bewertet Ausführungspläne nach I/O, CPU
  • Heuristische Optimierung: Regelbasierte Technik
  • Wichtige SQL-Befehle: EXPLAIN, ANALYZE
  • Normalisierung vs. Denormalisierung: Balance zwischen Speicherplatz und Geschwindigkeit finden

Datenbankperformance: Überwachung und Diagnosetools

Definition:

Überwachung und Diagnose von Datenbankleistung zur Identifizierung und Lösung von Performance-Problemen

Details:

  • Monitoring-Tools: Erfassen und Protokollieren von Leistungsmetriken (z.B. CPU-Auslastung, Speicherverbrauch, I/O-Operationen)
  • Diagnosetools: Analysieren von Abfrageausführungsplänen und Ermitteln von Engpässen
  • Indikatoren: Latenzzeiten, Durchsatz, Sperrkonflikte
  • Verwendung von SQL-Tracing, Profiler und Performance-Schema
  • Proaktive und reaktive Ansätze zur Leistungsoptimierung
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden