Ричард прав: вопрос субъективен в том виде, в котором он был задан здесь.
Еще один вариант: что это за идеи? Они различаются по секторам или технологиям?
Я немного занимался Ruby on Rails, и там даже отношения между записями (один ко многим и т. Д.) НЕ соблюдаются на уровне БД, не говоря уже о каскадном удалении и прочем. Также нет каких-либо ограничений помимо основных типов данных, которые позволяют БД выполнять свою работу. Ваша процентная доля обрабатывается не на уровне базы данных, а на уровне модели данных.
Так что я думаю, что одной из тенденций, которые мы наблюдаем в последнее время, является придание большей мощности уровню приложений. Вы ДОЛЖНЫ проверить данные, поступающие на ваш сервер (поэтому где-то на уровне представления), и вы МОЖЕТЕ проверить их на клиенте, и вы МОЖЕТЕ проверить еще раз на бизнес-уровне вашего приложения. Почему вы хотите проверить это снова на уровне базы данных?
Однако: происходят самые страшные вещи, и иногда БД получает значения, которые «невозможны» при чтении кода бизнес-уровня. Поэтому, если вы управляете, скажем, финансовыми данными, я бы сказал, что нужно вводить все возможные ограничения на каждом уровне. Что делают люди из разных секторов?