Datenbanksysteme: 1. Hausübung von Rami Swailem pdfauthor

Werbung
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Hausübung 1
Name: Swailem
Vorname: Rami
Matrikelnummer:
Testat
Datenbanksysteme Hausübung 1
2. Relationale Algebra
a
1
3
R
1. R o
nS
a
1
b
2
c
3
x
1
a
1
2
x
1
2
y
1
2
// alle möglichen Kombinationen.
b
2
2
2
2
c
3
1
3
1
S.a
1
1
2
2
DbSysI.Hausuebung1.tex,v,1.6,December 12, 2005
b
2
2
2
b
2
2
x
1
1
2
2
y
1
1
2
2
// nur passende Kombinationen + Bedingung: R.a 6= x.
c
1
3
1
4. R o
nb=x S
R.a
1
3
S
y
1
3. R o
nR.a6=x S
R.a
3
1
3
c
3
1
// nur passende Kombinationen
2. R × S
R.a
1
3
1
3
b
2
2
S.a
1
2
2
x
1
2
2
y
1
2
2
// nur passende Kombinationen + Bedingung: b = x.
c
3
1
S.a
2
2
Wintersemester 2005/06
x
2
2
y
2
2
1
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Hausübung 1
3. Mauterfassung
1. Erstellen Sie eine Liste aller Halter mit ihren KFZ. Die Liste soll Name, Vorname und Ort
des Halters sowie Kennzeichen und Gewicht des jeweiligen KFZ enthalten und alphabetisch
nach Name und Vorname sortiert sein.
s e l e c t Name, Vorname , Ort , Kennzeichen , Gewicht
from H a l t e r j o i n KFZ on
H a l t e r . p _ i d =KFZ . p _ i d
order by Name, Vorname
2. Welche Kraftfahrzeuge sind noch nie gebührenpflichtig auf einer Autobahn gefahren? Listen
Sie die Kennzeichen in alphabetischer Reihenfolge auf.
s e l e c t Kennzeichen from KFZ
where Kennzeichen not i n
( s e l e c t Kennzeichen from E i n z e l f a h r t )
order by Kennzeichen
3. Erstellen Sie eine Liste aller Personen in der Tabelle Halter, zu denen kein KFZ registriert ist.
Die Liste (Name, Vorname und Ort des Halters) soll alphabetisch nach Name und Vorname
sortiert sein.
s e l e c t Name, Vorname , O r t from H a l t e r
where p _ i d not i n
( s e l e c t p _ i d from KFZ )
order by Name, Vorname
4. Gibt es mehrfach vorhandene Namen (Vorname, Nachname) in der Tabelle Halter, bei denen
identische Anschriften (PLZ, Ort, Strasse) gespeichert sind? Listen Sie solche Namen mit
Anschrift und P_ID auf.
s e l e c t a . p_id , a . Name, a . Vorname , a . PLZ , a . Ort , a . S t r a s s e
from H a l t e r a , H a l t e r b
where a . Name = b . Name and a . Vorname = b . Vorname and
a . PLZ = b . PLZ and a . S t r a s s e = b . S t r a s s e and
a . p_id < b . p_id
5. Wie groß ist das durchschnittliche Gewicht aller KFZ?
s e l e c t avg ( Gewicht ) as D u r c h s c h n i t t from KFZ
DbSysI.Hausuebung1.tex,v,1.6,December 12, 2005
6. Erstellen Sie eine statistische Verteilung der Benutzung der einzelnen Mautstellen zur
Einfahrt für das Jahr 2005.
s e l e c t code , bezeichnung , count ( ∗ ) as ’ Anzahl ’ ,
count ( ∗ ) ∗ 1 0 0 / ( s e l e c t count ( ∗ ) from E i n z e l f a h r t
where year ( datum_e ) = 2005) as Prozent
from E i n z e l f a h r t j o i n M a u t s t e l l e
on E i n z e l f a h r t . code_e = M a u t s t e l l e . code
where year ( datum_e ) = 2005
group by code , bezeichnung
Wintersemester 2005/06
2
Rami Swailem
FH Gießen-Friedberg
Datenbanksysteme
Hausübung 1
7. Wie hoch ist die Benutzungsgebühr (Preis je km) für das KFZ mit dem Kennzeichen ’GI-EV
75’?
s e l e c t p r ei s _ j e _k m
from Gebuehr , KFZ
where kennzeichen = ’ GI−EV 75 ’ and
g e w i c h t between gewicht_von and g e w i c h t _ b i s
alternative Lösung
s e l e c t p r ei s _ j e _k m
from KFZ j o i n Gebuehr
on g e w i c h t between gewicht_von and g e w i c h t _ b i s
where Kennzeichen = ’ Gi−Ev 75 ’
8. Erstellen Sie die Rechnungszeilen für das KFZ mit dem Kennzeichen ’GI-EV 75’ für Juni
2005. Jede Zeile soll enthalten: Datum und Zeit der Einfahrt, den Code der Mautstellen für
Ein- und Ausfahrt, die gefahrenen km sowie den zu zahlenden Preis.
s e l e c t datum_e as Datum , code_e as E i n f a h r t , code_a as A u s f a h r t ,
km ∗ ( s e l e c t p r ei s _ j e _k m from gebuehr , Kfz
where Kfz . Kennzeichen = ’ GI−EV 75 ’
and g e w i c h t between gewicht_von an g e w i c h t _ b i s )
as PREIS
from Kfz n a t u r a l j o i n E i n z e l f a h r t
where Kennzeichen = ’ GI−EV 75 ’
and d a t e _ p a r t ( ’ year ’ , datum_e ) = 2005
and d a t e _ p a r t ( ’ month ’ , datum_e ) = 6
order by datum_e ;
DbSysI.Hausuebung1.tex,v,1.6,December 12, 2005
Wintersemester 2005/06
3
Herunterladen