Grundlagen: Datenbanken - Cheatsheet.pdf

Grundlagen: Datenbanken - Cheatsheet
Relationale Datenbankmodelle Definition: Modell zur strukturierten Speicherung und Abfrage von Daten durch Tabellen (Relationen), Spalten (Attribute) und Zeilen (Tupel). Details: Datenbankstruktur basiert auf mathematischer Theorie der Relationen Schlüsselkriterien: Primärschlüssel, Fremdschlüssel Mengenoperationen: Projektion, Selektion, Joins, Vereinigungen Datenintegrität durch Constraints sich...

© StudySmarter 2024, all rights reserved.

Relationale Datenbankmodelle

Definition:

Modell zur strukturierten Speicherung und Abfrage von Daten durch Tabellen (Relationen), Spalten (Attribute) und Zeilen (Tupel).

Details:

  • Datenbankstruktur basiert auf mathematischer Theorie der Relationen
  • Schlüsselkriterien: Primärschlüssel, Fremdschlüssel
  • Mengenoperationen: Projektion, Selektion, Joins, Vereinigungen
  • Datenintegrität durch Constraints sichergestellt
  • SQL (Structured Query Language) zur Abfrage und Manipulation verwendet

Normalisierung

Definition:

Normalisierung: Prozess der Organisation von Daten in einer relationalen Datenbank zur Reduktion von Redundanzen und Vermeidung von Anomalien.

Details:

  • Ziel: Strukturierung der Daten in sinnvolle Tabellen zur Sicherstellung der Datenintegrität.
  • 1. Normalform: Beseitigung von Redundanzen – jedes Attribut enthält nur atomare Werte.
  • 2. Normalform: Einhaltung der 1. NF und keine partiellen Abhängigkeiten zwischen Attributen und Schlüssel.
  • 3. Normalform: Einhaltung der 2. NF und keine transitiven Abhängigkeiten zwischen Nicht-Schlüsselattributen.
  • Boyce-Codd-NF (BCNF): Einhaltung der 3. NF und jedes Determinante ist ein Superschlüssel.
  • Normalisierung reduziert Daten-Anomalien wie Einfüge-, Lösch- und Änderungsanomalien.

Joins und Subqueries in SQL

Definition:

Verwende Joins und Subqueries, um Daten aus mehreren Tabellen zu kombinieren und komplexere Abfragen zu ermöglichen.

Details:

  • Joins: Kombinieren Daten aus mehreren Tabellen basierend auf einem verwandten Attribut.
  • Arten von Joins:
    • 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 Tabelle zurück.
    • RIGHT JOIN: Gibt alle Datensätze aus der rechten Tabelle und die übereinstimmenden aus der linken Tabelle zurück.
    • FULL OUTER JOIN: Gibt alle Datensätze zurück, wenn ein Match in einer der Tabellen gefunden wird.
  • Subqueries: Eine Abfrage innerhalb einer anderen Abfrage, liefert Zwischenresultate.
  • Verwendung von Subqueries:
    • Im SELECT-Statement:
      SELECT ... (SELECT ...)
    • Im FROM-Statement:
      SELECT ... FROM (SELECT ...)
    • Im WHERE-Statement:
      SELECT ... WHERE ... IN (SELECT ...)
  • Beispiele:
  • INNER JOIN:
    SELECT * FROM T1 INNER JOIN T2 ON T1.id = T2.id;
  • Subquery im WHERE-Statement:
    SELECT * FROM T1 WHERE T1.id IN (SELECT id FROM T2 WHERE T2.condition);

ACID-Prinzipien

Definition:

ACID-Prinzipien dienen zur Gewährleistung der Zuverlässigkeit von Datenbanktransaktionen:

Details:

  • Atomicity: Transaktionen sind unteilbar (\textit{alles oder nichts}).
  • Consistency: Transaktionen führen die Datenbank von einem konsistenten Zustand in einen anderen.
  • Isolation: Transaktionen sind voneinander unabhängig.
  • Durability: Einmal abgeschlossene Transaktionen bleiben dauerhaft gespeichert.

NoSQL Kategorisierung

Definition:

Einteilung von NoSQL-Datenbanken in verschiedene Kategorien je nach ihrem Datenmodell und ihren Anwendungsfällen.

Details:

  • Dokumentbasierte Datenbanken: Speichern Daten im JSON-Format (z.B. MongoDB, CouchDB)
  • Key-Value-Stores: Speichern Paare von Schlüssel und Wert (z.B. Redis, Riak)
  • Spaltenorientierte Datenbanken: Daten in Spalten statt Zeilen gespeichert (z.B. Cassandra, HBase)
  • Graphdatenbanken: Speichern Daten als Knoten und Kanten (z.B. Neo4j, ArangoDB)

Entity-Relationship-Modelle

Definition:

Entität-Typen und deren Beziehungen modellieren

Details:

  • Bestandteile: Entitäten, Attribute, Beziehungen
  • Entität: Objekt der realen Welt
  • Attribut: Eigenschaften einer Entität
  • Beziehung (Relationship): Assoziation zwischen Entitäten
  • Kardinalitäten: 1:1, 1:N, N:M
  • Schlüsselattribute: eindeutige Identifizierung von Entitäten
  • Chen-Notation: Standard-Darstellung

Transaktionsverwaltung

Definition:

Verantwortlich für die Sicherstellung der ACID-Eigenschaften (Atomicity, Consistency, Isolation, Durability) in Datenbanktransaktionen.

Details:

  • Atomicity: Transaktionen werden vollständig ausgeführt oder gar nicht (alles-oder-nichts-Prinzip).
  • Consistency: Transaktionen führen die Datenbank von einem konsistenten Zustand in einen anderen.
  • Isolation: Parallel ausgeführte Transaktionen beeinflussen sich nicht gegenseitig.
  • Durability: Nach erfolgreichem Abschluss einer Transaktion bleiben die Änderungen dauerhaft gespeichert, auch bei Systemausfällen.
  • Verwendet Mechanismen wie Sperren, Logs und Wiederherstellungsstrategien.
  • Isolation Levels: Read Uncommitted, Read Committed, Repeatable Read, Serializable.
  • Two-Phase Commit Protocol für verteilte Transaktionen.

Datenkonsistenz und Integritätsbedingungen

Definition:

Datenkonsistenz stellt sicher, dass Daten korrekt und fehlerfrei sind; Integritätsbedingungen gewährleisten, dass die gespeicherten Daten den definierten Regeln entsprechen.

Details:

  • Konsistenz: Daten dürfen nach einer Transaktion nicht inkonsistent sein.
  • Integritätsbedingungen:
    • Schlüsselintegrität: Primärschlüssel müssen eindeutig sein.
    • Referentielle Integrität: Fremdschlüssel müssen auf existierende Primärschlüssel verweisen.
    • Domänenintegrität: Werte müssen dem definierten Datentyp entsprechen.
    • Benutzerdefinierte Integrität: Anwendungsbezogene Bedingungen.
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