Zum Inhalt springen
Start Beiträge verschlagwortet mit "Datenbanken"
Stored Procedures
- Funktion, die Abfrage ausführt
- CALL / EXECUTE
Trigger
- Bedingung liegt vor -> Funktion ausführen
- Exceptions auslösbar
Views
- virtuelle Tabellen
- Sicht / Alias für eine Abfrage
- durch DBMS berechnet
- CREATE VIEW xyz AS SELECT …
Probleme
- Segmentierung (viele Tabellen)
- Schlüsselbeziehungen
- ext. Programmierschnittstellen (Mächtigkeit)
- Objekteigenschaften schlecht bis gar nicht abbildbar
Gründe der Normalisierung
- Erhöhung der Konsistenz – Daten sollen nur an einer Stelle gespeichert werden
- Vermeidung von Redundanz – Vermeidung von unnötiger Mehrfachspeicherung
- Vermeidung von Anomalien – Vorgänge für Einfügen, Ändern, Löschen unabhängig von anderen Daten
- klare Datenstrukturen – sinnvolles Verteilen von zusammengehörigen Daten
- praxisrelevant sind Normalisierungen bis zur 3. Normalform oder BCNF
Normalformen
1. Normalform
- atomare Strukturen, keine Listen/Mengen in einer Zeile
- keine wiederholenden Gruppen
2. Normalform
- Tabelle in 1NF und mit Schlüsselbeziehungen (Primär-, Fremd-)
- jedes Nichtschlüsselattribut ist voll funktional abhängig vom gesamten Primärschlüssel
3. Normalform
- Tabelle in 2NF und keine transitiven Abhängigkeiten von Nichtschlüsselattributen
Boyce-Codd-Normalform (BCNF)
- Verschärfung der 3NF: Für jede funktionale Abhängigkeit X->Y muss X ein Superschlüssel sein
4. Normalform
- Tabelle ist in BCNF und enthält keine problematischen mehrwertigen Abhängigkeiten
- unabhängige Mehrfachbeziehungen werden auf getrennte Tabellen aufgeteilt
5. Normalform
- Tabelle ist in 4NF und lässt sich nicht weiter verlustfrei durch Zerlegung in kleinere Tabellen aufteilen, ohne Informationsverlust oder künstliche Kombinationen
- Relationen (Tabellen)
- Attribute (Spalten)
- Tupel (Zeilen)