做项目到底有没有必要设置外键?

做一个CRM项目,遇到了一个棘手的问题,建表到底有没有必要设置太多的外键?

外间可以维护数据的完整性,没有感觉出阿里

反而是没有外键,可以明显的提高项目维护的效率。

从网上查了很多,最终决定个别表建立有限的外键关系,以下是一些找到的说法。

http://blog.csdn.net/bingqingsuimeng/article/details/51595560

https://www.zhihu.com/question/19600081

http://bbs.csdn.net/topics/391966916

https://www.zhihu.com/question/22140799

http://blog.csdn.net/lqw_java_home/article/details/51172172

http://www.iteye.com/problems/91638

http://bbs.csdn.net/topics/350063411

都说实际项目开发中是没有必要设置外键的,但是经过了一个没有任何外键和任何约束的项目之后还是觉得有些关联性比较强的表还是有必要设置外键的。

外键必须是另一个表的主键,这样如果按照现在的习惯所有表的主键都是用序列生成的id来做,在查询数据进行展示的时候就会不是很便于观看,可能需要再次进行查找,相对麻烦。

原文地址:https://www.cnblogs.com/jiangwz/p/7680129.html