【发布时间】:2014-03-28 00:45:20
【问题描述】:
很抱歉以假名发帖,但由于公司限制,为了保护无辜者,我必须保持匿名。
我从事专业开发人员大约有 18 年了,虽然我不是 DBA,但多年来我一直与他们密切合作,并形成了我认为什么是好的什么是不好的相当不错的感觉数据库实践。我刚加入一家公司,有两个开发人员负责数据库模式,我发现他们非常反对使用外键约束。
据我所知,他们的推理是 (1) 由于涉及额外的数据设置,它使单元测试存储过程更加困难,并且 (2) 外键可能会引发错误,因为顺序很重要。他们实际上更喜欢孤立数据而不是停止应用程序。
这对我来说似乎是一种不好的做法,但他们的立场坚定不移。我们提出了外键在数据完整性、查询性能、生成数据库图表等方面提供的优势,但无济于事。
我在这里没有看到什么吗?有什么建议吗?
【问题讨论】:
-
第 (1) 点听起来很容易解决。第 (2) 点可以通过简单地按顺序插入数据来解决,这通常不难做到。
-
这是一个征求意见,因此,对于本网站来说不是一个适当的问题。
-
你可能想给他们看this list of pros and cons。
标签: database-design foreign-keys sql-server-2012 database-schema