使用外键的优缺点?

使用外键的优缺点?

优点:

  • 1、由数据库自身保证数据一致性,完整性,更可靠,因为程序很难 100% 保证数据的完整性,而用外键即使在数据库服务器宕机或者出现其它问题的时候,也能够最大限度的保证数据的一致性和完整性。(数据库和应用是一对多的关系,A应用会维护他那部分数据的完整性,系统一变大时,增加了B应用,A和B两个应用也许是不同的开发团队来做的。他们如何协调保证数据的完整性,而且一年以后如果增加了C应用呢)。
  • 2、有主键的数据库设计可以增加 ER图 的可读性,这点在数据库设计时非常重要。
  • 3、外键在一度程度上说明了业务逻辑,会使设计的更周到、具体全面。

缺点:

  • 1、可以用触发器或应用程序保证数据的完整性。
  • 2、过分强调或者过分的使用主键/外键会增加开发难度,导致表过多等问题。
  • 3、不用外键时数据管理简单,操作方便,性能高(导入导出等操作,在 insert,update,delete 数据的时候更快)。

结论:

  • 1、在大型系统中(性能要求不高,安全要求高,看具体的使用场景),使用外键。
    在大型系统中(性能要求高,安全自己控制,看具体的使用场景),不用外键。
    小系统随便,最好使用外键。
    看具体使用场景,最好使用外键。
  • 2、使用外键要适当,不能过分追求。
  • 3、不用外键而用程序控制数据一致性和完整性时,应该写一层功能来保证,然后个个应用通过这一层功能来访问数据库。
END…
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值