簡體   English   中英

MySQL數據庫設計

[英]MySQL Database design

我正在構建一個夢幻足球應用程序,其中有一個可以存儲所有球員的桌子。 我已經設計了如下表。 到目前為止,該系統在編隊為4-4-2的情況下正常工作,其中一名守門員不在場,一名防守隊員在外,一名前鋒不在場,對球隊進行更改就像在場上將一名球員換成替補隊員一樣容易。

在此處輸入圖片說明

問題來了,因為我想擁有3-5-2,5-4-1等多個陣型,我不知道如何將其保存到數據庫中,以便當有人查看更改的團隊時,他可以看到例如當陣型為3-5-2時兩名防守者退出。 我已經使用javascript實現了前端,問題是后端。 當我用完所有選項時,將不勝感激。

可能的解決方案是使用下表

user
id | team_name | current_formation_id
 1 | Masaki    | 1
 2 | Other     | 3

formation
id | desc | defenders_count | midfielders_count | forwarders_count
 1 | 442  | 4               | 4                 | 2
 1 | 433  | 4               | 3                 | 3
 1 | 352  | 3               | 5                 | 2

player
id | name | role | whatever_else
 1 | P1   | MID  | ...
 2 | P2   | DEF  | ...
 3 | P3   | FWD  | ...

user_roster
user_id | player_id | is_on_field
      1 |         1 | 1
      1 |         2 | 0
      1 |         3 | 1

這樣,您可以靈活地更改陣型而無需更改表的結構,可以通過簡單的查詢知道哪些球員坐在板凳上以及哪些球員在比賽,並且還可以輕松地檢查當前玩家是否尊重當前的陣型計數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM