前几天跟舍友讨论怎么优化sql语句的时候,提到了逻辑外键,让小白的我突发疑惑(什么是逻辑外键),一直只知道物理外键的我,,,,,
那什么是逻辑外键呢?
我们在定义两张表(user/userInfon)的关系时,学校教我们的是用foreign key 去创建,这种是物理外键。(据说大公司是不允许使用这种物理外键,具体不使用的原因就需要查找资料啦)
而逻辑外键就是两者必然的关联但是没有foreign key 来关联,而是在设计两张表的时候创建字段去存储相关联的数据内容。
如,user(用户表)中存在user_id(用户id)字段,userInfon(用户信息表)中也存在user_id(用户id)字段,
这样就可以通过 select * from user inner join userInfon on user.user_id = userInfon.user_id, 这样的sql语句来实现逻辑查询
原文:https://www.cnblogs.com/mixin/p/12872995.html