gpt4 book ai didi

mysql - 关系数据库(拥有游戏的每个用户 1 个表)

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:08 25 4
gpt4 key购买 nike

我不知道如何用它制作标题,但这是问题。

我有一张用户表(假设有 800 万人),我希望制作一份包含所有用户拥有的游戏的 Steam 副本。

(图 1)是否为每个用户制作一个包含每个用户拥有的游戏的表格会更好?

(图2)让游戏 table 拥有拥有游戏的Users会不会更好。

enter image description here

最佳答案

这是你需要的:

Table users

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`)
)

Table games

game_id  | game_name
1 League of Legends
2 Dota
3 Skyrim

 CREATE TABLE `games` (
`game_id` INT(11) NOT NULL,
`game_name` VARCHAR(30) NOT NULL,
PRIMARY KEY (`game_id`)
)

Table owned_games

user_id  | game_id

1 1
1 3
3 2
2 1

CREATE TABLE `owned_games` (
`user_id` INT(11) NOT NULL,
`game_id` INT(11) NOT NULL,
INDEX `FK_owned_games_users` (`user_id`),
INDEX `FK_owned_games_games` (`game_id`),
CONSTRAINT `FK_owned_games_games` FOREIGN KEY (`game_id`) REFERENCES `games` (`game_id`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_owned_games_users` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE ON DELETE CASCADE
)

这是适合您情况的完美布局。约束将删除 owned_games 中提及已删除用户或游戏的任何行。

关于mysql - 关系数据库(拥有游戏的每个用户 1 个表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com