我有一个(示例)数据库,由三个表组成:user, car, key
。 user
可以有多个cars
,每个car
可以有多个keys
。截至目前,car
和key
表格都有一个外键与user
和car
(下方)相关联 - 这样就可以了。
我的问题是,如果汽车不再存在并被删除,这并不一定意味着钥匙不再存在。然而,一旦汽车被删除,就无法将钥匙与用户相关联 - 因为钥匙的外键引用的汽车现在已经消失。
我意识到我可以将用户ID存储在每个键旁边,但我认为这超出了拥有外键的地步,并且不是最好的方法。
那么,围绕这个问题最可接受的方式是什么?
谢谢!
答案 0 :(得分:0)
由于密钥仍然存在并且有一些含义(因为您不想删除密钥), 我会“软删除”汽车,例如。在表 car 中添加一个“已删除”列。