为什么要建立关系我可以从.....加入..... on {..}={...} 所以关系有什么用
我尝试制作2张桌子并建立关系但没有防御
为了清楚起见,重申您的问题:如果我们可以“加入”任何特定字段上的任何表,即使它们不匹配,为什么还要定义外键约束?
我相信你的问题的答案(如果我理解的话)是参照完整性。
这就是我要解决的问题。
您可以在此处阅读有关该主题/概念的更多信息:https://en.wikipedia.org/wiki/Referential_integrity,以及此处:https://en.wikipedia.org/wiki/Foreign_key
这也是一个与您的问题相似的问题的答案:https://softwareengineering.stackexchange.com/questions/375704/why-should-i-use-foreign-keys-in-database.
一个非常高层次的总结是它让你相信你的数据是准确的。它还提供 functionality 可以在编写应用程序时节省您的时间/精力 - 例如自动删除不再需要的关联记录(“级联删除”)。
如果您处理的数据具有传统意义上的关系,强烈建议您定义数据之间的关系。
并非每个项目都需要以“关系”方式对数据进行建模,如果您不需要关系,您可以考虑使用“NoSQL”数据库或其他一些存储机制。请参阅:https://www.ibm.com/cloud/blog/sql-vs-nosql