Задать вопрос
@Artem0071
Безработный mr. Junior

Как лучше расширять БД?

Как лучше расширять БД? В ширь или разделять по таблицам?

Например у меня есть таблица с пользователями (users), и я хочу ее расширить на ссылки(ссылка#1,ссылка#2,ссылка#3,ссылка#4,ссылка#5)

Что лучше, добавить поля у пользователей, либо создать отдельную таблицу ссылки(social) (с учетом того, что ссылок ограниченное количество(например 5), так что тут будет связь один ко многим, но есть ли в нем смысл)?

Что будет быстрее обрабатываться, таблицы с множеством полей, либо запросы с множеством JOIN'ов?

Пример 2
Допустим я хочу создать системную информацию для пользователей(которую нужно постоянно получать), например видимость_пользователя, возможность_комментариев, ... и еще полей 5

В таком случае лучше дополнить основную или создать отдельную и сделать связь одни-к-одному с первичным ключом в виде ИД пользователя?
  • Вопрос задан
  • 352 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Однозначно, надо сделать отдельной таблицей.

UPD1:. Можешь и так и так сделать, но дело в том что широкие таблицы сложны в поддержке. Когда все разложено по полочкам, расширят проект бывает легко. А если все в одну кучу если пихать, то придет время, что даже рефакторинг не получится сделать, потому что все усложнилось, и ты начинаешь все заново с нуля писать.

UPD2:. И никогда не делай выбор ориентируясь на том, что у тебя будет ограниченное количество чего то. Это неправильный подход. Потому что идеи они такие, что каждый день меняются. Поэтому надо исходить из принципа, чтоб не было проблем для расширению.

UPD3:. Если интересно узнать больше по проектированию баз данных, посоветую книгу автора "Билла Карвина". Называет "Программирование баз данных SQL. Типичные ошибки и их устранение."
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы