Übung Datenbanksystem Relationale Algebra
description
Transcript of Übung Datenbanksystem Relationale Algebra
Übung Datenbanksysteme WS 2002/2003 04/21/23
Übung Datenbanksystem
Relationale Algebra
6.11.2002
Übung Datenbanksysteme WS 2002/2003 04/21/23
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 04/21/23
Relationale Operatoren
• Mengenoperatoren: , , -– Schema muss gleich sein– bei Vereinigung Duplikatelimination
• Kreuzprodukt x • Selektion • Projektion
– Ebenfalls Duplikatelemination
• Umbenennung • Join
Übung Datenbanksysteme WS 2002/2003 04/21/23
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)
• TNR Teilnummer• TBEZ Teilbezeichnung• TGEW Teilgewicht• LNR Lieferantennummer• LNAME Lieferantenname• LORT Lieferantenort• GTNR/KTNR
Teilenummer des Gruppen/Komponententeil
• ORT Lagerort
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 1a
???Einträge in die Tabelle Lieferung, in denen Teil 15 vorkommt.
Liefernummer der Lieferungen,in denen Teil 15 vorkommt
Liefernummer der Lieferungen,in denen Teil 15 nicht vorkommt
Lieferungen, in denen nur Teil 15 vorkommtLieferanten zu den Lieferungen,
die nur Teil 15 enthalten
Lieferantennamen der Lieferungen, in denen nur Teil 15 geliefert wurde
π LNAME ( L ( π LNR (σ (TNR = 15) (LF)) –
π LNR ( σ (TNR ≠ 15) (LF))))
Lieferanten, die nur Teil 15 geliefert haben
Übung Datenbanksysteme WS 2002/2003 04/21/23
• πLNAME ( L σ (DATUM = 17.11.2001 AND MENGE> 1000) ( LF σ (TBEZ=’NAGEL’) (T)))
Aufgabe 1b
Alle Teile, die “Nagel” genannt werdenLieferungen 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
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 1c
π GTNR ( STL (KTNR = TNR)
σ (TBEZ = ‘SCHRAUBE’) (T))
Teile, die Schraube heißenAus der Stückliste die Bauteile, in denen Schrauben (direkt) verwendet werden
Übung Datenbanksysteme WS 2002/2003 04/21/23
• π ORT ( LP (TNR = TNR) LF (LORT=’DARMSTADT’) L)
Aufgabe 1d
Lieferanten aus DarmstadtLieferungen von Lieferanten aus DarmstadtLagerort der Teile, die von Lieferanten aus Darmstadt geliefert wurden
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 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)
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2a)
Welche PC-Modelle haben eine Geschwindigkeit von mindestens 1000?
(PC) (MHZ>=1000)MODELL
Übung Datenbanksysteme WS 2002/2003 04/21/23
(HD>=10) (Laptop)
Aufgabe 2b)
Welche Hersteller produzieren Laptops mit einer Festplattenkapazität von mindestens zehn Gigabytes?
Produkt )HERSTELLER (
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
LaptopProdukt
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
Hersteller
A
C
C
Hersteller
A
C
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2c)
Finden Sie die Modellnummer und den Preis aller Produkte von Hersteller B
Q1: (Hersteller=“B“)(Produkt)
Modell,Preis(Q1 PC) Modell,Preis(Q1 Laptop)
Modell,Preis(Q1 Drucker)
alternativ (und vermutlich besser)
Q1 ( Modell, Preis(PC) Modell, Preis (Laptop)
Modell,Preis(Drucker))
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2d)
Finden Sie die Modellnummer aller Farblaserdrucker
Modell(Druckverfahren=“Laser“ AND Farbe=True)(Drucker)
Mehrere Bedingungen werden in einer Selektion kombiniert
oder in mehrere einzelne Selektionen getrennt
Modell(Druckverfahren=“Laser“) (Farbe=True)(Drucker))
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2e)
Finden Sie die Hersteller, die Laptops, aber keine PCs herstellen
Lösungsidee: Hersteller Laptops – Hersteller PCs
Q1: Hersteller(Produkt Laptop)
Hersteller, die Laptops produzieren
Q2: Hersteller (Produkt PC)
Hersteller, die PCs produzieren
Ergebnis: Q1-Q2
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2f)
Finden Sie die Festplattengrößen, die in zwei oder mehr PCs vorkommen.
Lösungsidee: Paare mit gleicher Kapazität finden
PC1.HD(PC1(PC) (PC1.HD=PC2.HD, PC1.Modell≠PC2.Modell)
PC2(PC))
• Umbenennung, um „gleiche“ Tabelle getrennt anzusprechen
• Paar des identischen Modells muss vermieden werden• Projektion entfernt Duplikate der Kapazitäten
Übung Datenbanksysteme WS 2002/2003 04/21/23
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
PC1.Modell, PC.Modell(PC1(PC) (PC1.Mhz=PC.Mhz AND
PC1.RAM=PC.RAM AND PC1.Modell>PC.Modell)(PC)
Übung Datenbanksysteme WS 2002/2003 04/21/23
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: Modell(Mhz>=700)(PC) Modell(Mhz>=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) Q2aQ2
Selfjoin um Paare zu finden, bei denen der Hersteller gleich ist, aber das Modell unterschiedlich
Ergebnis: Q2.Hersteller (Q3)
Übung Datenbanksysteme WS 2002/2003 04/21/23
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 sindQ1: Modell,Mhz(PC) Modell,Mhz(Laptop)
Modellnummer und Geschwindigkeit von allen PCs und Laptops
Q2: Comp2(Q1) (Comp2.Mhz<Q1.Mhz) Q1Suche nach den allen Computern, die langsamer sind als ein anderer
Computer
Q3: Comp2(Q1) - Comp2.Modell,Comp2.Mhz(Q2)Entfernen der langsamen Computer
Comp2.Hersteller(Q3 Produkt)Finden der Hersteller und Projektion darauf
Übung Datenbanksysteme WS 2002/2003 04/21/23
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: Hersteller, Mhz (Produkt PC)
Hersteller und Taktfrequenzen von allen PCs, ohne Duplikate
Q2: Q1a(Q1) (Q1a.Hersteller=Q1.Hersteller AND Q1a.Mhz≠Q1.Mhz) Q1
Paare von verschiedener Taktfrequenz vom selben Hersteller
Q3: Q1b(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
Q1.Hersteller (Q3)
Übung Datenbanksysteme WS 2002/2003 04/21/23
Aufgabe 2k)Finden Sie die Hersteller, die genau drei verschiedene Modelle von PCs
produzieren.Problem: Genau x ist anders als mindestens xLösungsidee: Von den „mindestens drei“ die „mindestens vier“ entfernen
Q1: Hersteller, Modell (Produkt PC)
Hersteller und Modellnummer aller PCs
Q2: Q1 (Q1.Hersteller=Q1a.Hersteller AND Q1.Modell ≠ Q1a.Modell) Q1a(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)
Q1b(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 ) Q1c(Q1)
Quadrupel unterschiedlicher Modelle vom selben Hersteller
Q3-Q4