› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
cevincheung
V2EX  ›  MySQL

一个游戏交易网的数据库设计,求指点

  •  
  •   cevincheung ·
    cevin · Sep 11, 2015 · 4216 views
    This topic created in 4066 days ago, the information mentioned may be changed or developed.

    类似 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

    然后一些应用场景:
    根据属性进行筛选商品获取列表

    获取装备为“地精”的商品列表,假设地精 id 为 1 ,商品分类“装备”的 id 为 1

    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 所以还要考虑到结合创建索引的问题。

    3 replies  •  2015-09-11 11:03:30 +08:00
    lavadore
        1
    lavadore  
       Sep 11, 2015
    ...这个还真不是一两句话就能说清楚的
    cevincheung
        2
    cevincheung  
    OP
       Sep 11, 2015
    @lavadore 可以大胆胡说嘛 :doge:
    badaciacia
        3
    badaciacia  
       Sep 11, 2015
    我倾向于把这种表结构

    game 系统支持的游戏列表
    id:
    name: 游戏名称
    game_category_id: 游戏分类 id

    设计为 2 张表

    game 系统支持的游戏列表
    id:
    name: 游戏名称


    游戏,分类映射表
    id:
    game_id
    game_category_id: 游戏分类 id
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1447 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 19:05 · PVG 03:05 · LAX 12:05 · JFK 15:05
    ♥ Do have faith in what you're doing.