Aufgabe 3 - Datenbankmodellierung und Normalisier… · Abitur NRW Informatik GK · Nachtermin 2021
Thema: Datenbankmodellierung und Normalisierung · Aus der Prüfung GK · Nachtermin (2021)
Aufgabenstellung
Das Unternehmen GoBigOrGoHome24 will die Gesundheit seiner Beschäftigten fördern, indem es sie zur regelmäßigen Teilnahme an Sportangeboten motiviert.
Die Beschäftigten sollen sich aus einer breiten Auswahl an Angeboten zu unterschiedlichen Sportarten Angebote aussuchen und dafür anmelden. Ein Angebot umfasst eine zuvor festgelegte Zahl an Einheiten, die zu besuchen sind. Das Unternehmen trägt die Kosten eines Angebots komplett, sofern die Person an sämtlichen Sporteinheiten teilnimmt. Fehlt sie unentschuldigt, verringert sich der Zuschuss der Firma. Die Länge einer Sporteinheit wird in Minuten angegeben.
Um die Daten zu verwalten, plant die Firma den Aufbau einer relationalen Datenbank, der die folgende Teilmodellierung zugrunde liegt:
Die weiteren Aufgaben beziehen sich auf das Datenbankschema in Abbildung 2, das nur einen Teil der Gesamtdatenbank abbildet. Im Anhang finden sich Beispieldaten dazu.
Anlage: Ausschnitt aus den Beispieldaten zum Datenbankschema aus Abbildung 2
Teilnehmer ID · Vorname · Nachname
1 · Ada · Lovelace
2 · John · von Neumann
3 · Alan · Turing
4 · Konrad · Zuse
5 · Tim · Berners-Lee
Sportangebot ID · Sportart · Trainername
42 · Zumba · Joseph Weizenbaum
101 · Fitness · Gottfried Wilhelm Leibniz
2020 · Fitness · Gottfried Wilhelm Leibniz
2021 · Yoga · Joseph Weizenbaum
Sporteinheit ID · Datum · Thema · Dauer · SportangebotID
1 · 2020-08-13 · Ausdauer Laufband · 90 · 101
2 · 2020-08-13 · Grundschritte · 45 · 42
3 · 2020-08-14 · Tanzausdauer · 45 · 42
4 · 2020-08-17 · Zirkeltraining · 90 · 101
5 · 2020-08-20 · Ausdauer Fahrrad · 90 · 101
6 · 2020-08-20 · Spezialschritte · 45 · 42
7 · 2020-08-21 · Intervalltanzen · 45 · 42
8 · 2020-08-24 · Kräftigung des Rumpfes · 90 · 101
9 · 2020-08-27 · Eigene Tanzchoreographie · 45 · 42
angemeldet TeilnehmerID · SportangebotID
1 · 42
1 · 101
1 · 2020
2 · 42
3 · 42
3 · 101
4 · 101
5 · 101
fehlt TeilnehmerID · SporteinheitID · istEntschuldigt
1 · 1 · ja
1 · 2 · ja
3 · 9 · ja
4 · 8 · nein
5 · 4 · ja
5 · 5 · nein
a)
Erläutern Sie die Beziehungstypen des Entity-Relationship-Diagramms in Abbildung 1 bezogen auf den vorliegenden Sachkontext.
Begründen Sie, weshalb im Entity-Relationship-Modell in Abbildung 1 die jeweiligen Kardinalitäten gewählt wurden.
Erläutern Sie, auf welche Weise der n:m-Beziehungstyp angemeldet und der 1:n-Beziehungstyp gehoertZu des Entity-Relationship-Modells aus Abbildung 1 im Datenbankschema in Abbildung 2 realisiert wurden.
[10 Punkte]
d)
Begründen Sie anhand von zwei Argumenten, weshalb das Datenbankschema in Abbildung 2 die dritte Normalform nicht erfüllt.
Wandeln Sie das Datenbankschema aus Abbildung 2 in ein neues Schema um, das die dritte Normalform erfüllt.
Hinweis: Alle Sporteinheiten eines Sportangebots haben dieselbe Dauer.
[9 Punkte]
e)
Nach der Evaluation des Gesundheitsförderungsprogramms der Firma sind folgende Änderungen nötig:
Teilnehmende müssen für jedes Angebot einen festgelegten Eigenanteil selbst zahlen. Gespeichert werden soll die Höhe dieses Eigenanteils sowie, ob und wann er bezahlt wurde.
Weil Mitarbeitende häufig nachfragen, wo ihr gebuchtes Angebot stattfindet, sollen auch die Sporträume erfasst werden. Es soll festgehalten werden, welches Sportangebot in welchem Raum stattfindet; ein Sportangebot findet stets im gleichen Raum statt. Zu jedem Raum sollen die eindeutige Raumbezeichnung und die Raumgröße gespeichert werden.
Modellieren Sie eine Erweiterung des Entity-Relationship-Diagramms aus Abbildung 1, sodass der neue Datenbankentwurf die beschriebenen Aspekte zusätzlich abbildet.
Hinweis: Für die Erweiterung unwichtige Entitäts- und Beziehungstypen brauchen nicht dargestellt zu werden.
Erläutern Sie, auf welche Weise Ihr entwickeltes Modell die Anforderungen realisiert, und begründen Sie die von Ihnen gewählten Kardinalitäten.
[12 Punkte]

