我正在开发一个包含很多主机游戏的数据库。至于现在,它只有gameid
,title
,imgcover
,publisher
和releasedate
。我正在从数据库中检索游戏并使用DataList显示它们。但是,我希望能够显示仅属于一个或多个控制台的游戏(例如PS4和Xbox One)。定义每个游戏可用的控制台的最佳方法是什么?我对数据库很陌生,所以我唯一能想到的就是每个游戏的每个控制台都有一个真/假列,但这听起来像是一种可怕的方式。我应该为每个控制台创建表格,只需在那里列出gameid
和title
,还是有更简单,更有效的方法?谢谢!
答案 0 :(得分:3)
如果我是你,我会采取两种不同的方式。
创建一个控制台表,并提供与所有控制台相关的条目。
1.1。创建一个Game_Console表,并将与Gameid和Consoleid相关的条目作为键,这样就无法进行重复。
1.2使用Game_Console加入游戏和控制台,以便通过使用可能的索引更快地检索数据。
或
在同一个游戏桌中有另一个名为Console的列,并且包含逗号分隔值的数据,如XBOX360,PS3,XBOXONE,PS4(等)。
1.1编写用户定义的函数以拆分逗号分隔值。请参阅我为分割字符串http://sqlsaga.com/sql-server/split-function-in-sql-server/
除非你有其他方法,否则你几乎可以做到这一点。