对于我在学校的论文,我正在制作一个基于幻想足球网站的PHP网站。并在本地主机服务器上运行
我正在使用MySQL数据库,但在查找如何放置此数据库时遇到问题。我已经有一个玩家(id,名称,团队,位置)tabel,一个用户表(id,名称,密码,队员中的id player 1,id player 2,id player3,id player4)和一个匹配的表(id ,日期,主队,客队,结果)。但我想补充一下在那场比赛中得分的人。我怎么做这个因为有时2人得分,但也有5人得分?我该怎么做?
非常感谢所有帮助。
答案 0 :(得分:2)
您需要使用players_who_scored链接表来表示多对多关系。这看起来像这样:
CREATE TABLE players_who_scored (
player_id INT NOT NULL,
FOREIGN KEY (player_id) REFERENCES players(id),
match_id INT NOT NULL,
FOREIGN KEY (match_id) REFERENCES matches(id),
PRIMARY KEY (player_id,match_id)
);
如果你想跟踪游戏中玩家的所有统计数据,那么你可以添加如下列:
CREATE TABLE player_stats (
goals INT,
assists INT,
yellow_cards INT,
player_id INT NOT NULL,
FOREIGN KEY (player_id) REFERENCES players(id),
match_id INT NOT NULL,
FOREIGN KEY (match_id) REFERENCES matches(id),
PRIMARY KEY (player_id,match_id)
);