Это зависит.
Если вы создаете базу данных, которая должна быть встроена в отдельное приложение, которое вы также создаете, вы можете включить проверку данных либо в СУБД, либо в приложении, либо в обоих. Почти все базы данных, создаваемые опытными программистами, которые являются новичками, соответствуют этой категории. В этом случае некоторые другие ответы отвечают на ваш вопрос.
Если, однако, вы создаете базу данных, предназначенную для хранения данных, полученных из нескольких приложений, и программирование некоторых из этих приложений находится вне вашего контроля, то вы должны создать СУБД для защиты, а не для разрешения неверные данные из сломанного приложения, чтобы заразить данные, которые вы обслуживаете до других приложений и интерактивных пользователей. Вы не можете поймать все ошибки, но вы можете поймать многие из них.
Как минимум, вы должны спроектировать свои таблицы так, чтобы они имели как минимум один возможный первичный ключ (возможные первичные ключи называются ключами-кандидатами). Вы должны выбрать первичный ключ из возможных ключей и объявить его как ограничение первичного ключа. Это обеспечивает целостность объекта.
Кроме того, вы должны объявить ограничение «ссылки» для каждого внешнего ключа. Это обеспечивает ссылочную целостность. При наличии достойной СУБД вы должны быть в состоянии обеспечить ссылочную целостность, даже если внешний ключ является необязательным, другими словами, он может иметь значение NULL. NULL, конечно, ни к чему не относятся.
Нет смысла переносить эти два вида проверки в приложение. В любом случае приложение должно совершить путешествие в базу данных в оба конца, чтобы обнаружить нарушения правила.
Идея о том, что бизнес-логики не должно быть в базе данных, на мой взгляд, является неправильным пониманием того, что такое базы данных. Опять же, если ваша база данных встроена в одно приложение, тогда подойдет.
Что касается правил проверки, которые запрещают отсутствующие значения (NULLS), то их применение в приложении и в базе данных не повредит. Во многих случаях это правильно. Аналогично с проверками дальности.
Для очень больших проектов вам необходим отдельный документ, в котором изложены все бизнес-правила для данных. В этом документе должно быть указано, где применяются правила: в базе данных, в приложениях или в обоих.