@nnikolaev

Нормально ли хранить JSON в базе данных?

Здравствуйте, есть задача хранить данные следующего вида

interface IGroupData {
    [group: string]: {
      [subGroup: string]: number
    }
 }


Просят хранить такие данные в JSON формате.
Получается каждая строчка в БД будет состоять из ID и JSON-строки.
У меня возникли сомнения насчёт правильности такого подхода.
Нормальная ли практика подобного хранения данных?

Данные потом будут отдаваться на фронтенд.

Стек:
  • TypeScript
  • NodeJs
  • SQLite
  • Вопрос задан
  • 400 просмотров
Решения вопроса 2
@alexalexes
Если потребуется делать join с одним из параметров внутри JSON, то это и будет показывать, что в данном варианте так делать не нужно.
Если ни при каких обстоятельствах не возникнет ситуации, что потребуется разбирать JSON, чтобы связать данные таблиц, то храните JSON.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Был такой нудный дедушка Эдгар Кодд. Он как-то из соображений своей нудности взял и объявил что только он знает как правильно делать реляционные базы.

Вобщем его первое правило касается атомарности данных которые лежат в ячейках таблицы. И если в рамках решаемой вами задачи JSON атомарен - то все в порядке и никакой проблемы нету. Храните себе JSON.

Но если внутри JSON будет поле которое способно изменяться независимо от остальной части документа - то старичок Эдгар будет на вас сильно зол. Может даже вас побить.

В наше время уже созданы специализированне БД (Mongo, CouchDb) которые плевали на нормализацию. Они расширяют и ослабляют понятия нормализации. Not-Only-SQL говорят про себя.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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