
27.06.2014, 00:04
|
|
|
Lorem ipsum
модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
|
Ну можно при выборке просто на лету собрать все данные в объект, в котором среди прочих данных из базы, включая ID, будет поле, скажем, num, которое и указывает порядковый номер в твоем списке. Таким образом твое приложение в любой момент будет знать, какой ID у записи номер 100500.
Разумеется при удалении некоторых записей в течение сессии тебе конечно же придется делать пересчет (декремент) всех "num" после удаленной. Но это лишь на протяжении сессии(!) и лишь в данном конкретном приложении, а не в базе, чтобы конкретный пользователь работал со своими красивыми порядковыми номерами, не внося путаницу в БД.
Однако это тоже можно счесть путаницей — как бы пользователь не забыл, что он только что удалил запись №100500 и теперь под этим номером уже совсем другие данные (а именно те, которые стояли следом).
В обычных клиентах такое не происходит, потому что порядковые номера — это всего лишь декор. Ну т.е. следователь не парится, что папка с делом №3 теперь на самом верху, потому что два предшествующих дела уже закрыли. Он всегда работает не с порядком расположения папок в стопке, а с их номерами.
Либо я не знаю какой-то особенной роли именно порядка вывода данных в нумерованный список, либо ты слишком уж много внимания уделяешь этой нумерации.
|