我有一个项目,我在某些游戏中模拟用户数据库。每个用户都有设备,用于存储物品。现在我想在每个用户设备中添加每个项目的表存储量,但我不太清楚应该如何看待Equipment | Equipment_items | Items_amount表之间的关系。这是Visio的方案:
答案 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>>
但也许你认为玩家有多件装备,每件都装有物品(即用户有背包,马鞍包和小袋以及每件装备中的不同物品)?