一对一,一对多,多对多关系是设计数据库确定表与表之间的关系,是设计使数据库达到某一范式手段之一,数据库达到某一范式越高,数据库表中的一致性,完整性越强。这可以通过数学方式证明。
SQL语言实现多表连接,已经是到了数据库使用阶段,通过你的sql操作实现你需要实现的功能。
就好像水库,前者是设计阶段,水坝越高,越坚固,越不可能溃坝。好像学生选课,删掉一门课程后,如果有外键,学生选课表想选出这门课绝对不可能了,没有的话可就难说。
后者是使用阶段,用闸门,水管还是水泵取水,就看你sql怎么写了。
两者在数据库系统实现的阶段不同,功能也不同,不一样的。
外键的作用是数据库完整性的校验,和多表查询是2回事。外键作用和父子表类似。实现数据制约。