外键的作用是保持数据的一致性和完整性
有篇cnblogs中详细描述了主键和外键的区别以及作用 pk vs fk
知乎上也有个话题对外键的使用场景进行了比较细致的讨论 the usage scenario of fk
segmentfault中有讨论是否应该拿掉mysql中的所有外键,也可以提供参考 segmentfult
这里有一篇对oracle sql介绍的界面挺好的页面 cookbook