Я соблюдал бизнес-правила как на уровне моего приложения (модели), так и на уровне базы данных (хранимые процедуры, вызывающие ошибки).
Я ' я дублировал свои проверки в обоих местах по нескольким причинам:
- Если условия меняются между
когда они проверяются в
код приложения и когда они
проверен в базе данных,
проверка бизнес-правил в базе данных
спасет положение. База данных
также позволяет блокировать различные
записи проще, чем в
мой код приложения, кажется
естественно сделать это здесь.
- Если у нас есть
сделать некоторые пакетные данные
вставки / обновления в базу данных напрямую, если я маршрутизирую
все эти операции через мои
хранимые процедуры / функции, которые
соблюдают бизнес-правила
проверки, у меня нет шансов
вводить неверные данные, даже если мне не хватает защиты, которую я получил бы, если бы выполнял однократный ввод через приложение.
- Хотя
соблюдение этих правил ТОЛЬКО в
база данных будет иметь такой же эффект
по фактическим данным, кажется
неправильно просто бросать данные в
базы данных перед первым делом
попытка подтвердить, что это соответствует
ограничениям и бизнес-правилам.
Каков правильный баланс?
задан aw crud 18 November 2010 в 16:24
поделиться