2011-01-27 23 views
0

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

enter image description here

+0

它看起来并不像Visio图表成功上传。 – 2011-01-27 22:23:43

回答

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

但是,也许你在想,一个球员拥有的设备,每个项目包含多件(即用户有一个背包,一个马鞍包和袋和不同项目中的每一台设备的)?

+1

也许某些属性不适用。 IE:马鞍伤害,+20伤害 – 2011-01-27 22:44:59