为什么有人不在MySQL数据库中使用外键?
有时候,人们可能不使用MySQL数据库中的外键的原因是因为他们认为外键约束并不是一个重要的好处。但是,是否创建表之间的外键约束取决于这些表是否包含/维护彼此之间的任何关系。如果这些表可以单独存在,那么为什么还要创建FOREIGN KEY约束呢?
如果你的领导说不想使用外键约束,那么建议他们使用类似MongoDB或Cassandra这样的NOSQL数据库,而不是使用关系型数据库。
在某些特定情况下,外键约束是有用的。例如,在一个Crons平台中,有Campaigns和与之相关的Crons。因此,一个Campaign可以有多个Crons等等。我使用外键约束来确保在任何时候都不能插入无效的ID,并确保在有任何引用它的Cron时不能删除任何Campaign。
如果你想要确保数据的完整性,并禁止已知有错误的更新或插入操作,那么使用外键约束是很有用的。但如果你有一些假设,你可以展示一下,这样会更清楚。总之,如果你想要确保数据的完整性,并禁止已知有错误的更新或插入操作,请使用外键约束。