做项目到底有没有必要设置外键?
做一个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来做,在查询数据进行展示的时候就会不是很便于观看,可能需要再次进行查找,相对麻烦。