初学者 SQL 服务器 ERD 逻辑问题 - 为什么表格会以这种方式构建?
Beginner SQL Server ERD Logic question- Why would the tables be structured in this way?
我正在创建一个网站,该网站将有一个包含游戏列表的数据库。将有几种不同类型的游戏。
我正在查看 SQL 服务器实体关系图以供参考,但我想知道我粘贴在下面的部分:
为什么 GAME_TYPE
是它自己的 table 而不是 "Games" Table 的一部分?
GAME VARCHAR(MAX)
在 GAME_TYPE
Table 下面的目的是什么?
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)?
我正在创建一个网站,该网站将有一个包含游戏列表的数据库。将有几种不同类型的游戏。
我正在查看 SQL 服务器实体关系图以供参考,但我想知道我粘贴在下面的部分:
为什么
GAME_TYPE
是它自己的 table 而不是 "Games" Table 的一部分?GAME VARCHAR(MAX)
在GAME_TYPE
Table 下面的目的是什么?
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)?