Иными словами Вам нужен список
Храните в записи о фотке номера предыдущей и следующей фоток (если список нужен двунаправленный: т. е. по одной записи Вам надо искать как предыдущую так и следующую), только предыдущей или только следующей (если однонаправленный: тут выбор зависит от алгоритма но вобщем пофиг ссылку на кого хранить) Ну и для каждой коллекции придется хранить как минимум голову списка. Т. е. в итоге Вы поимеете две таблицы: таблицу коллекций, хранящую номера голов списков, названия колеекций и проч., и таблицу фоток, хранящую сведения о фотках и, для каждой фотки, ссылку на соседа. Концевые фотки одну из сцылок (или единственную, в случае с однонаправленным списком) имеют в NULL.
Все просто.
ps: по большому счету пофиг какой одно или двунаправленный список Вы используете. Или, например циклический (ноги ссылаются на голову). Это скорее вопрос удобства, сокращения размеров БД, поиска в БД или времени работы скрипта.