2011-11-11 62 views
0

我有一个想法,建立一个应用程序,用户可以在其中注册和保持某种类型的分数。数据库组织困境(简单的网络应用程序)

例如用户A,B和C都具有其特殊的分数:

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

表用户:

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是对表用户外键,使对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