SQL 外键

SQL 什么时候使用外键?

个人观点:

建议使用情况:对于小部分固定人群使用,可以使用以降低开发维护和维护难度,像单独的公司 OA 系统。

不建议使用情况:对于并发高的对数据库性能要求严格的。约束建议移到服务层实现,因为业务服务器的扩展和集群比数据库的扩展和集群方便且成本低

SQL 外键约束属性含义:Restrict,No Action,Cascade,Set Null

Restrict:约束。当来源表(父表)进行 delete/update 时,检测外键是否存在数据,有不允许 delete/update。

No Action:同 Restrict。

Cascade:级联。当来源表(父表)进行 delete/update 时,检测外键是否存在数据,有则删除子表中的数据。

Set Null:设为空。当来源表(父表)进行 delete/update 时,检测外键是否存在数据,有则修改子表中的外键为 NULL,注意不要设置非空约束

你可能感兴趣的:(SQL 外键)