类似 5173 ,不用多说什么了吧。
现在的设计如下:
item_category
商品分类主表id:
name:商品分类名称(装备、金币、账号等)
game_category
游戏分类表id:
name:游戏分类名称(网页游戏,客户端游戏,手机游戏)
game
系统支持的游戏列表id:
name:游戏名称
game_category_id:游戏分类 id
game_attr
游戏属性表id:属性 id,自增
name:属性名称(如法师、侏儒、精灵,其实这个表只有账号、装备有用)
item_catetory_id:商品分类 id (这个属性属于什么分类比如装备、账号、金币)
item
商品表id:
name:商品名称
game_id:游戏 id
item_category_id:商品分类 id
item_attr_relation
商品属性对照表item_id:商品 id
game_attr_id:属性 id
然后一些应用场景:
根据属性进行筛选商品获取列表
select * from item where item_category_id = 1 and id in (
select item_id from item_attr_relation where game_attr_id =1
)
但是明显数据库的设计有不合理的地方,游戏属性就是类似淘宝的选择手机,就出现品牌、 RAM 大小、操作系统。选择衣服出现品牌、尺寸等分类下细分条件筛选场景。
应用到这里就是装备的等级、职业、性别筛选。账号的对应属性筛选,比如如果卖 QQ 号就要可以筛选等级( 0-10 级),账号的性别、职业等。
哪里不合理求指点(小创业公司木有专业的 DBA - -#),搜索用 elasticsearch 所以还要考虑到结合创建索引的问题。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.