Title:
1Übung DatenbanksystemeRelationale Algebra
2Relationales 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
3Relationale Operatoren
- Mengenoperatoren ?, ?, -
- Schema muss gleich sein
- bei Vereinigung Duplikatelimination
- Kreuzprodukt x
- Selektion s
- Projektion p
- Ebenfalls Duplikatelemination
- Umbenennung r
- Join
4Aufgabe 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)
- TNR Teilnummer
- TBEZ Teilbezeichnung
- TGEW Teilgewicht
- LNR Lieferantennummer
- LNAME Lieferantenname
- LORT Lieferantenort
- GTNR/KTNR
- Teilenummer des Gruppen/Komponententeil
- ORT Lagerort
5Aufgabe 1a
- p LNAME ( L ( p LNR (s (TNR 15) (LF))
p LNR ( s (TNR ? 15) (LF))))
???
Einträge in die Tabelle Lieferung, in denen Teil
15 vorkommt.
Liefernummer der Lieferungen, in denen Teil 15
vorkommt
Lieferantennamen der Lieferungen, in denen nur
Teil 15 geliefert wurde
Liefernummer der Lieferungen, in denen Teil 15
nicht vorkommt
Lieferungen, in denen nur Teil 15 vorkommt
Lieferanten zu den Lieferungen, die nur Teil 15
enthalten
Lieferanten, die nur Teil 15 geliefert haben
6Aufgabe 1b
- pLNAME ( L s (DATUM 17.11.2001 AND MENGEgt
1000) ( LF s (TBEZNAGEL) (T)))
Alle Teile, die Nagel genannt werden
Lieferungen aller Nägel
Lieferungen aller Nägel am 17.11.2001 mit mehr
als 1000 Stück
Namen der Lieferanten, die am 17.11.2001 mehr
als 1000 Stück von irgendeinem Nagel geliefert
haben
7Aufgabe 1c
- p GTNR ( STL (KTNR TNR)
- s (TBEZ SCHRAUBE) (T))
Aus der Stückliste die Bauteile, in denen
Schrauben (direkt) verwendet werden
Teile, die Schraube heißen
8Aufgabe 1d
- p ORT ( LP (TNR TNR) LF s
(LORTDARMSTADT) L)
Lagerort der Teile, die von Lieferanten aus
Darmstadt geliefert wurden
Lieferungen von Lieferanten aus Darmstadt
Lieferanten aus Darmstadt
9Aufgabe 2
- Schema der Datenbank
- Produkt (Hersteller, Modell, Typ)
- PC (Modell,Mhz,RAM,HD,OL,Preis)
- Laptop (Modell,Mhz,RAM,HD,Display,Preis)
- Drucker (Modell,Farbe, Druckverfahren ,Preis)
10Aufgabe 2a)
- Welche PC-Modelle haben eine Geschwindigkeit von
mindestens 1000?
(PC)
pMODELL
s (MHZgt1000)
11Aufgabe 2b)
- Welche Hersteller produzieren Laptops mit einer
Festplattenkapazität von mindestens zehn
Gigabytes?
s(HDgt10) (Laptop)
Produkt
)
pHERSTELLER (
Laptop
Produkt
Hersteller
A
C
C
Hersteller
A
C
Modell Mhz RAM HD Display Preis
3456 1200 256 20 15.1 2499
8739 933 128 15 14 1799
1445 866 128 10 12 1500
5093 400 64 6 14 999
Hersteller Modell Typ
A 3456 Laptop
B 4711 Drucker
C 8739 Laptop
C 1445 Laptop
Modell Mhz RAM HD Display Preis
3456 1200 256 20 15.1 2499
8739 933 128 15 14 1799
1445 866 128 10 12 1500
Hersteller Typ Modell Mhz RAM HD Display Preis
A Laptop 3456 1200 256 20 15.1 2499
C Laptop 8739 933 128 15 14 1799
C Laptop 1445 866 128 10 12 1500
12Aufgabe 2c)
- Finden Sie die Modellnummer und den Preis aller
Produkte von Hersteller B - Q1 s(HerstellerB)(Produkt)
- p Modell,Preis(Q1 PC) ? p Modell,Preis(Q1
Laptop) ? p Modell,Preis(Q1 Drucker) - alternativ (und vermutlich besser)
- Q1 (p Modell, Preis(PC) ? p Modell, Preis
(Laptop) ? p Modell,Preis(Drucker))
13Aufgabe 2d)
- Finden Sie die Modellnummer aller
Farblaserdrucker - pModells(DruckverfahrenLaser AND
FarbeTrue)(Drucker) - Mehrere Bedingungen werden in einer Selektion
kombiniert - oder in mehrere einzelne Selektionen getrennt
- pModells(DruckverfahrenLaser)
(s(FarbeTrue)(Drucker))
14Aufgabe 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
15Aufgabe 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) (PC1.HDPC2.HD,
PC1.Modell?PC2.Modell) rPC2(PC)) - Umbenennung, um gleiche Tabelle getrennt
anzusprechen - Paar des identischen Modells muss vermieden
werden - Projektion entfernt Duplikate der Kapazitäten
16Aufgabe 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.MhzPC.Mhz AND PC1.RAMPC.RAM AND
PC1.ModellgtPC.Modell)(PC)
17Aufgabe 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(sMhzgt700)(PC) ? pModell(sMhzgt700)(La
ptop) - Die Modellnummer alles PCs und Laptops mit
mindestens 700Mhz - Q2 Q1 Hersteller
- Hersteller der Produkte finden
- Q3 Q2 (Q2.HerstellerQ2a.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)
18Aufgabe 2i)
- Finden Sie den/die Hersteller des Computers (PC
und Laptop) mit der höchsten Taktfrequenz. - Problem In der (normalen) relationalen Algebra
haben 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.MhzltQ1.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
19Aufgabe 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.HerstellerQ1.Hersteller
AND Q1a.Mhz?Q1.Mhz) Q1 - Paare von verschiedener Taktfrequenz vom selben
Hersteller - Q3 rQ1b(Q1) (Q1b.Hersteller Q1.Hersteller
AND Q1b.Mhz ? Q1.Mhz AND Q1b.Mhz ? Q1a.Mhz) Q2 - Erweiterung der Paare zu Tripeln mit drei
verschiedenen Taktfrequenzen, aber demselben
Hersteller - pQ1.Hersteller (Q3)
20Aufgabe 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.HerstellerQ1a.Hersteller AND
Q1.Modell ? Q1a.Modell) rQ1a(Q1) - wie h) Paare unterschiedlicher Modelle vom selben
Hersteller - Q3 Q2 (Q2.HerstellerQ1b.Hersteller AND
Q2.Modell ? Q1b.Modell AND Q1a.Modell ?
Q1b.Modell) rQ1b(Q1) - Tripel unterschiedlicher Modelle vom selben
Hersteller - Q4 Q3 (Q3.HerstellerQ1c.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