Aufgabe 3 - Datenbankmodellierung und Normalisier… · Abitur NRW Informatik LK · Nachtermin 2021
Thema: Datenbankmodellierung und Normalisierung · Aus der Prüfung LK · Nachtermin (2021)
Aufgabenstellung
Aufgabenstellung:
Das Unternehmen GoBigOrGoHome24 will die Gesundheit seiner Belegschaft fördern, indem es zur regelmäßigen Teilnahme an Sportangeboten anregt. Die Beschäftigten wählen aus einem breiten Angebot verschiedener Sportarten und melden sich an. Ein Sportangebot umfasst eine zuvor festgelegte Zahl an Einheiten, die zu absolvieren sind. Nimmt eine Mitarbeiterin oder ein Mitarbeiter an allen Einheiten teil, übernimmt die Firma die Kosten des Angebots in voller Höhe. Fehlt jemand 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, die auf der folgenden Teilmodellierung beruht:
Die folgenden Aufgaben beziehen sich auf das Datenbankschema aus Abbildung 2, das nur einen Teil der gesamten Datenbank abbildet. Beispieldaten dazu finden sich im Anhang.
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 im Entity-Relationship-Diagramm in Abbildung 1 dargestellten Beziehungstypen bezogen auf den Sachkontext.
Begründen Sie, weshalb im Entity-Relationship-Modell in Abbildung 1 diese 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.
Überführen Sie das Datenbankschema aus Abbildung 2 in ein neues Schema, das die dritte Normalform erfüllt.
Hinweis: Alle Sporteinheiten eines Sportangebots haben die gleiche Dauer. [9 Punkte]
e)
Nach der Evaluation des Gesundheitsförderungsprogramms der Firma sind folgende Änderungen erforderlich:
i. Die Teilnehmerinnen und Teilnehmer müssen nun einen bestimmten Beitrag als Eigenanteil für jedes Angebot selbst bezahlen. Es soll gespeichert werden, wie hoch dieser Eigenanteil ist und ob bzw. wann sie dieser bezahlt wurde.
ii. Für eine Trainerin bzw. einen Trainer soll eine E-Mail-Adresse verwaltet werden. Außerdem sollen auch mehrere Trainerinnen und Trainer ein Sportangebot gemeinsam anbieten können.
Modellieren Sie eine Erweiterung des Datenbankschemas aus Abbildung 2, sodass der neue Entwurf die beschriebenen Aspekte zusätzlich abdeckt.
Erläutern Sie, auf welche Weise Ihr Modell die Anforderungen erfüllt, und begründen Sie die gewählten Kardinalitäten.
Hinweis: Unveränderte Relationsschemata brauchen nicht aufgeführt zu werden. [12 Punkte]

