Franziska

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Auf einem Reitturnier gibt es eine Vielzahl von Prüfungen, zu denen jeweils Listen aushängen mit den Starterpaaren (Reiter und Pferd mit Startnummer), dass es bei vielen Prüfungen schnell mal zu Chaos kommen kann, ist nun einmal vorprogrammiert. Um dann spezielle Infos zu den Reitern oder Pferden herauszufinden, müsste man dann erst ewig lange in den Anmeldebögen wühlen. Mit einer Datenbank lassen sich die gesuchten Informationen schneller auffinden. Dafür habe ich meine Datenbank entwickelt.


Inhaltsverzeichnis

Ziel der Datenbank

Die Zielstellung einer solchen Datenbank ist es bei Nachfragen der Teilnehmer schnell auf Abruf die gewünschten Informationen zu geben. Wenn sich zum Beispiel ein Reiter unsicher ist, was für eine Art Prüfung er genannt hat, kann er in der Datenbank nachfragen oder wenn er die Starternummer vergessen hat, kann er ebenso nachfragen. Wenn ein Reiter mehrere Pferde in den Prüfungen reitet, kann es auch schnell mal zum Vertauschen der Startnummer kommen, sodass nochmal nachgefragt werden muss, was diese Datenbank enorm erleichtert.

ERM-Modell der Datenbank

Franziska Diagramm DB1.jpeg

Kardinalitäten

Wichtig bei den Starterpaaren ist, dass immer die Zusammensetzung von jeweils einem Pferd und Reiter pro Paar gilt, aber ein Reiter mit mehreren Pferden Paare bilden kann und ein Pferd auch mit mehreren Reitern Paare bilden kann. Daraus ergeben sich somit die "1 zu n"-Beziehungen.

Daher an einer Prüfung mehrere Paare starten und Die jeweiligen Paare an mehreren Prüfungen starten können ergibt sich die "n zu m"-Beziehung, wodurch eine weitere Tabelle enstehen muss.

Die Transformation in das Relationenmodell

Für die Transformation werden normalerweise die drei Normalformen einzeln durchlaufen, ich werde alles nötige erklären, aber die 1. Normalform einigermaßen mit einem solchen Block an Datensätzen auch nur halbwegs darzustellen dürfte wirklich sehr schwierig, wenn nicht sogar unmöglich sein, also werde ich diese Form mir ersparen, denn sie beinhaltet nur das Erfassen der Daten in einer einzigen Tabelle.

Die 2. Normalform bewirkt, dass aus dieser einen unhandlichen Tabelle mehrere Tabellen werden. Ich erstelle die Tabellen:
- Reiter (R_Name, R_Vorname, Geburtsdatum)
- Pferd (Pf_Name, Geburtsjahr)
- Prüfung (P_Art, Klasse, Platz_NR)
- Starterpaare (Reiter, Pferd, Prüfung)

Daher diese Form jedoch wieder zu große, sich doppelnde Datensätze beinhaltet, tritt die 3. Normalform in Kraft, in der jeweils Primärschlüssel in Kraft treten:
- Reiter (-angegebene Datensätze-, R_NR -> Primärschlüssel)
- Pferd (-angegebene Datensätze-, Pf_NR -> Primärschlüssel)
- Prüfung (-angegebene Datensätze-, P_NR -> Primärschlüssel)
- Starterpaare ( R_NR + Pf_NR -> Sekundärschlüssel, Start_NR -> Primärschlüssel)
Um die Verbindung zwischen Prüfung und Starterpaaren herzustellen gibt es eine weitere Tabelle:
- Starts (P_NR, Start_NR)
Bei der Tabelle Starts gibt es dann einen gekoppelten Primärschlüssel aus P_NR und Start_NR.

Alle Tabellen zusammengefasst

Hier sind noch einmal alle Tabellen mit ihren Inhalten zusammengefasst:
- Reiter (R_NR ,R_Name, R_Vorname, Geburtsdatum)
- Pferd (Pf_NR, Pf_Name, Geburtsjahr)
- Prüfung (P_NR ,P_Art, Klasse, Platz_NR)
- Starterpaare (Start_NR, R_NR, Pf_NR)
- Starts (Start_NR, P_NR)

Erstellen der Datenbank

Abfragen

Abfrage 1

Man möchte erfahren wer alles mit Nachnamen "Schmidt" teilnimmt. ( Dazu Vorname und Geburtstag)

Abfrage 2

Susanne Friedrich startet mit zwei Pferden, hat aber vergessen welche Startnummer zu welchem Pferd gehört. (Dazu Startnummer und Pferdename)

Abfrage 3

Ein Interessent möchte wissen in welchen Prüfungen Quickstep startet. Dazu brauchter die Prüfungsart und -klasse in der das Pferd startet.

Abfrage 4

Die Turnierleitung hat den fertigen Ausdruck der Starterliste für die Prüfung 4 verloren, sie benötigen nun eine neue. Dazu benötigt man den Reiter(-name) und den Pferdename.


Reflexion

Natülich ist meine Datenbank ein geplantes Turnier mit Prüfungen nur angerissen, es gibt nämlich auf richtigen Turnieren mehr als vier Prüfungen, mehr als die hier gegebenen Reiter-Pferd-Paare und im allgemeinen mehr von allen beteiligten. Die Datensätze die ich implimentiert habe in die gegebenen Tabellen sind also schlichtweg nur als kleiner beispielhafter Anteil zu sehen.
Meine Datenbank ist in ihrer Nutzung mit den Abfragen etwas unhandlich, daher zu jeder Abfrage die jeweiligen Verknüpfungen per Hand einzugeben sind. Generell ist das Eingeben und Verknüpfen von Datensätzen per Hand bei einem großen Turnier mit annähernd 20 Prüfungen und dementsprechend vielen Pferde sehr unhandlich. Es wird dafür wahrscheinlich ein handlicheres Programm benötigt mit vorgefertigten Abfragebögen.
Außerdem kann ich nicht nach sämtlichen Kennnummern abfragen, daher das Programm nur mit ihnen zu arbeiten scheint, sie aber nicht preisgeben will.

Persönliche Werkzeuge