我不知道如何制作一个标题,但问题就在这里。
我有一个用户表(比方说有8百万人),我希望用所有用户拥有的游戏制作一份Steam副本。
(图1)用户为每个拥有的游戏制作每个用户的表格会更好吗?
OR
(图2)让游戏桌拥有拥有游戏的用户会更好。
答案 0 :(得分:2)
这就是你需要的:
表用户
$field = 233;
$value = 234;
user_id | user_name
1 Rick
2 Dwayne
3 Mark
桌面游戏
CREATE TABLE `users` (
`user_id` INT(11) NOT NULL,
`user_name` VARCHAR(30) NOT NULL,
PRIMARY KEY (`user_id`)
)
game_id | game_name
1 League of Legends
2 Dota
3 Skyrim
表own_games
CREATE TABLE `games` (
`game_id` INT(11) NOT NULL,
`game_name` VARCHAR(30) NOT NULL,
PRIMARY KEY (`game_id`)
)
user_id | game_id
1 1
1 3
3 2
2 1
这是适合您情况的完美布局。约束将删除owned_games中提及已删除用户或游戏的任何行。
答案 1 :(得分:1)
3张桌有什么问题?
用户:保存所有用户信息
游戏:保存所有游戏信息
OwnedGames:2列。 UserID和GameID。保存用户拥有哪些游戏的映射。