本来我一个小菜鸟,没有什么项目开发经验,关心这个问题也属于纸上谈兵。但自从知道有不用外键,全由程序控制数据完整性的 方法后,我在学校接受的“外键是必须的“思想就承受了一定程度的颠覆。最近又遇上类似的问题,就在网上搜罗了一下,结果百家争鸣,众说纷纭,跟华山论剑似 的,看得一头浆糊。想想算了,以后的工作中再加深体验,权且记下各方观点好了:
     正方(这个必须有):
     1,由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据 的完整性,而用外键即使在数据库服务器当机或者出现其他问题的时候,也能够最大限度的保证数据的一致性和完整性。
    eg:数据库和应用是一对多的关系,A应用会维护他那部分数据的完整性,系统一变大时,增加了B应用,A和B两个应用也许是不同的开发团队来做的。他们如何协调保证数据的完整性,而且一年以后如果又增加了C应用呢?
     2,有主外键的数据库设计可以增加ER图的可读性,这点在数据库设计时非常重要。
     3,外键在一定程度上说明的业务逻辑,会使设计周到具体全面
     4,软件系统根本不是“开发”-》“发布”两个过程就简单完事了的;而是要经历很长的维护和反复开发测试等阶段。所以外键应该是贯穿始终都要有的。

 

 

 

另外一个情况:当用sql语言备份数据库时,到时导入备份插入数据时,若外键表的sql数据在后,
此时插入的时候就会报错;
 

相关文章:

  • 2022-12-23
  • 2021-12-24
  • 2022-01-16
  • 2022-12-23
  • 2021-04-11
  • 2022-02-16
  • 2022-12-23
猜你喜欢
  • 2022-02-18
  • 2021-07-19
相关资源
相似解决方案