Es ist eine Datenbank mit MySQL zum Thema Sport zu erstellen, die folgende abbilden kann: Eine Sportlerin bzw. ein Sportler startet für genau eine Nation und betreibt eine oder mehrere Sportarten.
Zunächst benötigt man eine
Tabelle für Sportlerinnen und Sportler
in der die wichtigsten Daten verwaltet werden können.
Tabellenname: sp_person
per_id: Primärschlüsselper_vornameper_nameper_gebdat: Geburtsdatumper_geschlecht: w-weiblich, m-männlichper_masse: in kgper_groesse: in cmper_info: allgemeine Informationen
Tabelle für die Nationen
Tabellenname: sp_nation
nat_id: Hier wird für den Primärschlüssel keine INT-Zahl vergeben, sondern der bei Sportveranstaltungen international verwendete Ländercode des IOC mit drei Buchstaben.nat_name: Name der Nationnat_kontinent:nat_info: allgemeine Informationen
Für die Beziehung zwischen den beiden Tabellen gilt:
- Jede Person startet für genau eine Nation.
- Für jede Sport-Nation können eine oder mehrere Personen bei einem Bewerb starten
Die Beziehung (Relation) zwischen den beiden Tabellen sp_nation und sp_person ist daher vom Typ 1:n. Um diese Relation herzustellen, wird der Wert eines Primär-Schlüssels der Tabelle sp_nation als Fremd-Schlüssel in den Datensatz der Person eingetragen. Die Tabelle sp_person ist daher um das Feld
per_fid_nation: Fremdschlüssel (foreign id)
zu ergänzen. Dabei ist zu beachten, dass der Datentyp genau jenem von nat_id entspricht. In diesem Fall also VARCHAR(3) für die drei Buchstaben des IOC-Codes.

Tabelle Person – sp_person

Tabelle Nation – sp_nation
Beziehungsansicht:

1:n Beziehung Nation -> Person
Daten erfassen: mindestens 10 Sportler aus mindestens 4 Ländern
Abfragen testen – zum Beispiel:
- alle Sportlerinnen aus Europa
- alle Sportler aus Frankreich
- SportlerInnen, die nach 1980 geboren wurden
- Mittelwert der Masse über alle Sportler aus Deutschland
- Mittelwert der Größe der Sportler je Land
- die größten Sportler jeder Nation
- Anzahl der Sportlerinnen je Land
- Länder ohne Sportlerinnen oder Sportler
- Sportler nach Größe sortiert
- Älteste Sportlerinnen oder Sportler je Land
Ergänzung der Sportarten
Die Sportarten werden in einer weiteren Tabelle sp_art erfasst:
art_id: Primärschlüsselart_bezeichnung: Slalom, Super-G, Hochsprung, Weitsprung, …art_jahreszeit: Sommer, Winter, ganzjährig, Halleart_kategorie: Überbegriff wir Schifahren Alpin, Leichtathletik, …art_info: allgemeine Informationen zur Sportart
Ergänzt man nun die Tabelle sp_person um die Spalte für die Sportart, so tritt diese dort als Fremdschlüssel für per_fid_art auf. Das wäre eine 1:n-Beziehung. Allerdings kann dann jeder Person nur eine einzige Sportart zugeordnet werden.
Da jede Person mehrere Sportarten ausüben kann und jede Sportart natürlich auch von mehreren Personen ausgeübt wird ist die Beziehung zwischen diesem beiden Tabellen vom Typ m:n. Dieser Beziehungstyp kann nur durch eine weitere Zwischentabelle (Beziehungstabelle) aufgelöst werden. Dadur entstehen zwei 1:n Beziehungen.

m:n Beziehung Person – Sportart
Sie Struktur in der vorigen Abbildung kann als Satz „Person betreibt Sportart“ aufgefasst werden. Hier steht jedes Wort für eine Tabelle. Subjekt „Person“ und Objekt „Sportart“ werden durch die neue Tabelle für das Prädikat „betreibt“ in Beziehung gesetzt. In dieser neuen Tabelle werden die Primärschlüsselfelder art_id und per_id als Fremdschlüssel eingetragen.
