我正在处理一个包含大量主机游戏的数据库。至于现在,它只有gameid
、title
、imgcover
、publisher
和releasedate
。我正在从数据库中检索游戏并使用 DataList 显示它们。但是,我希望能够显示仅属于一个或多个控制台(例如 PS4 和 Xbox One)的游戏。定义每个游戏适用于哪些游戏机的最佳方式是什么?我对数据库还很陌生,所以我唯一能想到的就是为每个游戏的每个控制台设置一个 true/false 列,但这听起来像是一种可怕的做法。我应该为每个控制台创建表格并简单地列出 gameid
和 title
吗,还是有更简单、更有效的方法?谢谢!
最佳答案
如果我是你,我会采用两种不同的方式。
创建控制台表并拥有与所有控制台相关的条目。
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/
除非您有其他方法,否则您几乎可以做到这一点。
关于asp.net - 游戏数据库 - 按控制台对游戏进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23086960/