背包系统的设计1
【背包系统的设计1】首先是数据库的设计:
物品类型表 物品类型id, 名称, 简介,
物品信息表 物品bid, 类型id, 名称, 简介, 堆叠数
物品-用户表 物品id(自增), 用户uid, 物品bid, 数量
这样设计是为了拓展性,用户的每个物品都有唯一id,那样就能做很多事情,例如对某物品进行升级等。但有个问题要注意,如果表操作频繁(insert,delete),那样物品id的类型就要进行考虑清楚是用int还是用bigint,这里就不详细说了。
一些细节
因为“堆叠数”的存在,所以在给用户增加物品的时候得注意一些情况(不展开说,直接给流程图)
Created with Rapha?l 2.2.0 用户增加200个物品a 找到堆叠数未满100的物品a的id id存在? 200数量是否已加完? 结束 物品数量增加 是否超出堆叠数? 创建新的物品id 创建新的物品id yes no yes no yes no 因为csdn流程图的原因没法显示完整,最下面那个"创建新的id"应该是要指向"200数量是否已加完?"这个判断,形成循环的。
Created with Rapha?l 2.2.0 创建新的物品id 找到堆叠数未满100的物品a的id id存在? 返回物品id 创建新的id yes no 另外创建新的id之前应该还要再找一次未满的id,找不到再创建,因为可能存在多个id堆叠数未满的情况。如果不做多一次判断,会导致id冗余。
我个人感觉这样的流程有点“多余”的味道,有时间再仔细思考更高效、结构更简单的流程
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量