Еще один момент, который стоит отметить: когда вы удаляете свой текущий пользовательский интерфейс и используете новый с блестящими новыми инструментами, вы не потеряете ссылочную целостность, потому что новые разработчики понятия не имеют, что и с чем должно быть связано. Базы данных обычно используются гораздо дольше, чем пользовательские интерфейсы. Они также часто используются более чем одним интерфейсом приложения, и тогда вы сталкиваетесь с проблемой разных интерфейсов, пытающихся применять разные правила целостности.
Я также укажу, что мне доводилось просматривать данные, в буквальном смысле, в сотнях баз данных, и я еще не нашел ни одной, в которой бы содержались хорошие данные, если бы они не создавали FK. Эти неверные данные усложняют отчетность, затрудняют импорт и экспорт клиентам и другим сторонним поставщикам, которые нуждаются в данных или предоставляют их. И если неверные данные находятся в финансовой сфере, это также может иметь юридические и бухгалтерские последствия. Я даже могу вспомнить, как однажды у компании были тысячи неверных учетных записей, когда фактический продукт, который был сохранен, больше не мог быть идентифицирован (ни местоположение), что также создавало проблемы с определением стоимости запасов, необходимых для финансовой отчетности. Это не только плохо с точки зрения незнания того, какие детали у вас под рукой, но и позволяет людям красть детали, не будучи пойманным, просто удаляя номер детали из таблицы деталей (в этом конкретном месте также не было аудита). .).