BOOL или ENUM

antonim

Новичок
BOOL или ENUM

BOOL или ENUM вот в чем вопрос. Мнение моего коллектива разделилось по поводу выбора типа данных в БД для флагов.

речь идет конечно когда переменная может быть только в 2-х состояниях.

с BOOL на мой взгляд удобнее работать с проверками типа if ($bool) { ... и т.д. но не так очевидно можно представить данные в например mysqlAdmin и т.п. прогах.


Интересуют авторитетные мнения.
 

Beavis

Banned
смотря какие два состояния..
если например поле "пол" и варианты "мужской" и "женский", то enum
если например поле "is_visible", тогда BOOL
 

dimagolov

Новичок
enum это просто способ красиво избавиться от magic numbers и позволяет хранить более 2-х состояний.
 

antonim

Новичок
Автор оригинала: dimagolov
enum это просто способ красиво избавиться от magic numbers и позволяет хранить более 2-х состояний.
Если сотояний больше 2-х тут без вопросов. Меня интересует как вы например делаете и как делают остальные прошаренные форумчане.
 

antonim

Новичок
Автор оригинала: dimagolov
antonim, ответ Beavis-а вполне исчервывающий.
Согласен, он логичный и исчерпывающий и я с ним согласен, но мне интересно, может кто-то думает по-другому. Если так, то откликнитесь. Так же буду признателен отписатся тех, кто солидарен с мнением Beavis.
 

Adelf

Administrator
Команда форума
antonim
для флагов - только BOOL. Но нужно понимать что такое флаг.
Пол человека - не флаг.
is_visible - флаг.
 

borealis

Новичок
Полностью согласен с вышеизложенным, но интересует первопричина.
 

dimagolov

Новичок
первопричина в том, чтобы код, в котором этот флаг используется, был понятен без комментариев или анализа дополнительного кода/структур.
 

HraKK

Мудак
Команда форума
dr-sm
помолчи.

Что-то в последнее время развелось много горесоветников, может реально ро начать раскидывать?
 

dr-sm

Новичок
давай вперед :D
тока сначала попробуй сделать партишен бай енум лол.
да и вобще енум бредовая идея имхо, никогда его не использовал нигде.
 

HraKK

Мудак
Команда форума
Не вижу все равно проблемы, разъясните.
 

dimagolov

Новичок
офторик (про Partition)
В чем логика, что нельзя его делать по enum? В таблице ведь все равно храниться в 2-х байтах, хотя и считается почему-то текстовым типом. При этом и varchar и все int-типы поддерживают Partition.
 
Сверху