我是数据库的新手,所以这可能是一个愚蠢措辞的愚蠢问题。
考虑数据库表玩家,另一个团队。 来自团队的实例都有一个属性玩家,这是一个由该特定团队中的玩家组成的数组。
是否可以自动将这些玩家链接到玩家表中的实例?如果我想更新其中一个玩家实例的值,则团队表中的关联播放器会自动更新。这将是理想的行为。有可能吗?
对于记录,我使用sqlite3和node.js,如果这有任何区别。但是,我认为这是一个与数据库有关的一般问题。
答案 0 :(得分:1)
在关系模型中,这些被称为KEYS。
一个是标识玩家和团队实例的PRIMARY KEY,然后在另一个表中用作参考并称为FOREIGN KEY。
表结构看起来与此类似:
Team
-------------
team_id
name
Player
-----------
player_id
name
team_id
或者,如果你希望同一个玩家可能在多个团队中 - 那么就像这样:
team
---------
team_id
name
player
---------
player_id
name
roster
-------------
team_id
player_id
然后你查询结构以找到你想要的答案:例如哪些球员在球队1: 第一次设计
SELECT * FROM player WHERE team_id = 1
第二个设计
SELECT * FROM player p, roster r
WHERE r.team = 1
AND r.player_id = p.player_id