
SQL-Skripte für die Datenbank.
| 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.
|
|---|
order_line haben folgende Bedeutung:
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) - 1, 2 und 3.ol_style = 1 auf Hosen. Um das entspr. Kleidungsstück zu ermitteln, ist ein Join zur Tabelle garment (Kleidung) erforderlich.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.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 Hierzu wird die Tabelle |
|---|
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.
CREATE TABLE order_line ( order_ref INTEGER NOT NULL REFERENCES dress_order, line_no INTEGER NOT NULL, ol_style INTEGER REFERENCES garment, ol_size INTEGER NOT NULL, ol_material INTEGER REFERENCES material, PRIMARY KEY (order_ref, line_no), FOREIGN KEY (ol_style, ol_size) REFERENCES quantities );
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.
|
|---|
| 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.
|
|---|
| 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.
|
|---|
| 0f | Kunden geben Bestellungen auf - jede Bestellung enthält mehrere Zeilen - jede Zeile der Bestellung bezieht sich auf ein Kleidungsstück: |
|---|