LINUX.ORG.RU

Концепция разработки: дилема

 , , ,


0

1

Есть «главный» объект базы данных у которого связь один ко многим (максимум 100 единиц на практике) а у нее в свою очередь еще две (в одной может быть 1000 объектов во второй максимум 100). Этот объект должен отправляться на сервер со всеми связями в случае если поменялся один из его «подобъектов».

У каждого объекта в иерархии есть статус того был ли залит он на сервер или нет.

Есть таблица которая отображает список этих главных объектов со статусом синхронизирована она c сервером или нет. В случае если мы добавили какой-то «подобъект» и удалили его то объект должен отображаться в списке по прежнему в статусе - синхронизирован.

Теперь вопрос: какое решение концептуально будет лучше?

1. Иметь лишний булевый флаг в главном объекте который говорит нам о том что «главный» объект синхронизирован с сервером. Тогда мы при добавлении любого подобъекта устанавливаем этот флаг в false и спокойно переотрисовываем нашу таблицу по этому флагу вычитав просто новый список этих объектов из базы.
В случае удаления объекта нам нужно пройтись по всей иерархии или сделать sql запрос чтобы посмотреть все ли объекты залиты и мы удилили единственный который не был залит и «главный» объект полностью синхронизирован с сервером.

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

Мне очень интересно послушать ваше мнение по этому поводу.


дилемма

дилема

Исправьте, пожалуйста.

BruteForce ★★★
()

Нет никакой дилеммы, есть только твоя лень провести замер или расчёт.

Goury ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.