|
|
|
Обновление таблиц, связанных отношением многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Есть одно отношение многие ко многим: две родительские таблицы и одна связующая (она же дочерняя). Есть интерфейс позволяющий вносить любые изменения: добавлять, удалять, модифицировать строки родительских таблиц (при этом если надо то меняются соответствующие строки в дочерней таблице) и производить те же действия в дочерней таблице. Проблема вот в чем: нужно обеспечить корректную обработку ошибок совместного доступа (так называемый оптимистический параллелизм) Если бы дело шло только об одной таблице, то нет проблем, спрашиваем у пользователя, какое значение он хочет принять: свое или то, что в базе. А как быть с тремя таблицами, которые связаны между собой двумя отношениями (Relation). Например я меняю какие-то поля в дочерней таблице, а в это время в базе кто-то удалил одну из родительских строк (! при этом удаляются все дочерние строки) а я эти самые дочерние строки редактировал, и при попытке обновления обнаруживаю ошибки. Как грамотно разобрать все эти ошибки. Может кто подскажет алгоритм разбора подобных ситуаций, и как при этом строить интерфейс пользователя (интересуют конкретные примеры). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 11:39 |
|
||
|
Обновление таблиц, связанных отношением многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Может кто подскажет алгоритм разбора подобных ситуаций конкретного универсального алгоритма в такой ситуации быть не может. У вас как у разработчика должен быть Use Case операции сохранения, где оговорен альтернативный вариант развития ситуации подобным образом, и должно быть прописано как на него должна реагировать ВАША система. Код: plaintext Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 16:08 |
|
||
|
Обновление таблиц, связанных отношением многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Sa Может кто подскажет алгоритм разбора подобных ситуаций конкретного универсального алгоритма в такой ситуации быть не может. У вас как у разработчика должен быть Use Case операции сохранения, где оговорен альтернативный вариант развития ситуации подобным образом, и должно быть прописано как на него должна реагировать ВАША система. Код: plaintext Под UseCase вы подразумеваете интерфейс пользователя, в котором он может выбрать какие данные сохранить в базе (исходные, текущие, и те что в базе)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 18:00 |
|
||
|
Обновление таблиц, связанных отношением многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Под UseCase вы подразумеваете интерфейс пользователя, в котором он может выбрать какие данные сохранить в базе (исходные, текущие, и те что в базе)? Я говорю в терминах UML... Grady Booch and ..., Язык UML Руководство пользователя Прецедент (Use case, вариант использования, ВИ, UC) - это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат,значимый для какого-то определенного актера (Actor). Прецедент применяется для структурирования поведенческих сущностей модели. Прецедент (Use case) специфицирует поведение системы или ее части и представляет собой описание множества последовательностей действий (включая варианты), выполняемых системой для того, чтобы актер мог получить определенный результат. К разрабатываемому программному обеспечению должны быть функциональные требования, об этих требованиях и шла речь. Actor - это определенная категория пользователей вашей программной системы. Код: plaintext Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 06:25 |
|
||
|
|

start [/forum/topic.php?fid=17&tid=1353658]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 338ms |

| 0 / 0 |
