Beruflich Dokumente
Kultur Dokumente
Fachbereich Finanzen
Studiengang Verwaltungsinformatik
Erstklausur
Prüfungstag: 22.02.2021
Hinweis: Beachten Sie die Vorgaben, die Regelungen und die Notfallnummer in der Ihnen
bekannten Datei ej2019_digitale_klausuren_vorgaben.pdf.
Schreiben Sie vor der Digitalisierung Ihre Kennziffer auf jedes Blatt Ihrer Abgabe. Planen
Sie genügend Zeit für das Digitalisieren und Hochladen Ihrer Arbeitsergebnisse ein!
Erstellen Sie das relationale Datenbankschema für die Entitytypen Schulhof, Schü-
ler und Schule! Vermeiden Sie dabei NULL-Werte und lassen Sie Datentypen
weg!
√
it S. 2 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 2 (2 Punkte)
Beantworten Sie die folgende Multiple-Choice-Aufgabe!
(a) > 1 Eine Tabelle liegt in der zweiten Normalform vor, wenn folgendes gilt:
A. Die Tabelle liegt in der ersten Normalform vor und es sind bereits
Primär- und Fremdschlüssel vorhanden.
B. Die Tabelle liegt in der ersten Normalform vor und enthält nur ein
Primärschlüsselattribut.
C. Die Tabelle liegt in der ersten Normalform vor, der Primärschlüs-
sel setzt sich aus mehreren Attributen zusammen und kein Nicht-
Schlüsselattribut ist nur von einem Teil des Primärschlüssels abhängig.
D. Die Tabelle liegt in der ersten Normalform vor und kein Nichtschlüssel-
attribut ist durch andere Nichtschlüsselattribute eindeutig bestimmt.
√
it S. 3 von 15
M 3, Erstklausur 22.02.2021
√
it S. 4 von 15
M 3, Erstklausur 22.02.2021
(a) (9 Punkte) Die DDL zum Anlegen der Tabelle bewertung enthält leider Fehler.
Notieren Sie pro Zeile, um welche Fehler es sich ggf. handelt! Falls die Zeile
keinen Fehler enthält, notieren Sie für diese Zeile entsprechend nichts.
create table bewertung (
(1) t_id char(3) NOT NULL UNIQUE,
(2) w_id varchar(3) NOT NULL UNIQUE,
(3) punkte decimal(2),
(4) primary key (t_id) references weintester,
(5) primary key (w_id) references wein
);
(b) Während die Verkostung in vollem Gange ist, werden mittels DML-Abfragen
einige Zwischenergebnisse ermittelt.
(a) (6 Punkte) > 1 Mit der Hilfe von welchen syntaktischen Konstrukten
kann man das folgende DML-Statement sinnvoll alternativ formulieren?
select w_name, wein.w_id
from wein left join bewertung on wein.w_id = bewertung.w_id
where punkte is null;
A. Subselect mit Aggregation
B. Right join
C. Subselect mit NOT IN
D. Group by mit having
E. Group by ohne having
(b) (9 Punkte) Für welchen Wein (w_id und w_name) wurde bisher die höchste
Punktzahl vergeben und wie viele Punkte sind es? Formulieren Sie die
entsprechende SQL-Abfrage!
(c) (8 Punkte) > 1 Welche Abfragen sind syntaktisch korrekt?
A. select bewertung.w_id, w_name, sum(punkte)
from wein, bewertung
where wein.w_id = bewertung.w_id
group by wein.w_id, w_name
having sum(punkte)>20;
B. select bewertung.w_id, w_name, sum(punkte)
from wein, bewertung
where wein.w_id = bewertung.w_id
group by bewertung.w_id
having sum(punkte)>20;
C. select bewertung.w_id, w_name, sum(punkte)
from wein, bewertung b
where wein.w_id = bewertung.w_id
group by bewertung.w_id, w_name
having sum(punkte)>20;
D. select wein.w_id, w_name, sum(punkte)
from wein, bewertung
where wein.w_id = bewertung.w_id
group by wein.w_id, w_name
√
it S. 5 von 15
M 3, Erstklausur 22.02.2021
having sum(punkte)>20;
E. select w.w_id, sum(punkte)
from wein w, bewertung
where w.w_id = bewertung.w_id
group by w.w_id,
having sum(punkte)>20;
F. select wein.w_id, w_name, sum(punkte)
from wein, bewertung
where wein.w_id = bewertung.w_id
and sum(punkte)>20
group by wein.w_id, w_name, sum(punkte);
(d) (5 Punkte) = 1 Welche Aussage ist korrekt?
A. Mit dem Zusatz ON DELETE SET NULL beim Fremdschlüsselat-
tribut t_id in der Tabelle Bewertung wird dafür gesorgt, dass
beim Löschen der Bewertungseinträge die Einträge in der Tabelle
Weintester bestehen bleiben.
B. Mit dem Zusatz ON DELETE CASCADE beim Fremdschlüsselattri-
but w_id in der Tabelle Bewertung wird dafür gesorgt, dass beim
Löschen von Einträgen in der Tabelle Bewertung die zugehörigen
Weine gelöscht werden.
C. Mit dem Zusatz ON UPDATE CASCADE zum Attribut t_id in der
Tabelle Weintester wird dafür gesorgt, dass sämtliche darauf
referenzierende Einträge automatisch aktualisiert werden, wenn
das Attribut aktualisiert wird.
D. Alle Auswahlmöglichkeiten sind richtig.
E. Keine Auswahlmöglichkeit ist richtig.
√
it S. 6 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 4 (5 Punkte)
In einem PostgreSQL-Datenbanksystem wurden die Benutzer (Loginrollen) ANTON
und BERTA mit den notwendigen Informationen angelegt, beide haben die notwen-
digen Rechte, um sich anzumelden. Der Benutzer ANTON hat eine Tabelle tabelle1
angelegt und das SQL-Statement GRANT INSERT, UPDATE, DELETE ON tabelle1 TO
BERTA; ausgeführt.
√
it S. 7 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 5 (7 Punkte)
In PostgreSQL-Datenbanken können für Tabellen so genannte „Indexe“ angelegt wer-
den.
(a) (2 Punkte) Beschreiben Sie nachvollziehbar, worum es sich bei einem „Index“
handelt!
(b) (2 Punkte) Nennen Sie eine Situation, in der ein für eine Tabellenspalte an-
gelegter Index lesend genutzt wird! Erläutern Sie kurz, welchen Vorteil die
Nutzung des Indexes in dieser Situation bringt!
(c) (3 Punkte) Beschreiben Sie eine Situation, in der viele für eine Tabelle an-
gelegte Indexe im Datenbanksystem nachteilig wirken! Begründen Sie kurz,
warum die Indexe in der von Ihnen beschriebenen Situation nachteilig sind!
√
it S. 8 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 6 (6 Punkte)
Viele relationale Datenbanksysteme, darunter auch PostgreSQL, unterstützen so ge-
nannte „Transaktionen“. Transaktionen helfen bei der Einhaltung der „ACID“-Kriterien
für relationale Datenbanksysteme.
(a) (3 Punkte) Nennen Sie zwei ACID-Kriterien, bei denen Transaktionen die Ein-
haltung der Kriterien ermöglichen beziehungsweise unterstützen und erläutern
Sie jeweils kurz, welche Eigenschaft von Transaktionen ausgenutzt wird!
(b) (3 Punkte) Ein Datenbankbenutzer führt in einer Datenbanksitzung das SQL-
Statement BEGIN READ ONLY ISOLATION LEVEL REPEATABLE READ; aus.
Entscheiden Sie, ob es relevant ist, ob die so gestartete Transaktion mit
COMMIT; oder ROLLBACK; beendet wird und begründen Sie Ihre Entscheidung!
Geben Sie an, welche Bedeutung der Teil ISOLATION LEVEL REPEATABLE READ
des Statements hat!
√
it S. 9 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 7 (6 Punkte)
Nennen Sie 2 praktische Anwendungen, für die Sie sich die Nutzung einer Dokumenten-
Datenbank vorstellen können!
Begründen Sie bei jedem Beispiel, warum Sie eine Dokumenten-Datenbank für ge-
eignet halten!
Welche Eigenschaft prädestiniert eine Dokumentendatenbank für diese Anwendung?
Nutzen Sie CAP, ACID und BASE zur Begründung!
√
it S. 10 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 8 (9 Punkte)
Erstellen Sie ein Skript, welches die folgenden Aktivitäten umsetzt bzw. in eine
MongoDB-Datenbank schreibt!
Schreiben Sie jeweils das vollständige Kommando für die MongoShell auf, das:
√
it S. 11 von 15
M 3, Erstklausur 22.02.2021
Aufgabe 9 (8 Punkte)
Die Abbildung 1 zeigt die Visualisierung eines Teils einer Graphdatenbank. Die Da-
tenbank wird im Kontext eines Onlineshops betrieben und speichert das Kauf- und
Surfverhalten der Kunden.
Es ist dargestellt, welche Kunden (blau) welche Produkte (orange) kauften. Beispiels-
weise kaufte Kunde A die Produkte K, L und O.
(a) (3 Punkte) Geben Sie das Cypher-Statement an, mit dem die Knoten A und L
sowie die Beziehung kauft angelegt werden.
(b) (2 Punkte) Geben Sie das Cypher-Statement an, mit dem abgefragt wird, welche
Produkte der Kunde C bereits kaufte.
(c) (3 Punkte) Geben Sie das Cypher-Statement an, mit dem eine Kaufempfehlung
für einen Kunden generiert werden kann, der gerade das Produkt K in seinen
Warenkorb gelegt hat.
Es sollen also alle Produkte abgefragt werden, die von Kunden gekauft wurden,
die ebenfalls Produkt K gekauft haben.
√
it S. 12 von 15
M 3, Erstklausur 22.02.2021
√
it S. 13 von 15
M 3, Erstklausur 22.02.2021
(b) (3 Punkte) Geben Sie die Deklaration des Elements <einkauf> an.
(c) (6 Punkte) Geben Sie die Definition des Datentypen kundeTyp an.
(d) (6 Punkte) Geben Sie die Deklaration des Elements <zahlungsmittel> ein-
√
it S. 14 von 15
M 3, Erstklausur 22.02.2021
√
it S. 15 von 15