我是数据库的新手,但我认为我终于遇到平面文件不能正常工作的情况.
我正在编写一个程序来分析多人游戏的结果,每个游戏可以将任意数量的玩家分组到任意数量的团队中.我希望允许玩家在游戏中获胜,打平或离开(并根据团队表现获胜/失败).
我也可能希望存储历史玩家评分(除非从他们的游戏历史中重新计算得更快),所以我不知道这是否意味着将每个玩家的评级与每个游戏一起存储,或者为每个玩家分别设置一个表,或者是什么.
我没有看到任何影响数据库选择的标准,但我会列出免费的:
PostgreSQL的
MySQL的
SQL Server Express
Oracle Express
我不推荐像SQLite这样的嵌入式数据库,因为嵌入式数据库在功能上进行权衡以适应空间和大小问题.我不同意他们认为数据打字应该放宽的信念 - 这导致了很多关于即将处理日期/时间过滤等问题的问题......
您将需要了解规范化,将数据获取到第三范式(3NF),因为它强制实施参照完整性,这也最大限度地减少了数据冗余.例如,您的玩家统计数据不会存储在数据库中 - 它们会在请求时根据数据进行计算.