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

Каков правильный способ хранения данных для этого случая?

Всем доброго вечера!

Мне нужно хранить данные презентации: цвет, шрифт, интерлиньяж( =) ), размеры, картинки, графики, тексты, которые выбрал пользователь

У меня несколько вопросов для всего этого вопроса (который в названии):
1) В каком виде можно хранить координаты расположенных объектов?

есть несколько предложений хранения таких данных конкретно от меня:
1) JSON в PostregSQL (совсем глобальные данные будут храниться в отдельной таблице(например число слайдов и прочее)
2) просто в MySQL таблицами с колонками для всех стилей

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

Буду дичайше благодарен!
Приятных выходных =)))
  • Вопрос задан
  • 3210 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Так и не понял, почему JSON — в PostgreSQL, а если без JSON, то MySQL, ну да не суть.

В принципе, JSON или просто таблицы — тут уж как удобнее будет. На входе и на выходе одно и то же. На мой взгляд, лучше хранить правильно структурированные данные в БД. А с JSON работать по необходимости уже, не думаю, что проблемой станет туда-сюда конвертировать.

А вот от колонок для каждого стиля, наверное, стоит избавиться. Какие-то стили необязательны, какие-то для отдельных объектов только — зачем избыточность? Можно иметь таблицу объектов, таблицу свойств. А стили хранить в связующей таблице со столбцами: id объекта, id свойства, значение свойства.

За основу для свойств удобно должно быть взять CSS. Многим знакомые правила, вполне логичная система. Уже есть все методы хранения параметров текста, включая интерлиньяж и кернинг. Придумывать своего придется совсем немного.

Что касается координат. Можно сделать привязку к левому и верхнему краям, задавать, соответственно, X и Y. Можно помимо X и Y еще задавать, грубо говоря, точку начала отсчета. Скажем, по умолчанию это левый верхний угол, но если мы задаем свойство, определяющее точку отсчета, как right-bottom, то объект будет расположен так, что нижний правый угол будет сдвинут на X и Y от нижнего правого угла объекта, относительно которого происходит позиционирование.

Принципы позиционирования тоже из CSS можно взять, те же absolute и relative.

Если обобщить, то вам нужно сделать свой HTML+CSS с блэкджеком и хранением стилей в БД. Отталкивайтесь от этого (=
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zxmd
@zxmd
А что не mongodb ? Вроде ваша концепция хорошо укладывается в объекты монги.
Ответ написан
Ваш ответ на вопрос

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

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