Структура таблицы бд?

Предположим есть фриланс сайт. На нем есть проекты, статус которых может быть: активен, сдан, закрыт, подтверждён. Думаю на счёт организации таблицы с проектами. Как лучше реализовать хранение статуса? В одном столбце с цифрами от 1 до 4? Или же 4 столбца с булевыми значениями внутри?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
Compolomus
@Compolomus
Комполом-быдлокодер
ну я так понимаю пересечений нет, когда сайт находится в двух статусах, так что в одном столбце
Ответ написан
Комментировать
@Vitsliputsli
Зависит от того, как будете использовать, я так понимаю это одна и та же сущность (проект не может находиться одновременно в 2 статусах) - значит храните в одном поле. Если речь о том, в каком варианте съэкономите место, то не стоит этим заморачиваться, усложнение кода в угоду сомнительной оптимизации плохая практика. Какой выигрыш будет на 10млн базе? 10Мб? 20Мб? - это несерьезно. Зато как усложнится работа с такими данными и их обработка - потеряете больше, чем приобретете.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@bkosun
projects
id, status_id, name, ...

project_statuses
id, name, ...


Нормальные формы:
https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D...
Целостность базы данных:
https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BB%D...
Ответ написан
Комментировать
Gremlin92
@Gremlin92
Целеустремленный
зависит от того как хранит(точнее сколько памяти выделится для хранения 4 булевых>=<один интежер.) С другой стороны могут быть ошибки когда более одного булева состояния будут в тру,с интежерами такого не будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы