@mammutCave может я не прав и вы меня переубедите вообще никогда не использовать enum? :) хотя я его и так недолюбливаю
И так я против enum именно в бд
Я не против enum типов в коде и либ которые совместимые с int
Суть типа enum в том, чтоб обращаться не числом, а константой, из этого получается удобство что не надо запоминать числа типов (пол, цвет глаз и т.д.)
Чем по моему мнению плох этот тип? Ооочень болезненное изменения списков например вы хотите добавить еще один тип (да, еще один пол) и для этого придётся реструктурировать всю таблицу.
Штатными методами невозможно добавить дополнительную информацию про этот тип например описание если вы держите связанную таблицу просто добавляете колонку и все, а тут надо делать танцы с бубнами и библиотеками.
Проблема создание выпадающих списков и связей. Тот же пол у вас в select надо 2 значение мужской и женский и их надо вставлять в ручную, а не брать с таблицы. То есть при добавлении нового пола (ну решили вы выйти на рынок швеции) надо не только таблицу поменять, а и все select значения. Та же проблема когда надо вывести данные например сгенерировать в документах надо как-то подменить данные enum на текстовые
Как ответ можно сказать использовать библиотеку, где прописать константы там же будет и локализация и много других плюшек, но можно же взять плюсы этих либ и не брать минусы enum, а именно создать колонку int (беззнаковый естественно ну и small int по желанию) и использовать эту либу таким образом когда ты захочешь добавить данные не надо будет менять таблицу, просто создаш константу, и если все так разрастётся что решите создать таблицу и связь то все будет элементарно, представь какая боль будет с enum и созданием связи один ко многим
Таким образом
1 сам по себе enum без либ очень ограничен просто константой, создаст много проблем при модификации и не дает существенных упрощений при использовании
2 с либами вместо enum лучше всего использовать int это позволить и комфортно работать и без проблем масшабироваться.
3 Я для примера брал пол потому что это как то что ну точно модифицировать не надо будет, с другими все еще проще
4 Увеличения производительности минимальное, а то и совсем нет