Tôi thường xuyên chơi một trò chơi 2v2 với 12 người bạn và tôi muốn có cơ sở dữ liệu để theo dõi người chơi, đội, điểm số và trò chơi, với mục đích tạo ra một hệ thống xếp hạng.
Kể từ khi chúng tôi thường xuyên thay đổi đội tôi đã đi lên với các bảng players
, teams
và games
nơi mà các trò chơi có hai đội (Đội 1 và TEAM2) và các đội gồm hai người chơi (player1 và player2).
Điều này gây ra khá nhiều vấn đề - ví dụ: nếu tôi chọn hai người chơi (hãy gọi họ là A và B ) để chơi cùng nhau, tôi phải kiểm tra xem đã tồn tại một đội trong đó Player1 là A và Player2 là B hay Player1 là B và Player2 là một.
Các cột games
và wins
có mặt trong cả players
bảng và teams
bảng - nhưng điều này là do tôi muốn xem cả hai người chơi giành được bao nhiêu trò chơi, nhưng cũng có khả năng người chơi tương thích trong các đội khác nhau như thế nào (tần suất người chơi chiến thắng khi hợp tác với một người chơi cụ thể khác).
- Bảng xếp hạng (tôi có thể sẽ sử dụng hệ thống xếp hạng Elo )
- Một trang thống kê cho mọi người chơi có xếp hạng, chiến thắng, trò chơi, số liệu thống kê trò chơi gần đây và người chơi nào anh ta tương thích nhất.
Tôi nghi ngờ rằng phần lớn điều này vi phạm một số nguyên tắc trong chuẩn hóa cơ sở dữ liệu và tôi sẽ thích một số đề xuất như cách triển khai thiết kế cơ sở dữ liệu của tôi.