Я разработал таблицы базы данных (нормированные на сервере MS SQL) и создал автономный оконный интерфейс для приложения, которое будет использоваться несколькими пользователями для добавления и редактирования информации. Мы добавим веб-интерфейс, который позволит вам быстрее искать на нашей производственной площадке.
Я обеспокоен тем, что если два пользователя начнут редактировать одну и ту же запись, последним для фиксации обновления будет "победитель", и важная информация может быть потеряна. Множество решений приходит на ум, но я не уверен, что я собираюсь создать большую головную боль.
- Не делайте ничего и надейтесь, что два пользователя никогда не будут редактировать одну и ту же запись одновременно. - Возможно, никогда не было, но что делать?
- Процедура редактирования может хранить копию исходных данных, а также обновления, а затем сравнивать, когда пользователь закончил редактирование. Если они отличаются показами пользователей и обновлений comfirm - потребовалось бы хранить две копии данных.
- Добавить последний обновленный столбец DATETIME и проверить его совпадение, когда мы обновляем, а затем показываем различия. - требуется новый столбец в каждой из соответствующих таблиц.
- Создайте таблицу редактирования, которая регистрируется, когда пользователи начнут редактировать запись, которая будет проверяться, и не позволят другим пользователям редактировать одну и ту же запись. - потребует внимательного анализа потока программ для предотвращения блокировки блокировок и записей, если пользователь выйдет из программы.
Есть ли какие-нибудь лучшие решения или я должен пойти на один из них?