СУБД до лампочки, в каком порядке хранить записи таблиц. Внутренняя логика лишь контролирует, чтобы чрезмерная перезапись данных не приводила к расползанию физических файлов СУБД, и то требуется внимание администратора.
Порядок вывода записей вы задаете, когда хотите их, собственно, вывести. В любом месте запроса, где вы хотите оценить вес строки по порядку, вы, обязательно, воспользуетесь клаузой order by. Чтобы было по каким признакам сортировать, при проектировании схемы базы данных разработчик сам должен позаботиться, какими свойствами снабдить записи, чтобы можно было проводить сортировку. Можно элементарно сортировать по ID записи (первичному ключу), или оставлять датированные метки, или по алфавиту какого-нибудь текстового поля, иногда нужно отдельное числовое поле, чтобы принудительно задать свой порядок сортировки, не подходящий ни под один признак естественной сортировки других полей записи.
Чтобы СУБД быстро отрабатывала вывод по критериям order by, лучше снабдить сортируемые поля индексами (индекс - это отдельный объект СУБД). Индексами как раз обеспечивается "магия" быстрого доступа к записям.
Именно с ними случается вот эти действия, что вы описали в вопросе, когда происходит вставка, обновление, удаление записей:
Cмещаются ли оставшиеся 4-10 записи вверх, занимая место удаленных 1-3 записей, и новые 4 записи вставляются на места 8-11, или сначала 3 из 4 новых записей займут места 1-3, а 4 запись будет внесена в 11 строку?
Только работа ведется не с линейным списком, а с переворачиванием такой структуры, как B-дерево.