powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Формат хранения данных Autoincrement-поля (Paradox)
2 сообщений из 2, страница 1 из 1
Формат хранения данных Autoincrement-поля (Paradox)
    #34460636
Когда-то попала мне в руки Парадоксовская (DOS,866) db-таблица, в которой 20 полей числового и символьного(строкового) типа, а первое из этих полей - Autoincrement. По крайней мере, именно так его распознает Аксесс после импортирования. Пробовал также импортировать эти же данные в Excel и в VFP. После импортирования данные отображаются корректно, по крайней мере - содержимое первого поля трактуется идентично.
Но вот что чтранно. Недавно обратил внимание на то, что в режиме 16-ричного просмотра исходного db-файла содержимое первого поля имеет весьма НЕРЕГУЛЯРНУЮ последовательность (с произвольными перескоками):
BF F0, C0 00, C0 08, C0 10, C0 14, ..., C0 20, ...,C0 30, C0 31, ..., C0 40, C0 40 80, C0 41, C0 41 80, C0 42, C0 42 80, ..., C0 F3 C0 F0, ..., C0 F3 DA F0, ..., C0 F6 BD 30.
А вот - соответствующие им (после импорта) значения этого поля:
1, 2, 3, 4, 5, ..., 8, ..., 16, 17, ..., 32, 33, 34, 35, 36, 37, ..., 80911, ..., 81327, ..., 92961.
Т.е., в исходном 16-ричном варианте прирост между двумя последовательными значениями колеблется: есть разница в 8 единиц, в 4 единицы, в 2, затем в 1, а потом и вовсе разрядность перескакивает. Если последние (самые большые значения) еще хоть как-то похожи на свои 16-ричные прототипы (например, 80911 в 16-ричном виде выглядит как 13 C0 F, а в исходном файле - F3 C0 F0, т.е. разница - E0 00 00, она же сохраняется и для значений ..., 81327, ..., 92961), то для значений Autoincrement-поля с меньшей разрядностью наблюдаются совершенно различные алгоритмы для разных числовых участков. НО: все вышеупомянутые программы-импортеры, словно сговорившись, преподносят всю эту "непоследовательную нерегулярность" в виде вполне регулярной числовой последовательности! Как же они улавливают некий общий алгоритм в этой каше из разных алгоритмов? Я еще допускаю, что самый первый символ C0 в каждом значении служит некой меткой начала отсчета поля, хотя - тогда самое первое значение не вписывается в это правило...
Короче, любители головоломок, прикиньте на досуге - в чем тут может быть фишка? Если надо, могу исходный файл выложить. А, может, кто-нибудь 100%-но знает сей загадочный алгоритм? Поделитесь соображениями.
...
Рейтинг: 0 / 0
Формат хранения данных Autoincrement-поля (Paradox)
    #34506334
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пропуски в последовательности автоинкременентного поля означают только то, что часть записей была удалена из таблицы
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Формат хранения данных Autoincrement-поля (Paradox)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]