作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为学校开发一个小项目,但我不确定设计选择。
这是我想要实现的目标:
我有一个用户表,允许他们订阅/取消订阅存储在第二个表中的不同杂志。
我的问题很简单。这是否证明使用联结表是合理的?我最初考虑的只是将订阅者的 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/
我需要创建一个从 C:\x 到 C:\xxx\yyy\zzz\aaa\bbb 的连接点(目录符号链接(symbolic link)),因为在将文件添加到这个目录,我无法控制目录结构。 我读到创建连接点
我是一名优秀的程序员,十分优秀!