Hallo,
ich baue gerade eine Datenbank für Fussballer und frage mich, ob das so gut ist?
continent
id, name
country
id, name, continent_id
league
id, name, continent_id, country_id
team
id, name, continent_id, country_id, league_id
player
id, name, continent_id, country_id, league_id, team_id
Ich frage mich, ob man alle Relationen in jede Tabelle packt. Also vom Speicher her ist das kein Problem und ich sehe aktuell den Vorteil, dass ich z.B. nach allen Spielern eines Kontinentes suchen kann. Sonst müsste ich ja glaube ich einen Umweg über vier Tabellen machen. Andererseits ist glaube ich die Gefahr auf inkonsistente Daten um einiges höher.
Kann man der Datenbank irgendwie die Relation erklären, so dass sie eine Fehlermeldung ausspucken würde, wenn ich bei einem Insert einem Spieler zu seiner country_id die falsche continent_id liefern würde? Ich nutze MySQL und die Tabellen sind InnoDB.
Gruß, Tommy
ich baue gerade eine Datenbank für Fussballer und frage mich, ob das so gut ist?
continent
id, name
country
id, name, continent_id
league
id, name, continent_id, country_id
team
id, name, continent_id, country_id, league_id
player
id, name, continent_id, country_id, league_id, team_id
Ich frage mich, ob man alle Relationen in jede Tabelle packt. Also vom Speicher her ist das kein Problem und ich sehe aktuell den Vorteil, dass ich z.B. nach allen Spielern eines Kontinentes suchen kann. Sonst müsste ich ja glaube ich einen Umweg über vier Tabellen machen. Andererseits ist glaube ich die Gefahr auf inkonsistente Daten um einiges höher.
Kann man der Datenbank irgendwie die Relation erklären, so dass sie eine Fehlermeldung ausspucken würde, wenn ich bei einem Insert einem Spieler zu seiner country_id die falsche continent_id liefern würde? Ich nutze MySQL und die Tabellen sind InnoDB.
Gruß, Tommy