Как структурировать таблицу для распределенного контроля изменений строки - PullRequest
1 голос
/ 25 марта 2012

Если у меня есть таблица с именем Person (ID, Имя, Версия), я хочу сделать так, чтобы пользователи, вводящие обновления для существующего человека, создавали новую версию строки.Так, что человек может взять и внести изменения.Точно так же, как Hg et al делает версионирование.Идея состоит в том, что, если человек A входит в x, человек B может редактировать его и иметь локальную копию x.1, со всей прелестью слияния обратно в x.

Было бы лучше структурировать его следующим образом: Person(ID,Name,Version), и использовать какую-то систему Дьюи для ревизий или Person(ID,Name,Version, Creator), и использовать локальную для пользователя версию или какую-то разновидность Person(ID,Name,Person_Id, Creator),

Или есть лучшая идея для ориентирования на строки строк?

Конечный результат в пользовательском интерфейсе будет выглядеть следующим образом:

В вашем списке есть x

персона A обновила x [игнорировать], [обновить с помощьюИзменения A]

человек B обновил x [игнорировать], [обновить с изменениями B]

1 Ответ

0 голосов
/ 25 марта 2012

Вы можете в начале и в конце строки:

PersonID  StartDt     EndDt        UpdatedBy   Other columns
1         2012-01-01  2012-02-01   Fred
1         2012-02-01  2012-03-01   Alice
1         2012-03-01               Thomas

Каждое изменение регистрируется с человеком, который внес изменение. Вы также можете увидеть, в течение какого периода была активна строка. Для поиска текущей строки вы можете использовать условие: EndDt is null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...