Согласование изменений, внесенных несколькими пользователями (визуальные инструменты для баз данных)
В многопользовательской среде изменение одного и того же объекта могут выполнять одновременно несколько пользователей. Это происходит при работе над структурой объекта в конструкторе таблиц или конструкторе диаграмм баз данных либо при изменении значений, когда они возвращаются на панели результатов конструктора запросов и представлений. Это может приводить к конфликтам, которые придется разрешать.
Конфликты в конструкторе таблиц или диаграмм баз данных
Например, когда один пользователь работает с таблицей в конструкторе таблиц, другой пользователь может попытаться удалить или переименовать данную или связанную с ней таблицу. При попытке сохранить таблицу Диалоговое окно «Обнаружены изменения базы данных» (визуальные инструменты для баз данных) сообщит, что с момента открытия этой таблицы база данных была обновлена.
Кроме того, в этом диалоговом окне выводится список объектов базы данных, на которые повлияет сохранение этой таблицы. Можно выполнить одно из следующих действий.
- Нажмите кнопку Да — таблица будет сохранена, а в базу данных будут записаны новые значения, указанные в списке.
Это действие может повлиять на таблицы, совместно использующие одни и те же объекты базы данных. Например, предположим, что редактируется столбецau
_id
в таблицеtitleauthors
, а в это время другой пользователь работает в таблицеauthors
, связанной с таблицейtitleauthors
столбцомau
_id
. Сохранение одной таблицы повлияет на другую. Точно так же, допустим, что другой пользователь задал проверочное ограничение для столбцаqty
в таблицеsales
. Удаление столбцаqty
и сохранение таблицыsales
коснется проверочного ограничения другого пользователя. - Нажмите кнопку Нет — действие будет отменено.
После этого можно закрыть таблицу без сохранения. При ее повторном открытии она будет соответствовать таблице в базе данных. - Выберите Сохранить текстовый файл — будет сохранен список изменений.
Список изменений, показанный в диалоговом окне Обнаружены изменения базы данных, можно сохранить в текстовый файл, чтобы затем проанализировать причину изменений, внесенных другим пользователем. Например, если другой пользователь отредактировал таблицу, которая помечена к удалению, то можно проанализировать, следует ли удалять эту таблицу перед обновлением базы данных.
Конфликты в конструкторе запросов и представлений
При запуске запроса или возврате результатов представления данные отображаются в панели представлений. С одним набором данных могут одновременно работать несколько пользователей, что может вызвать конфликты.
Например, допустим, что сотрудники по отдельности выполняют запрос, выводящий все данные в таблице titleauthors
. Сотрудник изменяет имя, которое возвращает первая запись, с Barb на Barbara. В этот момент запись содержит имя Barbara, в то время как результирующий набор другого сотрудника содержит запись Barb. Вводите «Barbara» и сохраняете строку. Появляется сообщение с вопросом, как разрешить конфликт.
- Нажмите кнопку Да — база данных будет обновлена, в нее будут записаны внесенные изменения.
Они переопределят изменения, внесенные сотрудником. - Нажмите кнопку Нет — результирующий набор обновится текущими значениями базы данных.
Значения, внесенные одним сотрудником, переопределят изменения, внесенные другим. - Нажмите кнопку Отмена, если работа продолжается без разрешения конфликта.
В этом случае невозможно зафиксировать изменения.
См. также
Другие ресурсы
Диалоговое окно «Обнаружены изменения базы данных» (визуальные инструменты для баз данных)