В общем, нет особых оснований не определять ограничения.
Ограничения помогают поддерживать ваши данные с хорошим уровнем качества.Если вы не добавите их или отключите, база данных не выполнит никаких проверок при изменении данных.Вы будете летать вслепую и вам нужно будет доверять всем приложениям, которые используют базу данных, делают это хорошо.Не очень хорошая идея в целом.Приложения постоянно полны ошибок.
Кроме того, важность приложений со временем затухает;приложения устаревают.Данные, которыми они управляли, сохраняются гораздо дольше.Он по-прежнему полезен и полезен (я говорю здесь по-настоящему $) легко через 10 лет (и более) после того, как приложения были сняты с производства.Данные должны храниться в безопасности.
Моя цель в этом вопросе состоит в том, чтобы выяснить, есть ли какая-то "стоимость" для определения ограничения
Да, есть некоторая цена,но обычно минимален.Ограничения могут потребовать дополнительного индекса и / или дополнительной обработки на стороне базы данных (не в вашем приложении).Это, опять же, минимально, и вы редко заметите это, если вы не обрабатываете миллионы транзакций за короткие промежутки времени и не нуждаетесь в сжатии до последней миллисекунды производительности.Но обычно это не так.
Итак, вкратце, в 99,99% случаев у вас должны быть ограничения для защиты ваших данных.