与物品数量的简单关系

时间:2011-01-27 22:06:46

标签: sql oracle entity-relationship database-schema

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

enter image description here

1 个答案:

答案 0 :(得分:0)

也许我错过了什么,但为什么你会有三张桌子?我认为你有一个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>>

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