#mysql #storage #normalization
#mysql #Хранение #нормализация
Вопрос:
Пользователь может выполнять одно из следующих заданий:
- Разработчик
- Конструктор
- Менеджер
- Продажи
- Другое
Каков наилучший способ сохранить это в базе данных? У меня есть столбец user_job
, и я могу сохранить задание двумя способами:
- В виде целого числа (Разработчик = 1, Дизайнер = 2, …)
-
В качестве названия задания (Разработчик, дизайнер, …)
- Я думаю, что первый способ быстрее, но менее понятен.
- Для второго способа требуется больше места для хранения, но задача понятна, и в PHP мне не нужно преобразовывать ID в название задания.
Спасибо за помощь!
Комментарии:
1. Первый способ. И это не «менее понятно». Вот почему у нас есть объединения.
Ответ №1:
Вариант 1 — лучший способ сохранить эту информацию в базе данных.
As an integer (Developer=1, Designer=2, ...)
Ответ №2:
Если задание может содержать какую-либо информацию, связанную с ним, то обычно лучше иметь Job
таблицу. Т.е:
Job
Id Name Description e.t.c.
А затем сохранить в виде целого числа, указывающего на идентификатор задания (запомните и добавьте внешний ключ в базу данных). Прошу прощения, если это уже то, что вы имели в виду под 1.