Это зависит.RI / FK были введены в Oracle в v7, поэтому базы данных наиболее определенно существовали без них, а некоторые все еще существуют.Но обычно их определяют и включают, поскольку вы в основном получаете эту проверку «бесплатно».
В некоторых случаях вы можете предпочесть не использовать их.Я работал над одной системой с низкой задержкой, где скорость была всем, и порядок, в котором родительские / дочерние данные были отправлены в базу данных из уровня управления приложениями, не мог быть гарантирован.В этом случае мы обнаружили, что быстрее построить правила целостности на уровне управления приложениями.Как я уже сказал, случай специалиста, редко встречающийся в других местах, заставит пуристов плюнуть кровью, но он работал очень хорошо и успешно работает уже более 10 лет.
Однако я еще раз подчеркиваю, что FK /РИ в целом хороши, и я бы перевернул ваш вопрос и сказал: «Когда мне следует подумать о том, чтобы у меня не было ФК?».
По моему опыту, вы чаще всего найдете эти пропуски из-за лениразработчики.