mysql 既然可以使用连接语句,为什么还要建立关系

问题描述 投票:0回答:1

为什么要建立关系我可以从.....加入..... on {..}={...} 所以关系有什么用

我尝试制作2张桌子并建立关系但没有防御

php mysql database web mysqli
1个回答
0
投票

为了清楚起见,重申您的问题:如果我们可以“加入”任何特定字段上的任何表,即使它们不匹配,为什么还要定义外键约束?

我相信你的问题的答案(如果我理解的话)是参照完整性

这就是我要解决的问题。

您可以在此处阅读有关该主题/概念的更多信息: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

© www.soinside.com 2019 - 2024. All rights reserved.