Implementierung von Datenbanksystemen - Cheatsheet
Rolle von Datenbanken in Unternehmen
Definition:
Stellen das Rückgrat der Informationsverarbeitung in Unternehmen dar. Ermöglichen effiziente Verwaltung großer Datenmengen und unterstützen Entscheidungsprozesse.
Details:
- Speicherung und Verwaltung von Kundendaten (\textit{Customer Relationship Management, CRM})
- Betrieb von ERP-Systemen (\textit{Enterprise Resource Planning})
- Analyse großer Datenmengen (\textit{Big Data Analytics})
- Sicherung und Wiederherstellung von Daten (\textit{Backup und Recovery})
- Unterstützung bei der Einhaltung von gesetzlichen Vorschriften (\textit{Compliance})
Relationales Modell und Relationale Algebra
Definition:
Relationales Modell: Daten werden in Tabellen (Relationen) organisiert. Relationale Algebra: Menge von Operationen, um Abfragen auf den Relationen zu formulieren.
Details:
- Relationale Algebra: Operationen: Selektionsoperator \(\sigma\), Projektionsoperator \(\Pi\), Vereinigungsoperator \(\cup\), Differenzoperator \(\setminus\), kartesisches Produkt \(\times\), Verbundoperator \(\bowtie\)
- Schlüsselkonzepte im relationalen Modell: Attribut, Tupel, Relation, Primärschlüssel, Fremdschlüssel
- Abgeschlossenheit: Resultat einer relationalen Algebra-Operation ist wieder eine Relation
SQL-Befehle und Joins
Definition:
SQL-Befehle zur Datenmanipulation und -abfrage. Joins verbinden Datensätze aus mehreren Tabellen.
Details:
- SELECT: Datenabfrage
- INSERT: Dateneinfügung
- UPDATE: Datenaktualisierung
- DELETE: Datenlöschung
- INNER JOIN: Schnittmenge beider Tabellen
- LEFT JOIN: Alle Datensätze aus linker Tabelle, passende aus rechter
- RIGHT JOIN: Alle Datensätze aus rechter Tabelle, passende aus linker
- FULL JOIN: Alle Datensätze, wenn ein Match vorhanden
Normalisierung und Normalformen
Definition:
Prozess der Organisation von Datenbanken, um Redundanzen zu minimieren und Datenkonsistenz zu gewährleisten.
Details:
- 1. Normalform (1NF): Alle Attribute atomar
- 2. Normalform (2NF): 1NF + keine Teilabhängigkeiten
- 3. Normalform (3NF): 2NF + keine transitive Abhängigkeiten
- Boyce-Codd-Normalform (BCNF): Strengere Form der 3NF, jedes Attribut hängt nur von Schlüsselkandidaten ab
- 4. Normalform (4NF): 3NF + keine mehrwertigen Abhängigkeiten
- 5. Normalform (5NF): 4NF + keine Join-Abhängigkeiten
- Ziel: Minimierung von Datenanomalien (Einfüge-, Änderungs-, Löschanomalien)
Datenbankarchitektur und Speicherstrukturen
Definition:
Architektur und interne Speicherung von Daten in einem Datenbanksystem. Strukturiert die Art, wie Daten gespeichert, abgerufen und verwaltet werden.
Details:
- Schichtenarchitektur: Anwendungs-, logische, physische Schicht
- Speicherhierarchie: Zwischenspeicher, Hauptspeicher, Festplattenspeicher
- Puffermanagement: steht zwischen Hauptspeicher und Plattenspeicher
- Indexstrukturen: B-Bäume, Hash-Tabellen
- Speicherorganisation: Zeilen- vs. Spaltenorientierung
- Datenseiten: kleinste Einheiten der Datenverwaltung auf Festplatte
- Transaktionsmanagement: Recovery, Concurrency Control
- Verschachtelung: zusammengesetzte Datenstrukturen für optimierte Zugriffe
Indexierung und Datenbanktuning
Definition:
Optimierung der Abfrageleistung und Speichernutzung durch geeignete Indexierung und Anpassung von Datenbankparametern.
Details:
- Indexarten: Clustered, Non-Clustered, Bitmap, B-Tree
- Indexauswahl abhängig von Abfrageprofil, Datenveränderungen und Datenvolumen
- Abwägung zwischen Abfragegeschwindigkeit und Speicherplatz
- Datenbanktuning: Anpassung von Parametern wie Puffergrößen, Cache-Strategien und Parallelisierung
- Verwendung von EXPLAIN-Statements zur Abfrageanalyse
- Partitionierung großer Tabellen zur Effizienzsteigerung
Transaktionsmanagement und ACID-Prinzipien
Definition:
Verwaltung von Datenbanktransaktionen zur Gewährleistung der ACID-Eigenschaften; entscheidend für die Konsistenz und Zuverlässigkeit von Datenbanksystemen
Details:
- Atomicity (Atomarität): Alle Operationen einer Transaktion werden komplett oder gar nicht ausgeführt.
- Consistency (Konsistenz): Eine Transaktion führt einen konsistenten Zustand in einen anderen konsistenten Zustand über.
- Isolation (Isolation): Transaktionen sind voneinander isoliert und beeinflussen sich nicht gegenseitig.
- Durability (Dauerhaftigkeit): Nach Abschluss der Transaktion bleiben die Änderungen dauerhaft gespeichert, auch bei Systemausfällen.
- ACID-Eigenschaften werden durch Transaktionsprotokolle, Sperrmechanismen und Wiederherstellungsverfahren sichergestellt.
Verteilte Datenbanksysteme und Konsistenz
Definition:
Verteilte Datenbanksysteme ermöglichen die Verwaltung von Daten über mehrere Standorte hinweg. Konsistenz bezieht sich auf die Garantie, dass alle Replikate derselben Daten denselben Zustand haben.
Details:
- ACID-Eigenschaften: Atomicity, Consistency, Isolation, Durability
- CAP-Theorem: Konsistenz, Verfügbarkeit, Partitionstoleranz - nur 2 von 3 können gleichzeitig garantiert werden
- Replikationsstrategien: synchrone vs. asynchrone Replikation
- Quorum-basierte Protokolle: Lesen/Schreiben-Konzepte zur Sicherstellung der Konsistenz
- Verteilte Transaktionen: Zwei-Phasen-Commit (2PC)
- Eventuelle Konsistenz: schwächere Konsistenzgarantien, oft in NoSQL-Datenbanken