问题描述
- 数据库两张表多对多关系为什么用中间表而不用相互外建
-
数据库两张表多对多关系为什么用中间表而不用相互外建,菜鸟求指点
解决方案
如果用外键去做,你想想你的SQL语句查询会乱成什么样,还有就是查询结果a表包括b表的数据,b表包含a表的数据,
数据库一层一层查询下去可能出现死循环当机的,而通过外键,你每次查询都是一个对应两个表的两个list集合。而不是无穷无尽的查询
解决方案二:
不要光看着书在那空想,你试一下就知道想只用两个表来表达多对多关系根本是办不到的事情,除非你连范式都不要了。因为多对多关系的条目数是两者条目数相乘的。
我现在给你一个“学生选课表”,你看要怎样改才能把中间表去掉?
学号 姓名
1 张三
2 李四
3 王五
科目号 科目
1 语文
2 数学
3 英语
选课表
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
时间: 2024-10-01 16:23:31