Как получить доступ к записям пользователей, хранящимся в файле (без базы данных) - PullRequest
0 голосов
/ 30 июля 2011

Как сохранить записи о пользователях и получить к ним доступ на основе первичного ключа в файле, работая с ansi c ++. База данных не используется.

Ответы [ 3 ]

1 голос
/ 30 июля 2011

Самый простой сценарий - использование файловой системы в качестве базы данных (ab). Первичный ключ - это имя файла, а содержимое файла - сама запись. Открытие файла по его имени / ключу - это поиск.

Однако, вы можете указать ваши требования более подробно. Например, какие записи и ключи, сколько записей следует хранить, как часто происходят обновления и запросы.

0 голосов
/ 30 июля 2011

Проверьте встроенные базы данных, такие как SQLite или Berkeley DB, перед развертыванием собственной.

Вы можете использовать фиксированный размер записи или, если это переменная, отдельный индексный файл для начала и длины записей.

0 голосов
/ 30 июля 2011

Называете ли вы это базой данных или нет, если вы случайным образом обращаетесь к записям в файле, который является базой данных.

В любом случае, определите максимальную длину записи для вашего файла.Назовите его MAX_RECL

Открыть для чтения / записи. Чтобы прочитать, попытайтесь прочитать rec * MAX_RECL и прочитать MAX_RECL.Чтобы написать, попытайтесь выполнить rec * MAX_RECL и напишите MAX_RECL.Чтобы закрыть, попытаться закончить и закрыть.

Чтобы использовать ключ, вам потребуется отдельный индекс, который сопоставляет ключи с записями, если только вы не хотите каждый раз искать весь файл.

...