Smocker1975
Дата: 29.07.2005 11:39:26
Есть одно отношение многие ко многим: две родительские таблицы и одна связующая (она же дочерняя).
Есть интерфейс позволяющий вносить любые изменения:
добавлять, удалять, модифицировать строки родительских таблиц (при этом если надо то меняются соответствующие строки в дочерней таблице)
и производить те же действия в дочерней таблице.
Проблема вот в чем: нужно обеспечить корректную обработку ошибок совместного доступа (так называемый оптимистический параллелизм)
Если бы дело шло только об одной таблице, то нет проблем, спрашиваем у пользователя, какое значение он хочет принять: свое или то, что в базе.
А как быть с тремя таблицами, которые связаны между собой двумя отношениями (Relation). Например я меняю какие-то поля в дочерней таблице, а в это время в базе кто-то удалил одну из родительских строк (! при этом удаляются все дочерние строки) а я эти самые дочерние строки редактировал, и при попытке обновления обнаруживаю ошибки. Как грамотно разобрать все эти ошибки.
Может кто подскажет алгоритм разбора подобных ситуаций, и как при этом строить интерфейс пользователя (интересуют конкретные примеры).
Sa
Дата: 29.07.2005 16:08:33
|
Может кто подскажет алгоритм разбора подобных ситуаций |
конкретного универсального алгоритма в такой ситуации быть не может.
У вас как у разработчика должен быть Use Case операции сохранения, где оговорен альтернативный вариант развития ситуации подобным образом, и должно быть прописано как на него должна реагировать
ВАШАсистема.
uid = Sa
Posted via ActualForum NNTP Server 1.2