PPT

Werbung
Übung Datenbanksystem
Relationale Algebra
6.11.2002
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Relationales Modell
Formal:
Algebra mit Trägermenge Kreuzprodukt der Domänen und
generischen Operatoren
Sprachgebrauch:
• Relationen: Tabellen
• Spalten
• Tupel: Zeilen
Wichtig:
• Spalten: feste Zahl, geordnet
• Tupel: verschiedene Zahl, nicht geordnet
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Relationale Operatoren
• Mengenoperatoren: , , – Schema muss gleich sein
– bei Vereinigung Duplikatelimination
• Kreuzprodukt x
• Selektion s
• Projektion p
– Ebenfalls Duplikatelemination
• Umbenennung r
• Join
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 1: Überblick
Datenbank
• Teile:
T (TNR, TBEZ, TGEW)
• Lieferant:
L (LNR, LNAME, LORT)
• Lieferung: LF (TNR, LNR,
DATUM, MENGE)
• Stückliste: STL (GTNR,
KTNR, ANZAHL)
• Lagerposition: LP(ORT,
TNR, MENGE)
Übung Datenbanksysteme WS 2002/2003
•
•
•
•
•
•
•
TNR
Teilnummer
TBEZ
Teilbezeichnung
TGEW
Teilgewicht
LNR Lieferantennummer
LNAME Lieferantenname
LORT
Lieferantenort
GTNR/KTNR
Teilenummer des
Gruppen/Komponententeil
• ORT
Lagerort
16.05.2016
Aufgabe 1a
π LNAME ( L
π LNR ( σ
( π LNR (σ (TNR = 15) (LF)) –
(TNR ≠ 15) (LF))))
???
Einträge
in dieder
Tabelle
Lieferung,
Lieferantennamen
Liefernummer
der
Lieferungen,
Lieferungen,
Liefernummer
der
Lieferungen,
Lieferungen,
Lieferanten
in denen
zu
den
nurLieferungen,
Teil 15 vorkommt
in
denen
Teil
15
vorkommt.
in in
denen
indie
denen
nur
Teil
Teil
15
geliefert
vorkommt
wurde
denen
Teil
1515
nicht
vorkommt
nur
Teil
15
enthalten
Lieferanten, die nur Teil 15 geliefert haben
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 1b
• πLNAME ( L σ (DATUM = 17.11.2001 AND
( LF
σ (TBEZ=’NAGEL’) (T)))
MENGE> 1000)
Namen
Alle Teile,
der
Lieferungen
Lieferungen
Lieferanten,
die “Nagel”
aller
aller
die
genannt
“Nägel”
“Nägel”
am 17.11.2001
werden
am 17.11.2001
mehr als
mit 1000
mehr Stück
als 1000 Stück
von irgendeinem Nagel geliefert haben
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 1c
π GTNR ( STL
(KTNR = TNR)
σ (TBEZ = ‘SCHRAUBE’) (T))
Aus
derdie
Stückliste
dieheißen
Bauteile,
Teile,
Schraube
in denen Schrauben (direkt) verwendet werden
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 1d
• π ORT ( LP (TNR = TNR) LF
s (LORT=’DARMSTADT’) L)
Lagerort
der
Teile,
dieDarmstadt
von Lieferanten
Lieferungen
von
Lieferanten
aus Darmstadt
Lieferanten
aus
aus Darmstadt geliefert wurden
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2
Schema der Datenbank:
•
•
•
•
Produkt:
PC:
Laptop:
Drucker:
(Hersteller, Modell, Typ)
(Modell,Mhz,RAM,HD,OL,Preis)
(Modell,Mhz,RAM,HD,Display,Preis)
(Modell,Farbe, Druckverfahren ,Preis)
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2a)
Welche PC-Modelle haben eine
Geschwindigkeit von mindestens 1000?
pMODELL s
(PC)
(MHZ>=1000)
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2b)
Welche Hersteller produzieren Laptops mit einer
Festplattenkapazität von mindestens zehn Gigabytes?
pHERSTELLER (Produkt
Produkt
Hersteller
Hersteller
Modell
Typ
A
A
B
C
C
s(HD>=10) (Laptop) )
Hersteller
TypModell A Modell
Mhz RAM
Mhz
Laptop
RAM
HD
Display
HD Display
Preis Preis
1200
256
256
20
20
15.1 15.1
2499 2499
C
3456Laptop
Laptop3456 C 1200
3456
4711Laptop
Drucker8739 C 8739
933
933
128
128
15
1514
141799 1799
C
8739Laptop
Laptop1445
1445
866
866
128
128
10
1012
121500 1500
1445
5093
400
64
6
14
Laptop
Übung Datenbanksysteme WS 2002/2003
999
16.05.2016
Aufgabe 2c)
Finden Sie die Modellnummer und den Preis aller
Produkte von Hersteller B
Q1: s(Hersteller=“B“)(Produkt)
p Modell,Preis(Q1
PC)  p Modell,Preis(Q1
 p Modell,Preis(Q1
Laptop)
Drucker)
alternativ (und vermutlich besser)
Q1
(p Modell, Preis(PC)  p Modell, Preis (Laptop)
 p Modell,Preis(Drucker))
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2d)
Finden Sie die Modellnummer aller
Farblaserdrucker
pModells(Druckverfahren=“Laser“ AND Farbe=True)(Drucker)
Mehrere Bedingungen werden in einer Selektion kombiniert
oder in mehrere einzelne Selektionen getrennt
pModells(Druckverfahren=“Laser“) (s(Farbe=True)(Drucker))
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2e)
Finden Sie die Hersteller, die Laptops, aber keine
PCs herstellen
Lösungsidee: Hersteller Laptops – Hersteller PCs
Q1: pHersteller(Produkt
Laptop)
Hersteller, die Laptops produzieren
Q2: pHersteller (Produkt
PC)
Hersteller, die PCs produzieren
Ergebnis: Q1-Q2
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2f)
Finden Sie die Festplattengrößen, die in zwei oder
mehr PCs vorkommen.
Lösungsidee: Paare mit gleicher Kapazität finden
pPC1.HD(rPC1(PC)
rPC2(PC))
•
•
•
(PC1.HD=PC2.HD, PC1.Modell≠PC2.Modell)
Umbenennung, um „gleiche“ Tabelle getrennt
anzusprechen
Paar des identischen Modells muss vermieden werden
Projektion entfernt Duplikate der Kapazitäten
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2g)
Finden Sie die Paare von PC(-Modellen), die sowohl die
gleiche Taktfrequenz als auch die gleiche Menge an
Hauptspeicher haben. Jedes Paar soll nur einmal
aufgeführt werden, also nur(i,j) und nicht auch (j,i)
Lösungsidee: wie in der letzten Aufgabe, aber das erste
Element im Paar muss immer die größere Modellnummer
haben
pPC1.Modell, PC.Modell(rPC1(PC)
(PC1.Mhz=PC.Mhz AND
PC1.RAM=PC.RAM AND PC1.Modell>PC.Modell)(PC)
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2h)
Finden Sie die Hersteller, die mindestens zwei verschiedene
Computer (PCs und Laptops) mit einer Taktfrequenz größer als
700 herstellen.
Lösungsidee: wie in den letzten beiden Aufgaben, aber einiges an
„Vorarbeit“ notwendig
Q1: pModell(sMhz>=700)(PC)  pModell(sMhz>=700)(Laptop)
Die Modellnummer alles PCs und Laptops mit mindestens 700Mhz
Q2: Q1
Hersteller
Hersteller der Produkte finden
Q3: Q2
(Q2.Hersteller=Q2a.Hersteller AND Q2.Modell ≠ Q2a.Modell)
rQ2aQ2
Selfjoin um Paare zu finden, bei denen der Hersteller gleich ist, aber
das Modell unterschiedlich
Ergebnis: pQ2.Hersteller (Q3)
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2i)
Finden Sie den/die Hersteller des Computers (PC und Laptop) mit
der höchsten Taktfrequenz.
Problem: In der (normalen) relationalen Algebra hat wir kein
max(x)
Lösungsidee: alle Computer entfernen, die langsamer als ein
anderer sind
Q1: pModell,Mhz(PC)  pModell,Mhz(Laptop)
Modellnummer und Geschwindigkeit von allen PCs und Laptops
Q2: rComp2(Q1)
(Comp2.Mhz<Q1.Mhz)
Q1
Suche nach den allen Computern, die langsamer sind als ein anderer
Computer
Q3: rComp2(Q1) - pComp2.Modell,Comp2.Mhz(Q2)
Entfernen der langsamen Computer
pComp2.Hersteller(Q3
Produkt)
Finden der Hersteller und Projektion darauf
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2j)
Finden Sie die Hersteller, die PCs mit mindestens drei verschiedenen
Taktfrequenzen herstellen.
Problem: Wir haben auch kein count(x)
Lösungsidee: Wir brauchen Tripel vom gleichen Hersteller mit drei
verschiedenen Taktfrequenzen
Q1: p Hersteller, Mhz (Produkt
PC)
Hersteller und Taktfrequenzen von allen PCs, ohne Duplikate
Q2: rQ1a(Q1)
(Q1a.Hersteller=Q1.Hersteller AND Q1a.Mhz≠Q1.Mhz)
Q1
Paare von verschiedener Taktfrequenz vom selben Hersteller
Q3: rQ1b(Q1)
Q2
(Q1b.Hersteller = Q1.Hersteller AND Q1b.Mhz ≠ Q1.Mhz AND Q1b.Mhz ≠ Q1a.Mhz)
Erweiterung der Paare zu Tripeln mit drei verschiedenen Taktfrequenzen, aber
demselben Hersteller
pQ1.Hersteller (Q3)
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Aufgabe 2k)
Finden Sie die Hersteller, die genau drei verschiedene Modelle von PCs
produzieren.
Problem: Genau x ist anders als mindestens x
Lösungsidee: Von den „mindestens drei“ die „mindestens vier“ entfernen
Q1: pHersteller, Modell (Produkt PC)
Hersteller und Modellnummer aller PCs
Q2: Q1
(Q1.Hersteller=Q1a.Hersteller AND Q1.Modell ≠ Q1a.Modell)
rQ1a(Q1)
wie h) Paare unterschiedlicher Modelle vom selben Hersteller
Q3: Q2
(Q2.Hersteller=Q1b.Hersteller AND Q2.Modell ≠ Q1b.Modell AND Q1a.Modell ≠ Q1b.Modell)
rQ1b(Q1)
Tripel unterschiedlicher Modelle vom selben Hersteller
Q4: Q3
(Q3.Hersteller=Q1c.Hersteller AND Q3.Modell ≠ Q1c.Modell AND Q1a.Modell ≠ Q1c.Modell
AND Q1b.Modell ≠ Q1c.Modell )
rQ1c(Q1)
Quadrupel unterschiedlicher Modelle vom selben Hersteller
Q3-Q4
Übung Datenbanksysteme WS 2002/2003
16.05.2016
Herunterladen