Normalisierung - Skript Flashcards
1
Q
Was ist die Idee hinter Normalisierung?
A
- Daten schrittweise auf mehrere Tabellen verteilen
- die Regeln von Codd umsetzen
- wesentliche Ziele:
1. Konsistente Datenhaltung
2. keine Redundanzen
2
Q
Welche Anomalien können bei DB entstehen?
A
- Einfügeanomalie -> nicht vollständige Eingaben, z.B. ohne Primärschlüssel führen dazu, dass neue Tupel für Relationen nicht angelegt werden können
- Änderungsanomalie -> besonders bei Redundanzen, Änderung an einer der doppelten Werte ändert nur einen der Werte und führt zu Inkonsistenzen
- Löschanomalie -> entsteht wenn man z.B. das Schlüsselattribut löscht und damit alle Daten unnutzbar macht, die dieses Attribut verwenden
3
Q
Sind NF immer sinnvoll?
A
- NF sind keine Pflicht, führen in der Regel immer zu mehr Relationen, was nicht immer gewünscht sein kann
- aufgrund von Performance kann es sinnvoll sein auf vollständige Normalisierung zu verzichten
4
Q
Wie viele NF gibt es?
A
- Codd hat ursprünglich 3 vorgeschlagen
- die NF bauen aufeinander auf, müssen also der Reihe nach erfüllt werden
- Insgesamt gibt es 5, aber nur die ersten drei sind relevant
5
Q
Was ist die erste Normalform?
A
- Relation ist in der ersten NF wenn alle Attribute atomar sind
- atomar heißt, die Werte des Attributs lassen sich nicht mehr weiter unterteilen
- Spalten mit gleichartigem Inhalt sollen zusammengefasst werden
- Bsp: Kind1, Kind2, Kind3 zusammenfassen
- dadurch können Redundanzen entstehen, die dann in der 2. NF behoben werden
6
Q
Was ist die zweite Normalform?
A
- funktionale Abhängigkeit -> B ist von A funktional abhängig, wenn für jeden Wert von A genau ein Wert B existiert, B hängt von A ab
- voll funktional abhängig -> bedeutet, man kann aus einer Attributmenge a, welche von der Menge b abhängig ist, kein Element entfernen, da sonst keine Funktionale Abhängigkeit mehr bestehen würde
- jedes Nichtprimärattribut muss voll funktional abhängig von jedem Schlüsselkandidaten sein
7
Q
Was ist die dritte Normalform?
A
- transitive Abhängigkeiten -> Abhängigkeit von Nichtprimärattributen untereinander
- Jedes Nichtprimärattribut muss nicht-transitiv abhängig von jedem Schlüsselkandidaten sein
- Spalten, die nicht in Abhängigkeit von Primärschlüssel einer Tabelle stehen müssen dafür in eine eigene Tabelle ausgelagert werden
8
Q
Welche Anforderungen an eine Normalisierung gibt es?
A
- Aufspaltung in Relationen muss verlustfrei sein
- Es darf keine Information verloren gehen
- es dürfen keine falschen Informationen entstehen
- Integritätsbedingungen dürfen nicht verlorengehen
9
Q
Welche allgemeinen Hinweise zur Normalisierung gibt es?
A
- Normalformen sind Richtlinien für guten DB-Entwurf, aber kein Zwang
- Strikte Normalisierung führt zu vielen Relationen
- Normalisierung sollte nie losgelöst vom Kontext der DB erfolgen
- je weiter man normalisiert, umso größer muss das Hintergrundwissen über die Daten sein