我数据库中的每个 table 是否都应该有一个密钥

Should every table in my database have a key

我有一个 table 有两列:

每个团队都是两个会议之一的成员,我有以下会议table:

我的问题是,第二个 table 没有主键。我处理这个问题错了吗?每个 table 都需要自己的主键吗?会议 table 中的 team_id 引用了团队 table 中的 team_id。

如果措辞不当,我深表歉意。我刚刚开始学习这个以补充我的大学学习。如果有什么我可以添加来澄清我的问题,请不要犹豫,我会添加。

感谢您的宝贵时间。

没有主键的表是可以的。这些被称为弱实体它们的存在依赖于强大的实体。网上有很多关于这些的资源,但您可以阅读更多内容 here

我的意思是在这种情况下,第二个 table 是多余的。您可以将所有数据存储在单个 table 中,例如:

create table teams (
    team_id int,
    team_name varchar(255),
    conference_id int2
);