[Moscow.pm] Размышления на тему ORM и вообще работы с БД

Andrei andrei.protasovitski на gmail.com
Пт Окт 28 04:29:18 PDT 2011


28 октября 2011 г. 13:21 пользователь Ivan Petrov
<i.petro.77.00 на gmail.com>написал:

>
> > Вообще неплохо бы научиться понимать, что, с чем и как связано. В случае
> > пользователь-задача нужно чётко осознавать, что пользователь суть
> свойство
> > задачи, а не наоборот.
>
> нет. одна задача назначается сразу нескольким пользователям.
>
> соответственно не пользователь - свойство задачи, а пользователИ
>
> это если говорить о первом примере
>
> если говорить о втором примере, то замените task на user_card. хотя
> бизнес изредка подкидывает и такие абстракции, как задача - свойство
> пользователя.
>
> мы говорили о проблеме отслеживания связей двух объектов
>
> user->user_card->delete
>
> поскольку user_card (или task во втором примере) выбирается по
> указателю внутри user, то удаление user_card (или task во втором
> примере) должно менять user
>
> в БД это решается FOREIGN'ами. в DBIC это не решается
>

В БД это решается промежуточной таблицей, для которой в ORM делается
отдельный враппер. А умный программист ещё и перезназвачает акссессор для
is_changed, чтобы тот смотрел в промежуточную таблицу.

Кстати, FK прекрасно работают в ORM, даже если они не определены в описании
таблиц.

-- 
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20111028/c4488868/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm