Size: a a a

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

2021 June 08

l

lnuynxa in DBA - русскоговорящее сообщество
It's impossible to add additional attributes or related info."

Так создать дополнительную таблицу и как id использовать числовое значение того же ENUM
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
Хмм... что тут "понимать и распознавать"?!
Это автору нужно понять и распознать, что  "In short, an ENUM column violates the rules of normalization." — это чушь.
Более того, enum — это +- определение конечного домена из реляционной теории!
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
А, понятно. Тем не менее, и для FK это не так уж тривиально.
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
Да, можно. Но вот как раз в этом случае уже стоит подумать о том, чтобы не использовать enum.
источник

l

lnuynxa in DBA - русскоговорящее сообщество
Ну там это постулируется как будто гроб-кладбище и невозможно.
источник

l

lnuynxa in DBA - русскоговорящее сообщество
Ну и как я понимаю, что он предполагает, что приложение должно будет резолвить human readable слова в числовые значение для lookup таблицы.
источник

l

lnuynxa in DBA - русскоговорящее сообщество
Что тоже довольно спорный топик.
источник

V

Vlad in DBA - русскоговорящее сообщество
То есть он не прав, что enum используется в примере как данные, а данные должны лежать отдельном месте? Нам же нужны не сами данные, а только обозначить запись (с чем FK справляется).

И к тому же, насколько помню, ORM-ки (тот же Hibernate) умеют мапить джавовские енамы на таблицу
источник
2021 June 09

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Да зачем вообще эти енумы, сделай поле varchar с кодом, и , если очень надо , маленькую таблицу -словарь к нему с русским наименованием.
Вот и вся проблема.
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
> То есть он не прав, что enum используется в примере как данные, а данные должны лежать отдельном месте?

Я не понимаю вопроса. Есть понятие "домен" — то самое, через которое определяется отношение в реляционной теории, и в простейшем случае это всего лишь конечное множество значений. Ничего не напоминает? ;)
А вот автору — не напоминает, и он пишет чушь вроде "In short, an ENUM column violates the rules of normalization."
И да, если следовать его "логике", то типы данных вроде boolean и smallint тоже нарушают rules of normalization (ведь у них конечное множество значений, и эта информация в данных в базе тоже не хранится)?

> Нам же нужны не сами данные, а только обозначить запись (с чем FK справляется).

Хмм... в каком смысле?
источник

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
И все же использование ENUM нужно оставить на совесть разработчика)) Я сейчас пишу свою домашнюю бухгалтерию, в качестве базы данных у меня выступает Firebase, я описал интерфейс проводки, где признак "Доход" и "Расход" вынес в enum. Во время написания логики добавления данных я просто указываю Тип.значение и у меня в базу улетает правильное значение, это гарантия того, что я во время разработки не опечатаюсь и не укажу "Траты" или "Асход". Поэтому как и говорил, использование ENUM сугубо личное предпочтение, использовать не обязательно, но иногда очень упрощает жизнь
источник

ДМ

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

ДМ

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

V

Vlad in DBA - русскоговорящее сообщество
Понял тебя, согласен. Enum так же является типом, как и bool
источник

V

Vlad in DBA - русскоговорящее сообщество
Напрашивается boolean туда :3
источник

ДМ

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

ДМ

Дмитрий Могилевцев... in DBA - русскоговорящее сообщество
Вот пример работы) в заголовках значение ENUM
источник

Е~

Е ~ in DBA - русскоговорящее сообщество
Всем привет! В редисе хранятся несколько десятков тысяч ключей, каждому из которых соответствует число. Нужно вынуть только те ключи, у которых значение удовлетворяет условию. Подскажите, пожалуйста, в какую сторону смотреть.
источник

VS

Vladislav 👻 Shishkov... in DBA - русскоговорящее сообщество
В цикл от начала и до конца с проверкой условия
источник

Е~

Е ~ in DBA - русскоговорящее сообщество
А в редисе можно делать цикл?
источник