Hilfe bei Datenbankmodellierung für Schwimmtrainer-Software

bumblebeeman

Neuer Benutzer
Beiträge
4
Hi!

ich habe mich das letzte Jahr mit C# beschäftigt, um eine Software für Schwimmtrainer zu schreiben. Das ganze solll opensource werden. Jetzt habe ich das Problem, dass ich zwar Datenbanken halbwegs lesen kann, aber selbst keine designen kann. Daher suche ich jemanden, der mir dabei hilft.

Ich suche keinen, der mir alles vorkaut, sondern jemanden, der mich dabei in die richtige Richtung schubst, um zum Ziel zu gelangen.

Viele Grüße

Robert
 
Werbung:
Ich suche keinen, der mir alles vorkaut, sondern jemanden, der mich dabei in die richtige Richtung schubst, um zum Ziel zu gelangen.

Ich denke, da bist Du nicht falsch ;-)

Frag einfach. Beschäftige Dich bitte aber auch selber mit Normalisierung in verbindung mit Datenbanken. Welche DB soll es sein? Soll es eine Standalone-Lösung werden oder eher was in Client-Server-Architektur?

Ich denke mal, mit SQLLite wärst Du bei einer Standalone-Lösung ganz gut bedient, wenn es a bissl größer sein darf und/oder bei einem Hoster und/oder im Intranet laufen soll würde ich eher zu PostgreSQL raten.
 
Also ich dachte auch an SQLite. Client-Server möchte ich nicht unbedingt.

Was ich alles brauche: Schwimmer, Wettkampfauswertung(jedem Schwimmer seine Zeiten pro Strecke zuordnen), und dann eine Trainingsplanung mit Anwesenheitsliste.

Ein bisschen habe ich mich auch mit Datenbanken beschäftigt und was simples bekomme ich auch hin, aber das ist mir etwas zu komplex.
 
Also ich dachte auch an SQLite. Client-Server möchte ich nicht unbedingt.

Was ich alles brauche: Schwimmer, Wettkampfauswertung(jedem Schwimmer seine Zeiten pro Strecke zuordnen), und dann eine Trainingsplanung mit Anwesenheitsliste.

Ein bisschen habe ich mich auch mit Datenbanken beschäftigt und was simples bekomme ich auch hin, aber das ist mir etwas zu komplex.

Mal so ganz grob noch ohne Frühstückskaffee:

Code:
test=*# create table schwimmer(id int primary key, name text, geb_datum date);
CREATE TABLE
Time: 286,913 ms
test=*# create table disziplinen (id int primary key, name text);
CREATE TABLE
Time: 47,027 ms
test=*# create table events (id int primary key, name text, datum date);
CREATE TABLE
Time: 12,500 ms
test=*# create table event_disziplin(id int primary key, event int references events, disziplin int references disziplin);
ERROR:  relation "disziplin" does not exist
Time: 56,885 ms
test=*# create table event_disziplin(id int primary key, event int references events, disziplin int references disziplinen);
CREATE TABLE
Time: 4,188 ms
test=*# create table zeiten(id int primary key, event_disziplin int references event_disziplin, teilnehmer int references schwimmer, zeit int);
CREATE TABLE
Time: 21,358 ms

In die Schwimmer kommen halt die Schwimmer, in die Disziplinen Rücken 100m, Brust 200m und so weiter. In Events die Wettkampftage, also z.B. Weihnachtsschwimmen 2014. In Event_Disziplin kommt, was an den Events überhaupt gemacht wird, wird ja sicher nicht immer dasselbe Programm abgespult.
In die Zeiten-Tabelle dann Referenzen auf die konkrete Disziplin&Event, den konkreten Schwimmer und seine Leistung.

So kannst Du recht flexibel auswerten, was so an Events es gab, welche Disziplinen wie oft gemacht wurden, welcher Schwimmer wo teilgenommen hat, seine Zeiten und so weiter.

Das ist so sicher noch nicht perfekt, aber mal so als grobe Peilung, wie man so was aufbauen kann unter Nutzung von Features wie referentieller Integrität.
So kann z.B. nur eine der definieten Disziplinen ausgewählt werden, nur bekannt Schwimmer etc.
 
ja, den text kann ich auch noch lesen... aber wenn das dann komplexer wird(trainingspläne, anwesenheit, belastung, etc) ist es vermutlich übersichtlicher, so ein ER-Diagramm zu haben...
 
Werbung:
ist es vermutlich übersichtlicher, so ein ER-Diagramm zu haben
Ein ERD ist immer eine gute Idee. Für Anfänger bietet sich die Chen-Notation und Dia als Software an.

Um das Datenbankschema zu visualisieren könnte man DBDesigner 4 benutzen. Die Software wurde ursprünglich auf MySQL ausgelegt. Unterstützt allerdings auch SQLite.

Als Admintool hat sich SQLite Expert als recht nützlich erwiesen. Für die meisten Anwendungsfälle reicht die kostenfreie Personal-Version.

Gruß
Hony
 
Zurück
Oben