我是数据库的新手,试图理解在创建多对多关系时为什么需要联结表或关联表。
我在Stackoverflow和其他地方找到的大多数内容都是用高度技术性的关系理论术语来形容的,或者只是被描述为“这就是这样做的方式”而没有任何理由。
是否有任何关系数据库设计可以在不使用关联表的情况下支持多对多关系?例如,为什么不可能在表格上有一列保持与另一方的关系,反之亦然。
例如,一个包含课程列表的“课程”表和一个包含一堆学生信息的“学生”表-每个课程可以有很多学生,每个学生可以上很多课。
为什么在任何一个表中的每一行上都不可能有一列(可能是csv格式),该列中包含与列表或类似内容中的其他表的关系?
在关系数据库中,没有一列在每一行中拥有多个值。因此,您永远不会将“ CSV格式”或任何其他多值系统的数据存储在关系数据库的单个列中。也不允许创建包含相同项目(Course1,Course2,Course3等)的实例的重复列。这是关系数据库设计的第一条规则,被称为第一范式。
这些规则的存在是有充分的理由的(验证,约束和查询数据要容易得多),但是您是否相信这些规则的好处仍然是定义的一部分。关系数据库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句