- 1
- 2
alter table EqualityCodes add constraint chk_EqualityCodes_Code
check (Code not in ('', ' ', ' ', ' ', ' ', ' ', ' ', ' '));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−131
alter table EqualityCodes add constraint chk_EqualityCodes_Code
check (Code not in ('', ' ', ' ', ' ', ' ', ' ', ' ', ' '));
Лучше устроить жесткую валидацию на клиентском ПО.
А на БД можно делать проверки, которые без БД ну никак не сделать (проверка наличия натурального ключа по справочнику и т.п.)
Была недавно и клиентская валидация http://govnokod.ru/10362 и серверная http://govnokod.ru/10363
Мое мнение по поводу валидаций:
Валидация на клиенте - чисто для удобства - быстрее реакция на ошибки, меньше напрягает сервер. Ни о какой безопасности тут речи нет.
Валидация на сервере - основа безопасности системы.
Валидация в СУБД - целостность связей и не-null поля - т.е. не допускаем явного нарушения структуры БД при каких-либо багах в ПО.
P.S. Простых систем с локальными базами это, конечно же, не касается.