【问题标题】:Simple relation with amount of items与项目数量的简单关系
【发布时间】:2011-06-16 21:15:54
【问题描述】:

我有一个项目,我在其中模拟某些游戏中的用户数据库。每个用户都有存储物品的设备。现在我想在每个用户设备中添加每个项目的表存储量,但我不太确定如何查看 Equipment|Equipment_items|Items_amount 表之间的关系。这是来自 Visio 的方案:

【问题讨论】:

  • Visio图表好像没有上传成功。

标签: sql oracle entity-relationship database-schema


【解决方案1】:

也许我遗漏了一些东西,但你为什么会有三张桌子?我认为你会有一个 Item 表、一个 User 表和一个 User_Item 交叉表,其中包含项目数。类似的东西

CREATE TABLE item (
  item_id NUMBER PRIMARY KEY,
  item_name VARCHAR2(100),
  <<some other attributes>>
);

CREATE TABLE user (
  user_id NUMBER PRIMARY KEY,
  user_name VARCHAR2(30),
  <<some other attributes
);

CREATE TABLE user_item (
  user_item_id NUMBER PRIMARY KEY,
  user_id      NUMBER REFERENCES user( user_id ),
  item_id      NUMBER REFERENCES item( item_id ),
  quantity_held NUMBER
);

听起来用户的装备只是查询的结果(即 3 把大刀、1 个圣杯、2 个治疗药水)。

SELECT item_id, quantity_held
  FROM user_item
 WHERE user_id = <<some user ID>>

但也许您认为玩家拥有多件装备,每件装备都包含物品(即,用户在每件装备中都有一个背包、一个马鞍包和一个小袋以及不同的物品)?

【讨论】:

  • 可能有些属性不适用。 IE:马鞍,+20 伤害
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
  • 2012-03-25
  • 2017-04-04
  • 2013-06-12
  • 2014-02-12
  • 1970-01-01
相关资源
最近更新 更多