20
Übung Datenbanksysteme WS 2003/2004 08/28/22 Übung Datenbanksysteme Relationale Algebra 10.11.2003

Übung Datenbanksysteme Relationale Algebra

  • Upload
    chin

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Übung Datenbanksysteme Relationale Algebra. 10.11.2003. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Übung DatenbanksystemeRelationale Algebra

10.11.2003

Page 2: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Relationales ModellFormal: Algebra mit Trägermenge (Kreuzprodukt der Domänen) und

generischen OperatorenSprachgebrauch:• Relationen: Tabellen• Spalten• Tupel: ZeilenWichtig:• Spalten: feste Zahl, geordnet • Tupel: verschiedene Zahl, nicht geordnet

Page 3: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Relationale Operatoren• Mengenoperatoren: , , -

– Schema muss gleich sein– bei Vereinigung Duplikatelimination

• Kreuzprodukt x • Selektion • Projektion

– Ebenfalls Duplikatelemination• Umbenennung • Join

Page 4: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 1: ÜberblickDatenbank• 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

Page 5: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

Page 6: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

Page 7: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

Page 8: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

Page 9: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 2Schema 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)

Page 10: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 2a)Welche PC-Modelle haben eine

Geschwindigkeit von mindestens 1000?

(PC) (MHZ>=1000)MODELL

Page 11: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

LaptopProduktModell 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

Page 12: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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))

Page 13: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 2d)Finden Sie die Modellnummer aller

FarblaserdruckerModell(Druckverfahren=“Laser“ AND Farbe=True)(Drucker)

Mehrere Bedingungen werden in einer Selektion kombiniertoder in mehrere einzelne Selektionen getrennt

Modell(Druckverfahren=“Laser“) (Farbe=True)(Drucker))

Page 14: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 2e)Finden Sie die Hersteller, die Laptops, aber keine

PCs herstellenLösungsidee: Hersteller Laptops – Hersteller PCs

Q1: Hersteller(Produkt Laptop)Hersteller, die Laptops produzieren

Q2: Hersteller (Produkt PC)Hersteller, die PCs produzieren

Ergebnis: Q1-Q2

Page 15: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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

Page 16: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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)

Page 17: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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) Q2aQ2Selfjoin um Paare zu finden, bei denen der Hersteller gleich ist, aber das

Modell unterschiedlich

Ergebnis: Q2.Hersteller (Q3)

Page 18: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/23

Aufgabe 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 sindQ1: Modell,Mhz(PC) Modell,Mhz(Laptop)

Modellnummer und Geschwindigkeit von allen PCs und LaptopsQ2: Comp2(Q1) (Comp2.Mhz<Q1.Mhz) Q1

Suche 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

Page 19: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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) Q1Paare von verschiedener Taktfrequenz vom selben Hersteller

Q3: Q1b(Q1) (Q1b.Hersteller = Q1.Hersteller AND Q1b.Mhz ≠ Q1.Mhz AND Q1b.Mhz ≠ Q1a.Mhz) Q2Erweiterung der Paare zu Tripeln mit drei verschiedenen Taktfrequenzen, aber

demselben HerstellerQ1.Hersteller (Q3)

Page 20: Übung Datenbanksysteme Relationale Algebra

Übung Datenbanksysteme WS 2003/2004 04/22/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“ entfernenQ1: Hersteller, Modell (Produkt PC)

Hersteller und Modellnummer aller PCsQ2: Q1 (Q1.Hersteller=Q1a.Hersteller AND Q1.Modell ≠ Q1a.Modell) Q1a(Q1)

wie h) Paare unterschiedlicher Modelle vom selben HerstellerQ3: 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