При вставке данных в поле таблицы возможно дублирование этих данных. Как лучше (т.е. что более приспособлено для этого; всегда есть базовые способы и некие абстракции над этими базовыми способами, которые возникают ввиду недовольства некоторых индивидуумов или необходимости расширения функциональности; так вот, под "лучшим" я понимаю некий базовый вариант) защищаться от дублирования данных. Возложить это на БД или делать это самостоятельно в логике?
На БД:
Присвоить полю ключ UNIQUE и по номеру ошибки определять, что данные уже имеются.
В логике:
Делать запрос на подсчет строк с данным значением и определение дубликатов по результату подсчета.
Обычно использую второй вариант. Но хочу пересмотреть этот момент и если первый вариант окажется более правильным и подходящим под нужды, то и некоторые другие операции по аналогии. Т.е. перебросить некоторую функциональность на плечи сервера БД.
Склоняюсь к первому варианту по причине меньшего количества требуемого кода.