Datenbankentwurfsregel Nummer 1:
KEINE VERSTECKTEN JOINS !!!
. Bei Vertippen wiedersprüchlich (inkonsistent)
. Unnötig viel Speicherverbrauch (Reduntant)
. Wenn kein Mitarbeiter, keine Abteilung (deletion anonaly)
Mitarbeiter
Mitarb# Mitarbname Abt# Abtname
7 Müller 3 Verkauf
12 Maier 2 Einkauf
14 Fischer 3 Verkauf
13 Huber 1 Leitung
11 Reinauer 3 Verkauf
Statt dieser Tabelle könnte man auch
Employee Abteilung
Mitarb# Mitarbname Abt# Abt# Abtname
7 Müller 3 3 Verkauf
12 Maier 2 2 Einkauf
14 Fischer 3 1 Leitung
13 Huber 1
11 Reinauer 3
entwerfen
Die Tabelle ´Mitarbeiter´ ist somit join von ´Employee´ und ´Abteilung´
Mitarbeiter= select mitarb#, mitarbname,...
from employee, abteilung
where employee.abt#= abteilung.abt#
Eine Informationsverlustfreie Zerlegung (lossless decomposition/ nonloss decomposition) von ´Mitarbeiter´ in ´Employee´ und ´Abteilung´ ist also möglich
|