gpt4 book ai didi

mysql - 使用(或不使用)联结表

转载 作者:行者123 更新时间:2023-11-28 23:37:46 26 4
gpt4 key购买 nike

我正在为学校开发一个小项目,但我不确定设计选择。

这是我想要实现的目标:

我有一个用户表,允许他们订阅/取消订阅存储在第二个表中的不同杂志。

我的问题很简单。这是否证明使用联结表是合理的?我最初考虑的只是将订阅者的 ID 直接包含在带有附加列的杂志表中。感觉很草率。

另一方面,如果我使用联结表,不管怎样,我最终都会将多个 ID(用户或杂志)存储到一个列中,所以感觉联结表没有任何用处。

你怎么看?

最佳答案

您正在处理多对多关系 - 一个学生可以订阅多个杂志,而一本杂志可以有多个订阅者。

处理此问题的方法是使用联结表,否则最终会在学生表或杂志表中出现重复数据。

考虑:

student
id name mag_id
---------------------
1 Joe 1
1 Joe 2
1 Joe 3
2 Tom 1
etc

为了适应 M-N 关系,此处存在不必要的条目重复。

从长远来看,联结表将使事情变得更容易:

student
id name
1 Joe
2 Tom

magazine
id name
1 Weekly
2 Sports

junction
id stud_id mag_id
1 1 1
2 1 2
etc

这样一来,每个学生-杂志配对都有唯一的条目,减少了其他字段条目的重复,并且查询数据更容易。

关于mysql - 使用(或不使用)联结表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com