mysql中表之间多对多关联,第三方表设置外键吗

比如一个学生表和一个课程表,学生和课程之间是多对多关系,加入第三方表记录学生和课程id,第三方表中加入外键吗

阅读 6.2k
8 个回答

student_tab 学生表
id name class

course_tab 课程表
id name

stu_cou_tab 学生_课程_关联表
id stu_id cou_id

emmmmmmmmm 不用吧

外键少用,增加维护难度,容易出现锁竞争 @一条弧 的设计就可以了

觉得不需要外键

个人不建议用,数据关联的完整性靠应用程序保证。
从理论上讲用数据库的外键更逻辑更严密,但实际运维角度看,外键的使用非常麻烦,且使用不当会产生严重的性能问题。

说说我的看法吧,如果业务很稳定的话,如银行等等,数据结构不会发生大的变动,对数据的完整性,安全性等要求很高,业务也很稳定,还是按照数据库设计的学院派要求,严格规范进行设计,如果,是一个小的产品,可能会面临各种新的业务需求和功能增长,数据量也越来越大,还是考虑不加外键,方便以后扩展业务功能和数据迁移

外键很多企业都不让使用,很难维护,而且既然引用了第三张表就没必要使用外键,第三张表的作用不就是这个么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题