Lösung
Nach den offiziellen Korrekturhinweisen
a) Erläutern Sie die Beziehungstypen im Sachkontext, begründen Sie die Kardinalitäten und erläutern Sie, wie diese im Datenbankschema realisiert wurden.
Lösung: Erläuterung der Beziehungstypen: * Der Beziehungstyp fehlt modelliert, welche Teilnehmerin bzw. welcher Teilnehmer bei welcher Sporteinheit gefehlt hat. Zusätzlich hat der Beziehungstyp das Attribut *istEntschuldigt*. * Der Beziehungstyp angemeldet modelliert, welche Teilnehmer/-innen für welche Sportangebote angemeldet sind. * Der Beziehungstyp gehoertZu modelliert, welches Sportangebot aus welchen Sporteinheiten besteht. Begründung der Kardinalitäten: * Eine Person kann für mehrere Sportangebote () angemeldet sein. Für ein Sportangebot können mehrere Personen () angemeldet sein. * Eine Sporteinheit gehört zu einem Sportangebot (). Ein Sportangebot besteht aus mehreren Sporteinheiten (). * Eine Person kann bei mehreren Sporteinheiten () fehlen. Bei einer Sporteinheit können mehrere Personen () fehlen. Umsetzung im Datenbankschema: * Der -Beziehungstyp angemeldet wurde mit dem Relationenschema `angemeldet` umgesetzt. In dieser Relation werden die zwei Fremdschlüsselattribute `TeilnehmerID` und `SportangebotID` verwaltet, welche jeweils die Primärschlüssel einmal in der Relation `Teilnehmer` und einmal in der Relation `Sportangebot` darstellen. * Der -Beziehungstyp gehoertZu wurde so umgesetzt, dass in der Relation `Sporteinheit` zusätzlich das Fremdschlüsselattribut `↑SportangebotID` verwaltet wird, welches den Primärschlüssel aus der Relation `Sportangebot` abbildet.
d) Begründen Sie anhand von zwei Argumenten, weshalb das gegebene Datenbankschema die dritte Normalform nicht erfüllt.
Lösung: 1. Verstoß gegen die 1. Normalform: Ein Datenbankschema ist in der 1. Normalform, wenn für jedes Relationenschema gilt, dass alle Attribute atomar sind. Das ist hier nicht der Fall: Das Attribut `Trainername` im Relationenschema `Sportangebot` ist nicht atomar, weil es sowohl den Vor- als auch den Nachnamen enthält. 2. Verstoß gegen die 3. Normalform: Ein Datenbankschema ist in der 3. Normalform, wenn es in der 2. Normalform ist und es zusätzlich kein Nichtschlüsselattribut gibt, das transitiv von einem Schlüsselattribut abhängig ist. Es darf also keine funktionalen Abhängigkeiten von Attributen geben, die selbst nicht zum Schlüssel gehören. Das Relationenschema `Sporteinheit` verstößt gegen die dritte Normalform, weil das Attribut `Dauer` vom Fremdschlüsselattribut `SportangebotID` abhängt (da laut Hinweis die Dauer für alle Sporteinheiten desselben Sportangebots gleich ist). Dieser Verstoß wird gelöst, indem das Attribut `Dauer` in den Entitätstyp bzw. die Relation `Sportangebot` verschoben wird.
d) Wandeln Sie das gegebene Datenbankschema in ein neues Schema um, das die dritte Normalform erfüllt.
Lösung: Teilnehmer(<u>ID</u>, Vorname, Nachname) Sportangebot(<u>ID</u>, Sportart, ↑TrainerID, Dauer) Trainer(<u>ID</u>, Vorname, Nachname) Sporteinheit(<u>ID</u>, Datum, Thema, ↑SportangebotID) angemeldet(<u>↑TeilnehmerID</u>, <u>↑SportangebotID</u>) fehlt(<u>↑TeilnehmerID</u>, <u>↑SporteinheitID</u>, istEntschuldigt)
e) Modellieren Sie eine Erweiterung des Entity-Relationship-Diagramms aus Abbildung 1.
Lösung: Beschreibung der Modellierung: * Die Relation/Beziehung angemeldet erhält die Attribute `Eigenanteil` und `Bezahldatum`. * Neuer Entitätstyp Raum mit dem Primärschlüsselattribut `Bezeichnung` (unterstrichen) und dem Attribut `Größe`. * Beziehungstyp findetStatt zwischen `Raum` und `Sportangebot` mit einer -Kardinalität (1 bei `Raum`, bei `Sportangebot`).
e) Erläutern Sie, auf welche Weise Ihr entwickeltes Modell die Anforderungen realisiert, und begründen Sie die von Ihnen gewählten Kardinalitäten.
Lösung: Umsetzung der Anforderung i: Die Höhe des Eigenanteils für eine Person für einen Kurs wird in dem Attribut `Eigenanteil` der Beziehungsrelation `angemeldet` gespeichert. Die Information, ob bzw. wann eine Person das Sportangebot bezahlt hat, wird in dem Attribut `Bezahldatum` der Beziehungsrelation `angemeldet` gespeichert. Wenn eine Person noch nicht bezahlt hat, dann wird als Wert `null` eingetragen. Der -Beziehungstyp bleibt bestehen, weil für jede Person und jedes gewählte Sportangebot verwaltet werden soll, ob dieses bereits bezahlt wurde und wie hoch der Eigenanteil ist. Umsetzung der Anforderung ii: Alle Räume werden im Entitätstyp `Raum` mit dem Primärschlüssel `Bezeichnung` und dem Attribut `Größe` verwaltet. Der -Beziehungstyp wurde gewählt, weil verwaltet werden muss, welches Sportangebot in welchem Raum stattfindet und in welchen Räumen welche Sportangebote stattfinden (ein Angebot findet immer im selben Raum statt [1], in einem Raum können mehrere Angebote stattfinden []).
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe 3 - Datenbankmodellierung · GK · Haupttermin · Weiterbildungskolleg 2021 · Aufgabe 3 - Datenbankmodellierung · LK · Haupttermin 2021 ›
Mehr Aufgaben zu Datenbankmodellierung und Normalisierung
- Aufgabe 3 - Datenbankmodellierung · GK · Nachtermin 2022
- Aufgabe 3 - Datenbankmodellierung und Normalisier… · LK · Haupttermin 2022
- Aufgabe 3 - Datenbankmodellierung · LK · Nachtermin 2022
- Aufgabe 3 - Datenbankmodellierung und Normalisier… · GK · Haupttermin 2021
- Aufgabe 3 - Datenbankmodellierung · GK · Haupttermin · Weiterbildungskolleg 2021
- Aufgabe 3 - Datenbankmodellierung · LK · Haupttermin 2021
- Aufgabe 3 - Datenbankmodellierung und Normalisier… · LK · Nachtermin 2021