БД или ОРМ, кто главнее?
От: varenikAA  
Дата: 21.12.20 06:42
Оценка:
Если у нас есть
клиент и его контакты и мы хотим добавить клиенту аттрибут основной контакт, то в клиент добавляется ссылка (поле допускающее пустые значения (NULL)) и таким образом имеем нормализованную модель.
В ОРМ реализуется похожая схема, т.к. по сути мы банально маппим строку таблицы на структуру.
Однако изменяя основной контакт, ты также должны учесть что этот же контакт живет и в контактах.
И тут имеем ловушку, т.к. у нас нет источника истины. Данные становятся не консистентными.

можно конечно убить нормализацию, добавив аттрибут основной контакт в сами контакты и в коде отслеживать изменения основного контакта, сделав последний просто не персистентным св-вом.
В коде подобную тактику реализовать намного проще.
Но она ставит нас перед выбором,
и только избавившись от ОРМ(ОМГ — Рич Хикки) мы можем синтезировать оба подхода, избавившись от некоторой сложности реализации подобного поведения.

Как определить что функционал библиотеки будет форсить разработку или тормозить?
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.