das kommt wohl drauf an - aber ich denke eine Tabelle im Format
id primary key / auto_increment
skill_name varchar(50)
skill_kosten integer (Goldkosten fürs erlernen)
mindest_level integer (Mindeststufe, um den Skill zu lernen)
skill_voraussetzung (wenn es nur ein anderer Skill ist, der vorausgesetzt wird)
wenn du da noch Punkt-Kosten einbringen willst -> eine weitere Spalte dafür
vom Prinzip her schreit aber skill voraussetzung aufgrund einer m:n struktur (M neue Skills setzen N verschiedene alte Skills voraus) nach einer weiteren eigenen Tabelle
id primary key / auto_increment
skill_id integer / Foreign key auf id aus Skills (der Skill um den es geht)
vorausgesetzte_id integer / Foreign key auf id aus skills ( ein vorausgesetzter Skill)
wenn ein Skill mehrere andere voraussetzt, gibts in der Voraussetzungen-Tabelle für jeden vorausgesetzten Skill einen eigenen Datensatz -
ausgelesen wird das Ganze mit JOINs (Achtung - die Skill-Tabelle 2 mal hinzunehmen, mit verschiedenen Tabellen-Alias, sonst funktionieren die Abfragen nicht richtig)
Für die gelernten Skills brauchst du eine weitere Tabelle
id primary key / auto_increment
spieler_id integer - fremdschlüssel in Spieler-Tabelle
skill_id integer - fremdschlüssel in Skill-Tabelle
id primary key / auto_increment
skill_name varchar(50)
skill_kosten integer (Goldkosten fürs erlernen)
mindest_level integer (Mindeststufe, um den Skill zu lernen)
skill_voraussetzung (wenn es nur ein anderer Skill ist, der vorausgesetzt wird)
wenn du da noch Punkt-Kosten einbringen willst -> eine weitere Spalte dafür
vom Prinzip her schreit aber skill voraussetzung aufgrund einer m:n struktur (M neue Skills setzen N verschiedene alte Skills voraus) nach einer weiteren eigenen Tabelle
id primary key / auto_increment
skill_id integer / Foreign key auf id aus Skills (der Skill um den es geht)
vorausgesetzte_id integer / Foreign key auf id aus skills ( ein vorausgesetzter Skill)
wenn ein Skill mehrere andere voraussetzt, gibts in der Voraussetzungen-Tabelle für jeden vorausgesetzten Skill einen eigenen Datensatz -
ausgelesen wird das Ganze mit JOINs (Achtung - die Skill-Tabelle 2 mal hinzunehmen, mit verschiedenen Tabellen-Alias, sonst funktionieren die Abfragen nicht richtig)
Für die gelernten Skills brauchst du eine weitere Tabelle
id primary key / auto_increment
spieler_id integer - fremdschlüssel in Spieler-Tabelle
skill_id integer - fremdschlüssel in Skill-Tabelle
Kommentar