Jag tyckte att den här länken var användbar.
Här är stycket som lyfter fram några av fördelarna/nackdelarna med varje tillvägagångssätt.
Den vanligaste designen är att imitera de många booleska-liknande flaggorna som Oracles datalexikon använder, genom att välja "Y" för sant och "N" för falskt. Men för att interagera korrekt med värdmiljöer, såsom JDBC, OCCI och andra programmeringsmiljöer, är det bättre att välja 0 för falskt och 1 för sant så att det kan fungera korrekt med funktionerna getBoolean och setBoolean.
I grund och botten förespråkar de metod nummer 2, för effektivitetens skull, med
- värden av 0/1 (på grund av interoperabilitet med JDBC:s
getBoolean()
etc.) med en kontrollbegränsning - en typ av CHAR (eftersom den använder mindre utrymme än NUMBER).
Deras exempel:
create table tbool (bool char check (bool in (0,1)); insert into tbool values(0); insert into tbool values(1);`