0a.
Die zentrale Tabelle der Datenbank ist order_line - jedes bestellte Kleidungsstück entspricht einer Zeile in dieser Tabelle. Viele Spalten in dieser Tabelle sind Referenzen auf andere Tabellen.
Results
Die Spalten der Tabelle order_line haben folgende Bedeutung:
order_ref
Diese Spalte ist ein Fremdschlüssel zur Tabelle dress_order. Über die Tabelle dress_order können Informationen wie das Bestelldatum und die Kundennummer zu einem bestimmten Kleidungsstück ermittelt werden.
line_no
Die Spalte wird benötigt, um unterschiedliche Posten derselben Bestellung zu unterscheiden - z.B. hat Bestellnummer 5 drei Posten (=line_no) - 1, 2 und 3.
ol_style
Verweist auf das bestellte Kleidungsstück, z.B. verweist ol_style = 1 auf Hosen. Um das entspr. Kleidungsstück zu ermitteln, ist ein Join zur Tabelle garment (Kleidung) erforderlich.
ol_size
Hiermit wird die Kleidergröße des bestellten Stückes angegeben. Die Größe ist wichtig, um herauszufinden, wieviel Material zur Herstellung benötigt wird. Über die Tabelle quantities (Mengen) kann ermittelt werden, daß für Hosen (style = 1) der Größe 8 2,7 Meter benötigt werden, während man für Hosen der Größe 12 2,8 Meter benötigt.
ol_material
Zu jeder Bestellung wird das zu verwendende Material festgelegt. Diese Spalte stellt einen Join zur Tabelle material her, um eine Beschreibung oder die Kosten pro Meter zu ermitteln. Material 1 ist z.B. Seide, schwarz und kostet £7 pro Meter.
0b. Ein Beispiel für einen Join:
Um aus den Zahlen in order_line sinnvolle Werte zu erhalten, müssen Joins zu anderen Tabellen hergestellt werden. Um z.B. auf die Beschreibungen der Materialien zuzugreifen, ist ein Join zur Tabelle material erforderlich.
Hierzu wird die Tabelle material in die FROM-Klausel und die Join-Bedingung ebenfalls in die FROM- oder alternativ in die WHERE-Klausel eingetragen.
Results
Um die Join-Bedingung zwischen order_line und material zu finden, hilft ein Blick auf die folgende CREATE-Anweisung für die Tabelle order_line. Hier gibt es eine Zeile, die angibt, daß ol_material die Tabelle material referenziert (REFERENCES material). Die Referenz wird dabei zum Primärschlüssel der Tabelle material hergestellt.
Hinweis: Die Angabe der Join-Bedingung in der WHERE-Klausel funktioniert unter jedem Datenbanksystem. Alternativ kann auch die Notation nach ANSI-Standard verwendet werden, d.h. die Bedingung wird mittels JOIN-Klausel wird komplett in der FROM-Klausel angegeben:
FROM order_line JOIN material ON order_line.ol_material = material.material_no
0c.
Um die Beschreibung eines Kleidungsstückes zu erhalten, muß eine Join zur Tabelle garment hergestellt werden. Die Join-Bedingung besteht darin, daß ol_style in order_line mit der Spalte style_no in garment übereinstimmt.
Results
0d.
Werden die Beschreibung und das Material eines Kleidungsstückes benötigt, können die Tabellen material und garment mit der Tabelle order_line verbunden werden. Die Join-Bedingungen werden dabei mit "AND" kombiniert.
Results
0e.
In der Tabelle quantities ist gespeichert, wieviel Material für jedes Kleidungsstück für jede verfügbare Größe benötigt wird. Der Join zwischen den Tabellen order_line und quantities benötigt zwei Spalten. Das ist nötig, da quantities einen zusammengesetzter Primärschlüssel hat.
Results
0f.
Kunden geben Bestellungen auf - jede Bestellung enthält mehrere Zeilen - jede Zeile der Bestellung bezieht sich auf ein Kleidungsstück: