Задать вопрос
@Fjfgs

Существует ли тип данных List или Array в MySQL?

Есть тип данных List или Array? Например, таблица player, и inventory — список скинов. Как решить эту ситуацию? Использовать тип данных JSON?
  • Вопрос задан
  • 1728 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Разумеется, существует.
Тип данных List или Array в реляционной базе данных - это связанная таблица.

Соответственно, inventory - это просто таблица из двух полей, id игрока и id скина
Ответ написан
Комментировать
gbg
@gbg
Любые ответы на любые вопросы
Завести связную таблицу и сложить в нее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@raimbekoff
Backend/RPA/vuejs developer
Да, есть. Посмотрите в сторону типа поля JSON.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Смотри. Обычно реляционная алгебра рассматривает коллекции внутри ячеек как потенциальную проблему. Проблему денормализации. Если скин у тебя это сложный объект с другими свойствами и эти свойства вдруг (!) внезапно обрастают связями с другими сущностями БД - то тогда считается что БД плохо спроектирована. Невозможно отслеживать целостность. Или представь что какой-то скин ты решил удалить из системы. Тебе придется сделать поиск всех коллекций всех плееров и поискать его и удалить. И те-же проблемы с вставкой и обновлением.

Но если ты никогда этого не будешь делать и тебе плевать на реляционные связи от скинов к другим элементам системы - то тогда можешь хранить в JSON. MySQL его поддерживает в угоду современным трендами на NoSQL.

Хотя тема NoSQL - гораздо более обширная и сложная чем просто денормализация. Про нее можно говорить часами.
Ответ написан
Ваш ответ на вопрос

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

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