Wer gibt mir einen SQL-Denkanstoss ?

mkoeni1

Erfahrenes Mitglied
Hallo SQL-Gemeinde,

mein Problemchen ist folgendes:
Ich möchte von einem Fußballverein die Daten einer Meisterschaft in meiner MySQL DB festhalten und per PHP auslesen.
Ich habe 3 Tabellen (bis jetzt) angelegt, die Daten zu einem Spieltag, zum opponent, Datum des Spieltags, Ergebnis des Spieltags (<- läuft alles prima) enthalten,
und (mehrere) Torschützen (hier liegt jetzt der Hund begraben ) .

Jetzt geht es mir darum, und das ist mein Problem. Wie lege ich diese Torschützen an ?

Ich hab versuch mittels eines (foreign key) eine weiter Spalte
-> scorer_id_fk
in der Tabelle akt_spieltag anzulegen,
dieauf eine weitere Tabelle
all_scorer -> scorer_id_pk (primary key) verweist.

Beim Anlegen eines scorers fallen folgende Werte an:
name (Name des scorers),
vname (VName des scorers),
countgoals (number of goals),
minute1 (goal time),
minute2 (goal time),
minute3 (goal time),
minute5 (goal time),
minute6 (goal time).

Das können dann zb. folgende values sein:
-> 'Maier', 'hans', '3', '34', '72', '90', '', ''.

Bei einem Torschützen schön und gut, -> scorer_id_fk = 1, -> scorer_id_pk = 1
alles klar ->
auslesen and have phun.Wie gelingt es mir aber mehrere Torschützen anzulegen
scorer_id_fk = 1
scorer_id_fk = 2
scorer_id_fk = 3
d.h. 3 Torschützen zu einem Spieltag, sei es der 24 Spieltag

Wie kann ich dieses Problem lösen. Bestimmt hatte jmd. schon mal ein ähnliches Hindernis zu überwinden ;-)

Für jede Anregung bin ich sehr dankbar :-)
Viele Grüße
Matze
 
Hallo Leute,

ist mal wieder schönes Wetter ich weiß, aber ...

Ich möchte einfach zu einer Spalte(fk) mehrere PKs anlegen. Ich bekomme das aber nicht gebacken.
Auf meine Seite umgesetzt, will ich einfach zu einem Spieltag mehrere Torschützen anlegen. ich kann aber in der Spalte FK nur auf einen PK referenzieren. Ich weiß, ich habe den falschen Denkansatz. Habe mich aber total verbohrt :-(

Wer kann mir helfen ?


Viele Grüße
Matze
 
Normalisierung ist das Schlüsselwort: Du brauchst mehrere Tabellen. Ganz grob würde ich nach folgendem Entwurf vorgehen. Ganz wichtig wäre mir, auch eine Tabelle für die Mannschaft anzulegen. Damit kannst Du im Bedarfsfall gleich Daten mehrerer Mannschaften festhalten.

Mannschaft
ID
Name

Spieler
ID
Mannschaft-ID
Name
Vorname

Spiele
ID
Mannschaft-ID
Gegner-ID
Name
Datum

Tore
Mannschaft-ID
Spieler-ID
Spiel-ID
Minute
 
Hallo,

mir scheint, hier geht es um die Abbildung einer m:n-Relation. Dazu benutzt man meist eine separate Tabelle, die diese Relation repräsentiert. Schematisch dargestellt:

Code:
+-----------+     +------------------+     +-----------+
| spieltage |     |       tore       |     |  spieler  |
+-----------+     +------------------+     +-----------+
| id   (PK) |<-+  | id          (PK) |  +->| id   (PK) |
| ...       |  +--| spieltag_id (FK) |  |  | name      |
+-----------+     | spieler_id  (FK) |--+  | vname     |
                  | minute           |     | ...       |
                  | ...              |     +-----------+
                  +------------------+
tore ist dabei die Verknüpfungstabelle, die einem Spieltag Tore verschiedener Spieler zuordnet (bzw. umgekehrt einem Spieler Tore verschiedener Spieltage).

Insgesamt scheint Datenbankschema aber noch etwas unausgereift zu sein. Wenn du das komplette Schema (am besten als Strukturdump mit phpMyAdmin o.ä. erstellt) hier reinstellst, können wir dir vielleicht noch den ein oder anderen Tipp geben :)

Grüße,
Matthias

PS: ASCII-Art dauert eindeutig zu lange ;)
 

Neue Beiträge

Zurück