我正在为我的游戏设计一个奖励系统。我有一个名为VirtualItem(VI)(key,display_name)的表,包含的数据可能是(gd,gold),(dm,diomond)。然后我有一个奖励表(id,reward_items等)
目前,reward_items是一个VI的json数组:[[{key:dm,count:5},{key:gd,count10]]。有一个门户网站允许用户使用CRUD reward_items。
我的问题是,我应该使用当前的平面结构,还是在其间添加另一层并使用reward_items中的引用?像reward_items:set_id(引用VirtualItemSet表)之类的东西。
显然,使用平面结构(json数组)将使查询变得容易。但我可能还需要将dislay_name放在JSON中。另外,当VI发生变化时,很难更新reward_items。
使用关系使得数据库模式更加复杂,并且对于rewit_items的CRUD操作进行后端操作也很复杂。(需要动态创建VirtualItemSet项目等)。它还使查询更复杂。但它将支持VI的动态变化。
你对此持何看法?或者这种类型的Senario有一个更好的数据库?
谢谢, 陈