我正在构建一个SQLite数据库,用于在我的多人Android棋牌应用程序的国际象棋游戏中存储数据。我最终会为了网络目的创建一个MySQL远程数据库,所以请记住这一点。
鉴于成千上万的用户(希望)总共会玩数千款游戏,我应该为每位用户提供一张桌子吗?但是我想把游戏存放在一个地方的两个人之间,所以我不应该每场比赛有一张桌子吗?
另外,我想记录每场比赛中的动作,如果我们选择一个游戏一个桌面模型,那么它是否有意义,让每一行对应于下面的棋盘状态给定的举动?
我是一般的编码和SQL数据库的完全新手。我的整体策略是否合理?
答案 0 :(得分:2)
总的来说,我会说你的设计是完全错误的。
在设计数据库时,表格应该更加通用化(即table_users
而不是table_user_1
,table_user_2
等。否则,通过增加复杂性,您的数据库将立即变得几乎无法使用。
我建议您查看一些MySQL教程(here,here和here),了解数据库的设计和工作方式。
作为一个基本结构,我会创建users
,games
和moves
作为表格,然后使用foreign keys