Materialien zum Unterricht

Datenbankstruktur Formel 1

1. ERD erstellen

Vor dem Erstellen des ERD muss man überlegen, welche Entitäten mit welchen Attributen notwendig sind.

In jedem Jahr gibt es in der Formel 1 Plätze für die besten Fahrer und die beste Teams. Die Reihenfolge wird durch die Summe von Punkten festgelegt, die in Einzelrennen erreicht worden.

In der Datenbank sollen die Fahrer und die Teams sowie die Nationen, aus denen sie stammen, geführt werden. Für jede Saison werden die jeweils ersten drei Plazierungen mit den erreichten Punkten geführt. Zur Vereinfachung der Struktur werden die Einzelrennen nicht mit einbezogen.

Aufgabe: Erstellen Sie ein erstes ERD für die Fahrer, die Teams und die Nationen.

2. Datenbank anlegen und Tabellen exportieren

3. Erste Beziehungen knüpfen

Jeder Fahrer gehört zu einer Nation. Zwischen den beiden Tabellen wird über die nation_id eine Beziehung hergestellt.

fahrer_id Name nation_id Nation
1 Verstappen 1 Niederlande
2 Hamiltion 2 Großbritanien
3 Bottas 3 Finnland
4 Vettel 4 Deutschland
5 Rosberg 4 Deutschland
6 Ricciardo 5 Australien
7 Alonso 6 Spanien
8 Räikkönen 3 Finnland
9 Button 2 Großbritanien
10 Webber 5 Australien

Dazu muss in der Tabelle fahrer eine zusätzliche Spalte mit dem Attribut nation_id erzeugt werden. Die SQL-Anweisung lautet:

ALTER TABLE fahrer
ADD nation_id INT

Welche Bedeutung hat der Zusatz INT hinter dem Namen der neuen Spalte?

Als nächstes müssen die Werte für die nation_id in die Tabelle fahrer eingetragen werden. Der Befehl für den ersten Eintrag lautet:

UPDATE fahrer
SET nation_id = 1
WHERE fahrer_id=1

Nutzen Sie den Befehl für alle weiteren Einträge.

Wenn alles richtig gemacht wurde, muss eine Abfrage über die beiden Tabellen die folgendeTabelle zeigen. Überprüfen Sie das durch eine entsprechende Abfrage.

Im nächsten Schritt werden den Teams die Nationen zugeordnet.

team_id Name nation_id Nation
1 Mercedes 4 Deutschland
2 Reb Bull 2 Großbritanien
3 Ferrari   Italien
4 McLaren 2 Großbritanien
5 Willimas 2 Großbritanien
6 Brawn 2 Großbritanien
7 BMW Sauber 4 Deutschland
8 Renault   Frankreich

Da Italien und Frankreich noch nicht in der Tabelle nation enthalten sind, müssen sie vorher noch eingetragen werden.

INSERT INTO nation (land)
VALUES ('Italien')

Die nation_id muss nicht mit angegeben werden, da dieses Feld auf autoinkrement eingestellt wurde. Damit zählt es beim Eintrag einen neuen Datensatzes automatisch weiter.

Überprüfen Sie durch eine entsprechende Abfrage, ob die Zuordnung der Teams und Nationen richtig ist.

4. Die Jahre kommen hinzu

Da sowohl bei den Weltmeistern als auch bei den Teams die Jahre mit verknüpft sind, werden die Jahreszahlen in einer extra Tabelle geführt. Importieren Sie in Ihre Datenbank die Tabelle saison.csv

Bauen Sie diese Entität in das ERD mit ein.

Sie werden merken, dass eine zusätzliche Tabelle saison_fahrer.csv notwendig ist. Importieren Sie auch diese bereits fertige Tabelle in die Datenbank ein. Es muss jetzt eine Abfrage möglich sein, die die folgende Tabelle anzeigt. Im Bild ist nur der erste Teil der Tabelle zu sehen.

5. Neue Sieger

 

zurück