问题描述
我有一张两列的表:
- team_id |不为null,唯一,主要,自动递增
- team_name |不为空,唯一
每个团队都是两次会议之一,我的会议下表如下:
- team_id |团队的ID
- 0或1,具体取决于他们参加的会议。
我的问题是,第二个表没有主键。我处理这个问题错了吗?每个表都需要自己的主键吗?会议表中的team_id是对teams表中team_id的引用。
如果措辞不好,我深表歉意。我刚刚开始学习此知识,以补充我的大学学习。如果有什么我可以补充以澄清我的问题,请随时提出,我会添加。
谢谢您的时间。
解决方法
没有主键的表也可以。这些称为弱实体,它们的存在取决于强实体。在线上有很多关于这些的资源,但是您可以阅读更多here
,在这种情况下,我的意思是第二张表是多余的。您可以将所有数据存储在单个表中,例如:
create table teams (
team_id int,team_name varchar(255),conference_id int2
);