数据库是否需要建立外键
2019-07-05 本文已影响0人
Apple_Boy
建立外键的好处:
1) 由数据库保证数据完整性,比程序保证完整性更可靠,多应用时(如有应用A,B,C他们之间的实体存在关联关系),由程序来保证数据完整性变得困难
2) 外键约束使得数据库的ER图可读性变强,有助于业务逻辑设计
不建立外键的好处:
1) 可以用触发器或应用程序保证数据的完整性
2) 开发变得简单,维护数据时不用考虑外键约束
3) 性能高,大数据量插入操作时不用考虑维护外键
讨论结果:不建立外键约束,关联关系由程序控制,另外还需要删除现有的外键关系
此外,从面向对象设计的角度来看。是应该取消掉外键约束的。因为数据库的作用就是高效的存取数据。而不是表达业务逻辑关系。把业务逻辑关系放到数据库中来维护是一种非常面向过程的思维。使得程序设计,用例规则直接面向数据库而不是面向业务。怎么看都不是一种好的方式。