如果有可能在应用程序外部修改数据库,则需要数据库中的约束。如果数据库始终是应用程序的后端,那么您可以不理会它们,尽管我已经为它们做了文档记录,以防万一,如果性能影响还不错的话,可以保留它们。(Peoplesoft软件以这种方式工作-约束存在于软件中,并且(我没有做这件事)它在Oracle上以SYS身份运行所有内容。)
您希望由应用程序监视类似的事情,因此它可以做出明智的反应,并且最多不会向用户派发数据库错误消息。
而且,是的,这是双重覆盖,但如果没有它,您可能会得到可预防的数据损坏或错误的用户界面。