Aufbau einer Liga, aber wie

Alle Entitäten, die man abbilden kann, erhalten eine extra Tabelle:
- Spielart
- Cups
- Spieler
- Teams
- Spiele

Um die Zuordnung zwischen den einzelnen Tabellen herzustellen, werden entweder direkt Fremdschlüssel verwendet (1:n-Beziehungen) oder Zwischentabellen für n:m-Beziehungen.

Sven
 
Hmmm ehrlich gesagt bin ich aus deinem Beitrag nicht sonderlich schlauer geworden, ausser dass ich für jedes Teil eine eigene Tabelle nehmen soll (Spieler, Teams, Cups, etc.). Aber wie stelle ich die Beziehungen zwischen den Ligen z.b. her bzw. wie Sage ich wer in welcher Liga ist und wie ich Unterligen verteile.
 
Gott Kinder so schwer ist das doch nun wirklich nicht. Ihr macht es euch aber auch schwerer als es in Wirklichkeit ist!

Man nehme mehrere Tabellen für Teams, Spieler usw. die man mittels mehrer "ID`s" einander zuordnet.

z.B.:
Tabelle Teams
team_id | team_name | team_url | etc. ...

Tabelle Spieler
spieler_id | spieler_team_id | spieler_geschlecht | etc. ...

Jetzt kann man über spieler_team_id den Spieler einem Team zuordnen, bei Bedarf auch mehreren.
Alternativ käme mir noch der Gedanke bei den Teams eine Spalte für Spieler zu machen und dort kommagetrennt die ID`s der Spieler einzutragen ...
 
also ich stell mir das mal so vor


Tabelle TEAM
Tabelle USER
Tabelle LIGA

USER hat Name, Nickname, ... und TEAM ID (verweis auf LIGA ID)
in TEAM steht: TEAM ID, Gründungsdaten, Spiel ID, ... LIGA ID (in welcher LIGA sie zocken)
 
Hallo!

Also ich habe mir mal Gedanken selbst gemacht über das Thema. (wierholt) Jedoch habe ich immernoch ein Problem, und zwar wie kann ich den Spielern mehrere Teams zuordnen durch die erwähnten Kommatrennungen? Das verstehe ich nicht ganz wie ich diese dann auslesen können soll?

Meine Idee wäre jetzt gewesen folgendes:

1 Usertabelle

ID, Nick, verschlüsseltes PW, TeamID jedoch wie erwähnt wie mehr Teams zuweisen ohne Team2ID ... machen zu müssen?

1 Ligentabelle

ID, Art, Unterliga, Oberliga, Saison (Unter- und Oberliga um Auf und Abstieg zu simulieren)

1 Teilnehmertabelle

TeilnehmerID, LigaID, 1on1, Team, spiele etc. (hier dann einfach die TeamID rein schreiben und bei Team = 1 setzen um Teamliga)

1 Cupstabelle für Turniere

1 Teamtabelle

Team ID, Name, OwnerID, etc...

1 Spieletabelle

MatchID, Art, ID Home, ID Away, Tore Home, Tore Away ...

Blos wie gesagt ich weiss nicht wie das klappen soll mit mehreren Teamzuweisungen.

Mit freundlichen Grüßen
2Pac
 
Hi, also ich hab mir hier nicht alles durchgelesen, bin aber grad selber dabei eine Liga zu coden. Mein Ansatz war es sie so flexibel wie möglich aufzubauen, ohne Spezialevents wie Cups usw.

meine Struktur:

User Tabelle
id, nick, email, password, etc

Game Tabelle
id, name, short

Liga Tabelle
id, name, short, gameid, typ (1on1, Teamliga), Anzahl Maps, Mappool

Teams
id, name, Registrier Datum, typ (Mutterteam, Subteam), etc

User Tabelle für die Ligen
id, userid, gameid, ligaid, punkte, etc

Team Tabelle für die Ligen
id, teamid, gameid, ligaid, punkte, etc

Match Tabelle
id, gameid, ligaid, teamid bzw userid des Fordernden, teamid bzw userid des Geforderten, time, map1, map2, die passenden Ergebnisse dazu, winteamid, Zusatzinfos wie: angenomme Forderung, Match gespielt oder nicht, Match abgelehnt.

Zusätzlich zu der Match Tabelle hab ich noch eine Matchrequest Tabelle gemacht, die aber optional ist. Sie soll dazu dienen, dass ein Script oder ein Admin den Request überprüfen kann und ihn freigeben oder löschen kann. Zum Beispiel, wenn ein Team zuviele Penalty Points usw hat.

Es ist nicht ganz so einfach das alles zu erklären, aber von der Grundstruktur her dürfte es alles ziemlich dynamisch sein. Ich hab bei den Ligen und bei der User bzw Team Tabelle für die Ligen noch zusätzliche Infos eingebaut, wie zum Beispiel den Status des Spielers/Teams, also ob aktiv oder nicht. Weiterhin hab ich ein paar Gimmicks eingebaut, wie zum Beispiel eine User bzw Team History, also eine Auflistung der Ereignisse, wie zum Beispiel wenn ein User/Team einer Liga joinen will, eine Liga verlässt oder ein Team umbenannt wird usw.

Wenn man nur ein kleines Ligascript haben will, für private kleinere Lans, oder auch für eine kleine Internet Liga sollte es natürlich nicht so kompliziert sein, aber mein projekt soll halt etwas grösser sein, Vorbild: ESL :]

Bei Fragen kannst dich ja bei mir melden, hab bloss im Moment keine Flatrate, also dauert das mit dem antworten immer etwas :]

//Ben
 
2Pac hat gesagt.:
Jedoch habe ich immernoch ein Problem, und zwar wie kann ich den Spielern mehrere Teams zuordnen durch die erwähnten Kommatrennungen?

Nicht über Kommatrennung! Es wird eine Zwischentabelle angelegt, die eine Spalte für die ID des Spielers hat und eine weitere Spalte für die ID des Teams. Somit können mehrere Spieler mehreren Teams zugeordnet werden. Dazu sollte man sich aber mal mit relationalen Datenbanken und deren Modellen vertraut machen.

Sven
 
Zurück