Намерих тази връзка за полезна.
Ето параграфа, който подчертава някои от плюсовете/противниците на всеки подход.
Най-често срещаният дизайн е да се имитира множеството булеви флагове, които използват изгледите на речника на данни на Oracle, като се избира 'Y' за true и 'N' за false. Въпреки това, за да взаимодействате правилно с хост-средите, като JDBC, OCCI и други среди за програмиране, е по-добре да изберете 0 за false и 1 за true, за да може да работи правилно с функциите getBoolean и setBoolean.
По принцип те застъпват метод номер 2, с цел ефективност, използвайки
- стойности от 0/1 (поради оперативна съвместимост с
getBoolean()
на JDBC и т.н.) с ограничение за проверка - тип на CHAR (тъй като използва по-малко място от NUMBER).
Техният пример:
create table tbool (bool char check (bool in (0,1)); insert into tbool values(0); insert into tbool values(1);`