Lösung
Nach den offiziellen Korrekturhinweisen
a) Erläutern Sie die im Entity-Relationship-Diagramm in Abbildung 1 dargestellten Beziehungstypen bezogen auf den Sachkontext. Begründen Sie, weshalb diese Kardinalitäten gewählt wurden, und erläutern Sie, auf welche Weise angemeldet und gehoertZu im Datenbankschema realisiert wurden.
Lösung: 1. Erläuterung der Beziehungstypen: - Der Beziehungstyp fehlt modelliert, welche Teilnehmerin bzw. welcher Teilnehmer bei welcher Sporteinheit gefehlt hat. Zusätzlich besitzt 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. 2. Begründung der Kardinalitäten: - Eine Person kann für mehrere Sportangebote (m) angemeldet sein. Für ein Sportangebot können mehrere Personen (n) angemeldet sein. - Eine Sporteinheit gehört zu einem Sportangebot (1). Ein Sportangebot besteht aus mehreren Sporteinheiten (n). - Eine Person kann bei mehreren Sporteinheiten (m) fehlen. Bei einer Sporteinheit können mehrere Personen (n) fehlen. 3. Relationale Umsetzung: - Der n:m-Beziehungstyp angemeldet wurde mit dem Relationsschema angemeldet umgesetzt. In dieser Relation werden die zwei Fremdschlüsselattribute TeilnehmerID und SportangebotID verwaltet, welche jeweils die Primärschlüssel aus den Relationen Teilnehmer und Sportangebot darstellen. - Der 1:n-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 Datenbankschema in Abbildung 2 die dritte Normalform nicht erfüllt. Überführen Sie das Schema in ein neues Schema, das die 3NF erfüllt.
Lösung: Begründung der Normalformverletzungen: 1. Verstoß gegen die 1. Normalform: Ein Datenbankschema ist in der 1. Normalform, wenn alle Attribute atomar sind. Das ist hier nicht der Fall: Das Attribut Trainername im Relationsschema Sportangebot ist nicht atomar, da 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 kein Nichtschlüsselattribut transitiv von einem Schlüsselattribut abhängt. Das Relationsschema Sporteinheit verstößt gegen die 3. Normalform, weil das Attribut Dauer vom Fremdschlüsselattribut SportangebotID abhängt (da alle Einheiten desselben Angebots gleich lang sind). Dieser Verstoß wird gelöst, indem Dauer in das Relationsschema Sportangebot verschoben wird. Neues Datenbankschema in 3NF: 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 Datenbankschemas aus Abbildung 2, sodass der neue Entwurf die beschriebenen Aspekte zusätzlich abdeckt. Erläutern Sie, auf welche Weise Ihr Modell die Anforderungen erfüllt, und begründen Sie die gewählten Kardinalitäten.
Lösung: Erweitertes Datenbankschema: angemeldet(<u>↑TeilnehmerID</u>, <u>↑SportangebotID</u>, Eigenanteil, Bezahldatum) istVerantwortlich(<u>↑SportangebotID</u>, <u>↑TrainerEMailAdresse</u>) Trainer(<u>EMailAdresse</u>, Name) Umsetzung der Anforderungen und Begründung der Kardinalitäten: - Zu Anforderung i: Die Höhe des Eigenanteils für eine Person für einen Kurs wird im Attribut Eigenanteil im Relationsschema angemeldet gespeichert. Die Information, ob bzw. wann eine Person das Sportangebot bezahlt hat, wird im Attribut Bezahldatum im Relationsschema angemeldet gespeichert. Wenn eine Person noch nicht bezahlt hat, wird als Wert NULL eingetragen. Im Relationsschema angemeldet bleibt der n:m-Beziehungstyp 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. - Zu Anforderung ii: Das Attribut Trainername wird im Relationsschema Sportangebot gelöscht. Dafür wird das Relationsschema Trainer mit dem Primärschlüssel EMailAdresse und dem Attribut Name (oder Vorname, Nachname) ergänzt. Da mehrere Trainerinnen und Trainer ein Angebot betreuen können und ein Trainer mehrere Angebote leiten kann, liegt eine n:m-Beziehung vor. Das Relationsschema istVerantwortlich entspricht diesem n:m-Beziehungstyp und besteht aus dem kombinierten Primärschlüssel SportangebotID und TrainerEMailAdresse, welche jeweils Fremdschlüssel aus den entsprechenden Relationen darstellen.
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 · LK · Haupttermin 2021
Mehr Aufgaben zu Datenbankmodellierung und Normalisierung
- Aufgabe 3 - Datenbankmodellierung · LK · Nachtermin 2022
- Aufgabe 3 - Datenbankmodellierung und Normalisier… · GK · Haupttermin 2021
- Aufgabe 3 - Datenbankmodellierung · GK · Haupttermin · Weiterbildungskolleg 2021
- Aufgabe 3 - Datenbankmodellierung und Normalisier… · GK · Nachtermin 2021
- Aufgabe 3 - Datenbankmodellierung · LK · Haupttermin 2021