假设我想为收集各种稀有视频游戏的人提供一个用户表。进一步假设我为这些用户可以创建和保存的视频游戏列表创建了模型。我如何将列表保存在数据库中。
例如,我的想法是在用户表中会有一个名为game_list的单元格,这是一个用逗号分隔的游戏列表。游戏是一个单独的表,其中包含静态游戏数据和统计信息,用户可以从中创建自己的稀有游戏列表。
这是最好的方法吗?顺便说一句,在特定解决方案的情况下,我正在使用滑轨。我知道这个问题相当笼统,但是我很难将问题表达给Google和这个网站来获得我要的答案。我是Web开发的新手(主要是SQL和HTML5部分),但不熟悉编程(已经进行了很长时间的编程)。
谢谢!
最佳答案
这是多对多的关系。通常用一个用于用户信息的表,一个用于游戏信息的表以及一个用于每个用户与游戏的关系的表来建模:
create table user(
user_id int primary key,
user_name varchar(255));
create table game(
game_id int primary key,
game_name varchar(255));
create table user_game(
user_id int not null references user(user_id),
game_id int not null references video(video_id));
insert into user values (1, "ed"), (2, "bob");
insert into game values (1, "pacman"), (2, "poker");
insert into user_game values (1, 1), (1, 2), (2, 2);
select user_name, game_name
from user
natural join user_game
natural join game;
http://sqlfiddle.com/#!2/6b637/1