Saya secara teratur memainkan permainan 2v2 dengan 12 teman dan saya ingin database untuk melacak pemain, tim, skor dan permainan, dengan tujuan menciptakan sistem peringkat.
Karena kami secara teratur mengganti tim, saya menghasilkan tabel players
, teams
dan di games
mana permainan memiliki dua tim (team1 dan team2) dan tim terdiri dari dua pemain (pemain1 dan pemain2).
Ini menyebabkan beberapa masalah - misalnya jika saya memilih dua pemain (sebut saja mereka A dan B ) untuk bermain bersama, saya harus memeriksa apakah sudah ada tim di mana Player1 adalah A dan Player2 adalah B atau Player1 adalah B dan Player2 adalah.
Kolom games
dan wins
ada di kedua players
tabel dan teams
tabel - tapi ini karena saya ingin melihat berapa banyak permainan dimenangkan oleh para pemain, tetapi juga seberapa kompatibel pemain dalam tim yang berbeda (seberapa sering seorang pemain menang ketika bergabung dengan pemain spesifik lain).
- Papan skor peringkat (saya mungkin akan menggunakan sistem peringkat Elo )
- Halaman statistik untuk setiap pemain dengan peringkat, kemenangan, permainan, statistik game terbaru, dan pemain mana yang paling cocok dengannya.
Saya sangat curiga bahwa banyak dari ini melanggar beberapa prinsip dalam normalisasi basis data, dan saya akan senang dengan beberapa saran bagaimana menerapkan desain basis data saya.