初学者 SQL 服务器 ERD 逻辑问题 - 为什么表格会以这种方式构建?

Beginner SQL Server ERD Logic question- Why would the tables be structured in this way?

我正在创建一个网站,该网站将有一个包含游戏列表的数据库。将有几种不同类型的游戏。

我正在查看 SQL 服务器实体关系图以供参考,但我想知道我粘贴在下面的部分:

GAMES Table (Contains a listing of all games):
GAME_ID INT IDENTITY (1, 1)
GAME_TYPE_ID INT
GAME VARCHAR(MAX)
CONSTRAINT (GAME_TYPE_ID) REFERENCES GAME_TYPE(GAME_TYPE_ID)

GAME_TYPE Table (Contains a list of all game types):
GAME_TYPE_ID INT IDENTITY (1, 1)
GAME VARCHAR(MAX)

只是想弄清楚 SQL 服务器数据库设计的逻辑。

为游戏类型创建一个单独的 table 的目的是,如果您的 GAMES table 中有一个 game_type 值,您可以使用外键来设置每个游戏的游戏类型],在本例中为 GAME_TYPE_ID。

至于Varchar(MAX),MAX允许无限长的字符串。此处的这篇文章更多地讨论了 Varchar(MAX) 与 TEXT 标签。 Why not use varchar(max)?