Camillo
Новичок
Организация циклической очереди чего-либо с помощью БД.
Я считаю, что это более теоретический вопрос - поэтому сделал пост именно в этой ветке.
Каким образом с помощью БД организовать циклическую очередь? При этом должна быть возможность перемещать объект в пределах этой очереди вверх, вниз, в самые верх очереди, в самый низ очереди.
Самый простой вариант - сделать таблицу вида
uid - уникальный идентификатор, инкремент
object_id - идентификатор объекта в очереди
В такой таблице - первый объект в очереди будет иметь самый маленький uid, а последний - максимальный.
Такая очередь всем хороша, но в ней невозможно реализовать перемещение объекта внутри нее.
Можно сделать немного другую таблицу
uid - инкремент
queue_id - позиция в очереди
object_id - индетификатор объекта в очереди
С помощью такой таблицы можно управлять положением объекта в очереди, но для этого нужно будет
управлять значениями queue_id, что не очень хорошо и становится достаточно сложным если на приложение
накладывается необходимость управлением не только всей очередью, но и очередями объектов только определенных категорий.
Подскажите пожалуйста алгоритм, с помощью которого наиболее разумно реализовать циклическую очередь.
Спасибо.
Я считаю, что это более теоретический вопрос - поэтому сделал пост именно в этой ветке.
Каким образом с помощью БД организовать циклическую очередь? При этом должна быть возможность перемещать объект в пределах этой очереди вверх, вниз, в самые верх очереди, в самый низ очереди.
Самый простой вариант - сделать таблицу вида
uid - уникальный идентификатор, инкремент
object_id - идентификатор объекта в очереди
В такой таблице - первый объект в очереди будет иметь самый маленький uid, а последний - максимальный.
Такая очередь всем хороша, но в ней невозможно реализовать перемещение объекта внутри нее.
Можно сделать немного другую таблицу
uid - инкремент
queue_id - позиция в очереди
object_id - индетификатор объекта в очереди
С помощью такой таблицы можно управлять положением объекта в очереди, но для этого нужно будет
управлять значениями queue_id, что не очень хорошо и становится достаточно сложным если на приложение
накладывается необходимость управлением не только всей очередью, но и очередями объектов только определенных категорий.
Подскажите пожалуйста алгоритм, с помощью которого наиболее разумно реализовать циклическую очередь.
Спасибо.