Size: a a a

DBA - русскоговорящее сообщество

2021 June 08

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Да это я образно) я веб разработчик просто, с бэкенда допустим идёт таблица, нужно в цикле выводить данные сгруппированные по определённому полю. Я вытягиваю уникальные значения этого поля, заношу в массив, потом в цикле иду по массиву и отрисывываю нужный шаблон в интерфейсе)
Вообщем проектирование БД зависит ещё и от проекта, что-то одно универсальное сложно сделать) иногда я использую enum, иногда подвязываюсь к таблице в БД, чтобы при новом значении моя система сразу его подцепила)
источник

V

Vlad in DBA - русскоговорящее сообщество
А пустые поля тогда не проблема?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
А зачем id ?
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
enum в реляционках допустимы, не вижу причин не использовать их. Скажем делаешь enum sex {
m = 'man',
w = 'women'
}
И в таблицах всегда будут храниться только эти два значения. Средний род думаю не подтянется))
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
ну это вы зря батенька... :)))
сейчас найду в доке из реального проекта
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Согласен, поспешил, привычка подставлять уникальное поле)
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Есть проблема - их не расширить...
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Однозначно да, просто некоторые enum в расширении не нуждаются.
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Доку не читал, из практики говорю, что жизни не мешает, а очень даже помогает))
источник

V

Vlad in DBA - русскоговорящее сообщество
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
источник

V

Vlad in DBA - русскоговорящее сообщество
Возможно слишком скептически, всякое бывает, но смысл в этом есть
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Вот как раз этот пример обсуждался на SQL.ru.

Один парень рассказывал, что сделали они какую-то медицинскую систему, и там — таблицу с людьми, имя, фамилия, отчество, и пол — 0/1 (ну или М/Ж)
Говорит, всё было очень здорово, пока их систему не захотели поставить в ВЕНДИСПАНСЕР: А там этих полов... ШТУК 20!
источник

V

Vlad in DBA - русскоговорящее сообщество
Особенно, в современном мире. Боевые вертолеты, привет
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
(Пролистал) На первый взгляд "1. Data isn't being treated like data." — это непонимание того, что такое тип данных / домен, а остальные пункты — проблемы конкретно MySQL, нет?
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Жесть конечно...

В любом случае я не призываю к enum, я их использую иногда, когда точно уверен что не изменяться)) а сам по себе этот тип просто удобен в работе)
источник

V

Vlad in DBA - русскоговорящее сообщество
3, 4, 6 кажется тоже
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
А, в самом деле "3. It's impossible to add additional attributes or related info." — это не проблема MySQL, а как раз случай, когда enum использовать не стоит. А "4. Getting a list of distinct ENUM members is a pain." и "6. You can't reuse the member-list of an ENUM column in other tables."  — всё-таки проблемы MySQL, разве нет?
источник

V

Vlad in DBA - русскоговорящее сообщество
Но "Data isn't being treated like data" — наверное наиболее важно понимать и распознавать
источник

V

Vlad in DBA - русскоговорящее сообщество
В 6 наверное имеется ввиду, что нельзя использовать подмножество существующего enum-а для другой таблицы, так как это кастомный тип
источник