может быть описание. Хочется сохранить возможность менять описание статуса без передеплоя проекта (т.е. не хранить текстовые описания статусов в коде). Для статусов планируется завести enum и таблицу, где каждому статусу будет соответствовать одно описание. Т.е. в этой таблице по идее достаточно 2 полей: enum и varchar.
Возникает вопрос, насколько корректно будет в такой таблице сделать enum первичным ключом? (новые строки добавляются крайне редко, только если добавляются значения в enum)
Не используйте enum. Используйте обычный int/bigint и можно выделить в такой словарь несколько сущностей
Создавать суррогатный ключ вместо натурального, в ситуации, когда натуральный подходит идеально под задачу - похоже на пункт из книжки про вредные советы. )
Только все наоборот - enum уже неявно где-то хранит в системных таблицах свои значения, а если вы еще и описания к нему крепите - получите три сущности вместо двух
Обсуждают сегодня