Ranglisten In vielen Sportarten ist die Erstellung einer Weltrangliste üblich. Wir nehmen an, in einer Sportart gibt es Ranglistenturniere, bei denen es für jede Platzierung eine vorher festgelegte Anzahl von Ranglistenpunkten gibt. Die Rangliste wird jeweils am 1. Januar aktualisiert und basiert auf den Ranglistenpunkten, die ein Sportler in den vergangenen zwei Jahren gesammelt hat. Deine Aufgabe ist es, eine Datenbank zu erstellen, welche die Ranglisteninformationen für mehrere Jahre aufnehmen kann. Vor einem Turnier soll die Verteilung von Ranglistenpunkten nach Platzziffern festgelegt werden können. Nach dem Turnier wird jeder Platzziffer ein Sportler zugeordnet. Die Sportler werden mit Nachname, Vorname, Land und Wohnort gespeichert. Die Turniere werden mit Veranstaltungsort und Jahr gespeichert. a) Modelliere eine passende Datenbank. Gib zu jeder Eigenschaft einen geeigneten Datentyp an und erstelle ein ER-Diagramm. Gib darin die Multiplizitäten der Beziehungen an und markiere alle Primär- und Fremdschlüsselattribute. b) Gib mit einer SELECT-Abfrage die Namen aller Sieger des Turniers in Bremen aus, absteigend nach Jahr sortiert. c) Erstelle mit einer SELECT-Abfrage die aktuelle Rangliste. d) Gib die Sportler-ID aller Sportler aus, die je ein Ranglistenturnier gewonnen haben. e) Wie d), aber gib Vorname und Nachname des Sportlers aus. Java-Lösung Bei einer anderen Sportart basiert die Berechnung der Rangliste auf einem komplizierten System, das in einem Java-Programm abgebildet ist. Eine Liste von 1000 aktiven Sportlern liegt in einem Array vor: Sportler[] sListe = new Sportler[1000] Du kannst voraussetzen, dass das Array mit den Sportlerdaten gefüllt ist. Die Klasse Sportler hat zwei Eigenschaften (Nachname, Vorname), einen geeigneten Konstruktor und die beiden Methoden public int ermittleSportlernummer (String nachname, String vorname) public int ermittleRanglistenpunkte (int sportlernummer) a) Schreibe den vollständigen Code der Klasse Sportler mit den beiden Eigenschaften und dem Konstruktor (aber ohne die beiden Methoden; die musst du nicht implementieren). b) Stelle dir vor, dass jemand anders die beiden Methoden implementiert hat. Schreibe ein Programm, dass für einen Sportler (Vorname und Nachname sind bekannt) die Anzahl der Ranglistenpunkte ausgibt. c) -> Rangliste erstellen; die Aufgabe geht weiter.