Nelly

Aus ProgrammingWiki
Archivierte Version vom 2026-01-31T09:35:28+00:00. Aktuelle Version

Inhaltsverzeichnis

Datenbank - Fitnessstudio

Erstellen und Modellieren von meinem Datenbankprojekt

Ziel der Datenbank

Diese Datenbank dient zur Strukturierung und Verwaltung der Daten eines Fitnessstudios, indem Mitglieder, deren Verträge sowie angebotene Kurse übersichtlich erfasst und miteinander verknüpft werden. Zusätzlich ermöglicht sie durch die Teilnahme Tabelle die Dokumentation, welche Mitglieder an welchen Kursen teilnehmen und unterstützt so Auswertungen und organisatorische Prozesse.

ERM

Nels_Screenshot_2026-01-26_105952.jpg

Erläuterung zur Datenbank: Die Datenbank besteht aus den 3 Entitäten, Mitglied, Vertrag und Kurs. Die Entität Mitglied speichert alle persönlichen und organisatorischen Informationen der Fitnessstudio-Mitglieder. Die Entität Vertrag enthält die Vertragsdaten eines Mitglieds, wie Laufzeit oder monatilicher Beitrag. Zwischen Mitglied und Vertrag besteht eine 1:n Beziehung, da ein Mitglied im Laufe der Zeit mehrere Verträge besitzen kann (Gold, Silber, Bronze Vertragsart) aber ein Vertrag nur einem Mitglied zugeordnet ist. Die Entität Kurs beschreibt die im Fitnessstudio angebotenen Kurse mit Angaben wie Kursname, Trainer oder Termin. Da ein Mitglied mehrere Kurse besuchen kann und ein Kurs von mehreren Mitgliedern besucht wird, besteht zwischen Mitglied und Kurs eine n:m Beziehung. Diese wird durch die Zusatztabelle Teilnahme aufgelößt, welche zusätzlich Informationen wie Teilnahmestatus speichert. Durch die Ergänzung von Teilnahme wird die n:m Beziehung aufgelößt, wodurch die Datenbank übersichtlich, redundantfrei und erweiterbar bleibt.

RM (zu erstellende Tabellen)

  • Mitglied (Mitglied_ID, Vorname, Nachname, Geschlecht, Ort, Straße, Status)
  • Vertrag (Vertrag_ID, Startdatum, Enddatum, Laufzeit, Monatsbeitrag, Mitglied_ID )
  • Kurs (Kurs_ID, Kursname, Trainername, Raum, Wochentag, Uhrzeit)
  • Teilnahme(Mitglied_ID, Kurs_ID)

Erläuterungen wichtiger Begriffe

Datenbank

Abfragen

Ausgabe aller Mitglieder mit Vorname und Nachname

SELECT Kursname, Trainername FROM Kurs;

SELECT Vertragsart, Monatsbeitrag FROM Vertrag;

SELECT Mitglied.Vorname, Mitglied.Nachname, Vertrag.Vertragsart FROM Mitglied JOIN Vertrag ON Mitglied.M_ID = Vertrag.Mitglied_ID;

SELECT Mitglied.Vorname, Mitglied.Nachname FROM Mitglied JOIN Teilnahme ON Mitglied.M_ID = Teilnahme.Mitglied_ID JOIN Kurs ON Teilnahme.Kurs_ID = Kurs.Kurs_ID WHERE Kurs.Kursname = 'Yoga';

SELECT Mitglied.Vorname, Mitglied.Nachname, COUNT(Teilnahme.Kurs_ID) AS Anzahl_Kurse FROM Mitglied JOIN Teilnahme ON Mitglied.M_ID = Teilnahme.Mitglied_ID GROUP BY Mitglied.M_ID, Mitglied.Vorname, Mitglied.Nachname HAVING COUNT(Teilnahme.Kurs_ID) > 1;

SELECT Mitglied.Vorname, Mitglied.Nachname, COUNT(DISTINCT Vertrag.Vertragsart) AS Anzahl_Vertragsarten FROM Mitglied JOIN Vertrag ON Mitglied.M_ID = Vertrag.Mitglied_ID GROUP BY Mitglied.M_ID, Mitglied.Vorname, Mitglied.Nachname HAVING COUNT(DISTINCT Vertrag.Vertragsart) >= 2;