Другая таблица базы данных или объект json

#database #json

#База данных #json

Вопрос:

У меня есть две таблицы: хранилища и пользователи. Каждому пользователю назначается хранилище. Я подумал: «Что, если бы я мог просто сохранить всех пользователей, назначенных хранилищу, как объект json и сохранить этот объект json в поле хранилища». Другими словами, данные пользователя будут храниться в поле, а не в его собственной таблице. В магазине будет около 10 человек. Я хотел бы знать, какой метод потребует наименьшего объема обработки для сервера.

Ответ №1:

Большинство баз данных являются реляционными, что означает, что нет причин помещать несколько разных полей в один столбец. Помимо того, что вам потребуется больше работы по их объединению и разборке, вы, по сути, проигнорируете надежность базы данных.

Если вы когда-либо попытаетесь получить доступ к данным из другого приложения, вам придется заставить себя выполнить дополнительные шаги. Это также ограничивает сортировку и значительно усложняет ваши запросы (т. Е. Вы не можете сказать, где поле = значение, потому что одно поле содержит много значений)

В вашем конкретном примере, если пользователи в хранилище меняются, вместо того, чтобы иметь возможность выполнять очень эффективное удаление из таблицы users (или изменять, к какому хранилищу они назначены), вам пришлось бы извлекать данные и редактировать их, что удвоило бы ваши накладные расходы.

Объединения существуют не просто так, и они эффективны. Так что не бойтесь их!