2011-11-11 8 views
0

ユーザーが登録してお互いにいくつかの種類のスコアを保持できるアプリケーションを構築する考えがあります。例えば、ユーザA、BおよびCについてはデータベース構成のジレンマ(シンプルなWebアプリケーション)

すべてが彼らの特別なスコアがあります。

A-B for example 11-9 
B-C for example 22-80 
A-C for example 15-15 

を私はアイデアを持っているが、私はそれが正しい方法だか分からないので、私はあなたのいくつかを聞きたいのですが意見。

はあなたに

+0

私たちは私たちが答える前に、あなたの意見のいくつかを聞いてみたいと思います... – Paddy

+0

@IWalkedAwayは、ユーザーが唯一のこれまで2人プレイで競合します一致しますか?マッチごとの得点(全体の結果だけではなく)が重要なのでしょうか? –

答えて

1
user Table 
----------- 
id | name 
----------- 
1 | a 
2 | b 
3 | c 




score table 

--------------- 
userId1|userId2|user1score|user2score 
1|2|11|9 
2|3|22|80 
1|3|15|15 
2

テーブルユーザありがとう:そうuser_id_1と2の両方がテーブルのユーザへの外部キーがあり、

id name 
1 A 
2 B 
3 C 

テーブルMutualScore

user_id_1 user_id_2 score_1 score_2 
1   2   11  9 
... 

セットインデックスcorrectyをペアuser_id_1を作成し、 2ユニーク。しかし、私が知っている限り、一意性を否定する逆のペアがないことを確認して、挿入トリガーを作成する必要があり、あなたは明確な構造を持っています。

マルチプレイヤーマッチのために
1

Table User 
---------- 
User_ID (Primary Key) 
User_Name 

Table Match 
----------- 
Match_ID (Primary Key) 
Match_Date 

Table User_Match 
---------------- 
Match_ID (Primary Key) 
User_ID (Primary Key) 
Score 
関連する問題