使用外键的优缺点?

使用外键的优缺点?

优点:

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

缺点:

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

结论:

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

猜你喜欢

转载自blog.csdn.net/Jack_Huang_888/article/details/106313614