PostgreSQL и MySQL поддерживают перечислимые типы , это то, что, по вашему мнению, вы ищете. Единственная проблема с перечисляемыми типами - это переносимость базы данных. В Oracle, например, нет перечислимых типов, поэтому вместо них нужно использовать CHAR. Так что, если вы настроены на PostgreSQL, например, нет причин не использовать его возможности. Если вам нужна переносимость базы данных, наиболее эффективно использовать CHAR (1) или NUMBER (1).
Обновление: вы можете использовать справочную таблицу с внешним ключом, как уже упоминалось в других ответах, но с логическими значениями, которые не изменятся, это приведет к ненужной сложности. Особенно, когда вы подумываете о необходимости создания дополнительных классов для них в вашем ORM. Однако, если вы ожидаете изменения диапазона значений для этого столбца / переменной, лучше всего использовать справочную таблицу.