Exkurs: Relationale DB und SQL (1)
Tabellenname Wetter
Ortsnr Ortsname Temperatur Luftdruck
1 Dresden 22 1012
2 Leipzig 20 1010
3 Berlin 25 998
… … … …
Attribut
Tupel, auch
Datensatz oder Zeile
Wert mit einem
Tabellen = Relationen Zeilen = Tupel
Datenbanken bestehen typischerweise aus mehreren Tabellen
= mehrere Relationen
→ Mengenorientierte Operationen – Relationenalgebra
Die Ausgabe ist immer wieder eine Relation, d.h. eine Tabelle
Peter Sobe Internettechnologien 98
Exkurs: Relationale DB und SQL (2)
Exkurs: Relationale DB und SQL (3)
Verk.
- Nr.
Produkt- ID
Anzahl Kunde-ID
1 T 4 42
2 A 2 42
3 K 1 20
4 A 3 20
5 G 1 17
6 T 8 17
7 B 4 20
… … … …
Produkt-ID Name Preis
T Tomate 0.20
A Apfelsaft 1.40
K Katzenfutter 2.30
G Gurke 0.55
B Bier 0.78
Kunde-ID Name Adresse
17 Peter 33200 Feldstadt
Am Markt 5
20 Kurt 33221 Bachhagen,
Hauptstr. 23
Entwurf durch Menschen mit Kenntnis des Diskursbereichs,
Vorzugsweise regelbasierter Entwurf
Verkauf Produkte
Kunden
Mengenorientierte Operationen:
Projektion – Auswahl spezieller Spalten
Selektion – Auswahl von Zeilen nach Bedingungen
Verbund (Join) – Kombination zweier Tabellen zu einer durch ein Verbundprädikat
Differenz – Entfernen von Zeilen einer Tabelle, die auch in einer zweiten enthalten sind
Durchschnitt – Ausgabe nur von den Zeilen, die in zwei Ausgangstabellen enthalten sind
Peter Sobe Internettechnologien 100
Exkurs: Relationale DB und SQL (4)
SQL-Anfrage-Grundstruktur
SELECT merkmale FROM tabelle [WHERE bedingung]
Projektion – Auswahl spezieller Spalten SELECT Name, Preis FROM Produkte
Selektion – Auswahl von Zeilen nach Bedingungen SELECT * FROM Produkte
WHERE Preis>1.00
Exkurs: Relationale DB und SQL (5)
Produkt- ID
Name Preis
T Tomate 0.20
A Apfelsaft 1.40
K Katzenfutter 2.30
G Gurke 0.55
B Bier 0.78
Produkt- ID
Name Preis
T Tomate 0.20
A Apfelsaft 1.40
K Katzenfutter 2.30
G Gurke 0.55
SQL-Anfragen
Verbund (Join) – Kombination zweier Tabellen zu einer durch ein Verbundprädikat
SELECT * FROM Verkauf AS v JOIN Produkte AS p WHERE v.Produkt-ID = p. Produkt-ID
Peter Sobe Internettechnologien 102
Exkurs: Relationale DB und SQL (6)
Verk.- Nr.
Produkt-ID Anzahl Kunde-ID
1 T 4 42
2 A 2 42
3 K 1 20
4 A 3 20
5 G 1 17
6 T 8 17
7 B 4 20
Name Preis
Tomate 0.20
Apfelsaft 1.40 Katzenfutter 2.30 Apfelsaft 1.40
Gurke 0.55
Tomate 0.20
Bier 0.78
Verkauf Produkte