Несколько раз встречал в таблицах базы, относящейся к веб-приложению на Java, столбцы, играющие роль флага, но имеющие не привычный тип bool, а smallint который принимает значения 0 или 1 вместо false и true соответственно.
Какие преимущества такого способа? Интересуют соображения, как и в рамках работы БД, так и возможного влияния на архитектуру веб-приложения.
Вопрос довольно обширный, и на него вряд ли можно ответить полностью.
Мой личный опыт говорит, что були часто имеют привычку становиться
перечислениями. Сначала у вас просто ON
и OFF. Потом подбегает манагер и говорит, что надо
различать неустановленный режим, и появляется UNSET.
С этим ещё можно справиться через NULL, но потом тот же
манагер добавляет вам режим по расписанию (SCHEDULED),
автоматический режим (AUTO), какой-нибудь режим клоуна,
и проч. Поэтому многие при проработке архитектур и API
предпочитают вместо булей сразу иметь перечисления, в том числе
в качестве INTEGERов в базе.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости