faecher:informatik:oberstufe:datenbanken:normalisierung:3_normalform:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:datenbanken:normalisierung:3_normalform:start [01.12.2020 09:34] sbelfaecher:informatik:oberstufe:datenbanken:normalisierung:3_normalform:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== 3. Normalform (3NF) ====== 
-<WRAP center important 90%> 
-Eine Datenbank/Relation befindet sich dann in der dritten Normalform (3NF), wenn die zweite Normalform erfüllt ist und keine so genannten transitiven Abhängigkeiten bestehen. 
-</WRAP> 
- 
-Das bedeutet Folgendes: Irgendein Feld eines Datensatzes ist von einem anderen Feld abhängig, das kein Primärschlüssel ist. 
- 
-Unsere Universaltabelle ist nach den Umformungen der vorigen Abschnitte bereits in der 3NF, dort kann man keine direkten Weiteroptimierungen mehr vornehmen. Zur weiteren Veranschaulichung kann man die folgenden Überlegungen heranziehen: 
- 
-Wir möchten die Zuverlässigkeit unserer Lieferanten erfassen und legen dazu eine Tabelle an, die die Lieferzeiten und die Zuverlässigkeiten erfassen soll 
- 
- 
-<code> 
-TABLE lieferqualitaet 
-+--+----------+----------------+--------+ 
-|id|lieferzeit|firma           |verlass | 
-+--+----------+----------------+--------+ 
-| 1|12h       |SupiTrans       |hoch    | 
-| 2|24h       |SupiTrans       |hoch    | 
-| 3| 8h       |HyperCompoGlobal|mittel  | 
-| 4| 4h       |SuperMegaNet    |saumäßig| 
-| 5|12h       |SuperMegaNet    |saumäßig| 
-| 6| 8h       |HyperCompoGlobal|mittel  | 
-| 7|irgendwann|Post AG         |saumäßig| 
-+--+----------+----------------+--------+ 
-</code> 
- 
-Hier gibt es eine transitive Abhängigkeit zwischen dem Nichtschlüsselattribut ''firma'' und dem Attribut ''verlass'': Wenn man weiss, wer der Lieferant ist, kann man auch direkt sagen, wie verlässlich dieser ist. Man muss also nicht bei jedem Datensatz mit der Lieferfirma SupiTrans dazuschreien, dass die Verlässlichkeit "hoch" ist, sondern man könnte ebensogut (und speicherplatzsparender) auf eine weitere Entität/Tabelle verweisen, in der die Verlässlichkeiten gespeichert sind - das stellt eine redundante Datenspeicherung dar, die man mit Hilfe einer weiteren Tabelle eliminieren kann. 
- 
-  
-<code> 
-TABLE: verlass 
-+--+--------+ 
-|id|verlass | 
-+--+--------+ 
-| 1|hoch    | 
-| 2|mittel  | 
-| 3|saumäßig| 
-+--+--------+ 
- 
-TABLE lieferqualitaet 
-+--+----------+----------------+--------+ 
-|id|lieferzeit|firma           |verlass | 
-+--+----------+----------------+--------+ 
-| 1|12h       |SupiTrans       |1       | 
-| 2|24h       |SupiTrans       |1       | 
-| 3| 8h       |HyperCompoGlobal|2       | 
-| 4| 4h       |SuperMegaNet    |3       | 
-| 5|16h       |SuperMegaNet    |3       | 
-| 6| 9h       |HyperCompoGlobal|2       | 
-| 7|irgendwann|Post AG         |3       | 
-+--+----------+----------------+--------+ 
-</code> 
- 
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (A1) === 
- 
-Man kann auch die Lieferzeiten noch in eine weitere Tabelle auslagern: 
- 
-<code> 
-TABLE: lieferzeiten 
-+--+-----------+ 
-|id|lieferzeit | 
-+--+-----------+ 
-| 1| 4         | 
-| 2| 8         | 
-| 3|12         | 
-| 4|24         | 
-| 5|unklar     | 
-+--+-----------+ 
-</code> 
- 
- 
  
  • faecher/informatik/oberstufe/datenbanken/normalisierung/3_normalform/start.1606811670.txt.gz
  • Zuletzt geändert: 01.12.2020 09:34
  • von sbel