我的数据库中的每个表都应该有一个键吗

问题描述

我有一张两列的表:

  • 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
);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...