Как сохранить в БД последовательность данных?

Есть списки сотрудников. Пользователь может менять последовательность.
Как лучше сохранять последовательность сотрудников и как хранить историю, например, что в такое-то время в таком-то зале сперва были пользователи id1 id2 id3 а потом id3 id1 id2 ?
Смысл, что есть сотрудники и залы и методом "перетягивания" сотрудники ставятся в залы, но в зале может быть несколько сотрудников и важна так же их последовательность. Ну и хорошо бы хранить историю- какие данные коректировались.

Операционные залы: Дата 04.03.2018
Зал-1
---1.Анестезиолог Иванов
---2.Анестезиолог Петров
Зал-2 ..........
Потом ставят Сидорова на первое место в зал-1 и остальные должны быть соответственно вторым и третьим
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 3
mindtester
@mindtester
делаю странные вещи, обычно на C#
БД - SQL? или NoSql?...

общий совет - попробуйте рассмотреть саму последовательность, как единицу хранения.. (что то мне подсказывает, что вам надо будет работать с разными "последовательностями")

если SQL с нормализацией - таблица "сотрудники" и таблица "наборы id сотрудников"?...
да в любом случае, все реверансы, вокруг этой схемы..

ps

и да - слово "перетягивание" .. к БД отношения не имеет.. это GUI... возможно... но по чему нет? творите, выдумывайте, пробуйте..

pps

если вы осилите (набор таблиц):
1 - id, person
2 - id, situation // ,description
3 - id, order, id-person, id-situation

и вытворяйте что хотите... сможете?

ах да.. с историей:

3 - id, version, order, id-person, id-situation

стало легче?
Ответ написан
Xuxicheta
@Xuxicheta
инженер
Сам же говоришь про историю. Храни записи "сотрудник номер N зашел в зал номер M во время T"
Потом выборка кто зашел в зал M в течении заданного периода, отсортировать по времени.
Ответ написан
@TwoRS Автор вопроса
Структуру вижу приблизительно такую
id, Дата , ЗалID, Сотрудники(JSON)
{created_time:"04.03.2018 13:45",created_admin_id:1, sotrudniki:[1,5,432,2]},
{created_time:"04.03.2018 13:44",created_admin_id:1, sotrudniki:[5,432,2]}
Это если объединённый вариант SQL И NOSQL
Видно, что сперва было 3 сотрудник, а потом был добавлен сотрудник id1 на первое место
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы