mysql表关系应该是一对多还是一对一

标签 mysql

我正在为一个网站设计一个数据库。我有 4 张 table 用于发帖。第一个表是主表,无论帖子类型如何,它都应该为每个帖子分配新的 ID 和标题。另外三张表是汽车表、房屋表和家具表。他们每个人都应该只拥有与其相关的帖子。我对主表和其他表之间的关系类型有点困惑;应该是一对多还是一对一。也就是说,在 cars 表中,有价格、详细信息、制造商、类型、气缸、燃料等列。因此,在主表中,如果帖子类型是汽车,那么,该帖子应该在汽车表中分配一个具有唯一制造商的 ID。因此这是一对一的。 cars 表中的每个帖子在主表中都有一个对应的帖子 ID(一对一关系)。而每个制造商在主表中可能有很多帖子。因此,我认为这是一对多的关系。这与其他表的情况相同。

请我不需要引用任何文档,因为我阅读了所有mysql官方文档并且我知道所有关系类型的理论前景,但是当我转向实践部分时我变得有点困惑。

最佳答案

如果您想知道 X 和 Y 之间的关系是一对一、多一还是多对多,请问自己以下两个问题:

  1. 一个 X 可以有多个 Y 吗?
  2. 一个 Y 可以有多个 X 吗?

现在数一下"is":

  • 0:一对一
  • 1:多一
  • 2:多对多

例如,一个制造商可以拥有多辆汽车,但一辆车只有一个制造商,所以这是多一的。从你的描述中我不清楚邮政/汽车的关系。一个岗位可以有多辆车吗?一辆车可以出现在多个帖子中吗?

关于mysql表关系应该是一对多还是一对一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50093529/

相关文章:

PHP 安全登录/注销 : Log Out Issue

mysql - CakePHP 查找所有生成返回重复记录(具有相同 ID)的 SQL。查找列表没有

php - MySQL 查询需要 >15 秒才能运行;我可以做些什么来缓存/改进它?

MySQL:从特定的 event_time 中选择事件时间早于 1 周的行

php - 如何在php中检索存储在db中单个字段中的多个id的值

c# - MySQL插入查询异常

mysql - 我的 mysql JOIN 有什么问题,我没有得到正确的结果

php - 如何使用在 PHP 和 MySQL 上运行的普通 Web 应用程序实现像 Google 这样的搜索查询的特定 url?

php - mysql_affected_rows 返回 0 但数据库已更改

php - Foreach 循环内有两个查询