Aufgabe

Werbung
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe
1
Max. Pkte. 10
Ihre Pkte.
2
15
3
15
4
15
5
15
Aufgabe 1 Datenschutz und Datensicherheit (10 Punkte)
a) Erläutern Sie die ACID-Eigenschaften von Datenbanken
A
C
I
D
b) Erläutern Sie kurz den Begriff Uncommited Dependency Problem
6
15
Gesamt
90
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe 2 Views (15 Punkte)
a)
Gegeben sei folgende Relation:
ANGESTELLTER:
ANR
1
2
3
4
NAME
Maier
Müller
Schulze
Kirst
ORT
Wiesbaden
Darmstadt
Kirst
Frankfurt
GEHALT
4444
5555
3333
2222
und folgende View-Definition
create view V1
as select ANR, NAME, ORT
from ANGESTELLTER
where GEHALT <any (select GEHALT from ANGESTELLTER)
-- any bedeutet “irgend ein”
Was liefert die folgende Anfrage:
select NAME
from V1
where ORT = ´Darmstadt´;
b) In einer Datenbank gibt es folgende Relationenschemata:
PFERDE:
STÄLLE:
PNR
ZÜCHTERNR
NAME
ALTER
ZÜCHTERNR
VATERNR
NAME
PLZ
ORT
STRASSE
Zu beachten: Die VATERNR in dem Schema PFERDE gibt eine Nummer an, zu der es ein „passendes“
Pferd geben muss.
Beantworten Sie folgende Fragen mit SQL:
b1) Welche dreijährigen Pferde (auszugeben ist nur der NAME) sind in den Ställen von Frankfurter
Züchtern untergebracht?
b2) Welche Züchter (auszugeben ist nur der NAME des STALLES) haben in ihren Ställen mindestens 1
Kind von dem VATER mit Namen ´Hermes´?
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe 3 Netzwerkmodell (15 Punkte)
Gegeben sei das folgende ER-Diagramm:
KFZ
(1,1)
(1,*)
gehört
Kunde
(1,*)
erteilt
(1,1)
(0,*)
Mechaniker
a)
(0,*)
bearbeitet
WerkstattAuftrag
Geben Sie zu diesem ER-Diagramm ein äquivalentes Netzwerk-Diagramm an.
b) Zeichnen Sie die folgenden Sachverhalte in dem physischen Teil-Netzwerk „Mechaniker bearbeitet
Werkstatt-Auftrag“ auf.
M1 bearbeitet W1, W2, W3; M2 bearbeitet W2, W4; M3 bearbeitet W3, W4
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe 4 PL/SQL – Interpretation (15 Punkte)
Gegeben sei die folgende Relation mit den nachfolgenden Inhalten:
SNR
1
3
16
21
13
51
55
69
60
59
SNAME
Lehmann
Friedrich
Lahm
Metzelder
Ballack
Buffon
Canavaro
Zambrotta
Totti
Toni
SALTER
36
27
22
25
29
28
32
29
29
29
SGEHALT
3000
1500
2000
1800
5000
3500
2000
2500
3200
2700
Interpretieren Sie das folgenden PL/SQL-Programm, indem Sie
a) in einem Satz beschreiben, was dieses Programm tut:
b) die Bildschirmausgabe aufschreiben
declare cursor c1 is select sname, salter, sgehalt, mname from spieler;
declare cursor c1 is select sname, salter, sgehalt, mname from spieler;
Ergebnis a)
s_N
s_A
s_G
s_MN
spieler.sname%type;
spieler.salter%type;
spieler.sgehalt%type;
spieler.mname%type;
ALT
GEH
ANZ
integer;
integer;
integer;
begin
open c1;
fetch c1 into s_N, s_A, s_G, s_MN;
ALT := 0;
ANZ := 0;
while c1%found
loop
if s_MN = 'Deutschland' then
ALT := ALT + s_A;
ANZ := ANZ + 1;
dbms_output.put_line('ALT = '||ALT||' ANZ = '||ANZ);
Ergebnis b)
end if;
fetch c1 into s_N, s_A, s_G, s_MN;
end loop;
close c1;
dbms_output.put_line('Erg = '||ALT/ANZ);
end;
/
MNAME
Deutschland
Deutschland
Deutschland
Deutschland
Deutschland
Italien
Italien
Italien
Italien
Italien
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe 5 PL/SQL – Eigenentwicklung (15 Punkte)
Die folgende Aufgabe bezieht sich auf das Beispiel aus Aufgabe 4.
Formulieren Sie ein PL/SQL-Programm, das als Ausgabe die Differenz der Durchnittsgehälter deutscher und
italienischer Spieler ausgibt und geben Sie das entsprechende Ergebnis an:
Prof. Dr. Stephan Karczewski
Prüfungsleistung Datenbanken 2
05.07.2006
Name:.............................................................. Matrikelnummer:............................................
Aufgabe 6 Objektrelationale Datenbanken (15 Punkte)
Gegeben sei die folgende objekt-relationale Definition einer Tabelle:
create type adresse_t as object
(
PLZ
int,
Ort
varchar(30),
Str
varchar(30),
Hnr
int
);
create type familie_t as object
(
FNR
int,
Name
varchar(30),
Adresse adresse_t
);
create type sub_t as table of familie_t;
create table Familietab
(
Familie
familie_t,
Kinder
sub_t
) nested table Kinder store as sub_tab;
a)
Zeichnen Sie die korrekte Tabellenstruktur auf (zunächst nur das Schema).
b) Formulieren Sie einen Insert-Befehl, mit dem Sie eine Familie mit zwei Kindern einfügen (die Werte sollten
einigermaßen sinnvoll gewählt werden, z.B. Ihre eigenen Familiendaten ;-) und tragen Sie diese Werte in
die Tablle aus a) ein.
Herunterladen