Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2009, 15:56   #1
Pord
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 20
По умолчанию Сортировка и поиск прямо в файле

Вообщем пишу лабу по поиску и сортировкам в C++ Builder. Там создается БД(просто бинарный файл из структур). Сами методы сортировки и поиска я понимаю. В самом пояснении к лабе написано:

Работа с базами данных может быть организована двумя способами:
1. Внесение изменений и поиск осуществляется прямо на диске, используя спецефическую технику работы со структурами в файлах...
2.Считывание сначало всей базы(или необходимой ее части) в массивы структур...

Как релизовать второе я понимаю, но как производить поиск и сортировку прямо в файле? Если кто-нибудь с этим встречался с этим, то подскажите основную мысль или дайте ссылку, где почитать. Заранее спасибо
Pord вне форума Ответить с цитированием
Старый 27.02.2009, 18:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
1. Внесение изменений и поиск осуществляется прямо на диске, используя спецефическую технику работы со структурами в файлах...
могу только высказать своё предположение. (правда, я практически уверен в его правильности, хоть и подчёркиваю, что это IMHO):

такой способ предполагает, что вы открываете файл или (если он был открыт ранее) позиционируетесь на начало файла (например, seek(f,0) ) и затем осуществляете последовательное чтение ПО ОДНОЙ ЗАПИСИ - обрабатываете эту запись(например, сравниваете со строкой поиска, в зависимости от результатов сравнения выполняете какие-то действия), читаете следующую запись и т.д. При таком подходе размер файла практически неограничен (кстати, реальные СУБД всегда используют именно такой подход, только для ускорения (как Вы понимаете, слабое место такого подхода - очень низкая скорость обработки данных) используются индексы - это специальные файлы/структуры, позволяющие обращаться напрямую (или перебирать) только подходящие записи)..
Извините, если объяснил путанно - спрашивайте, постараюсь растолковать свою мысль (если что-то я не смог внятно выразить..)...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.02.2009, 18:48   #3
Pord
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 20
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в файле Zandrey Microsoft Office Excel 8 05.09.2008 12:23
поиск в файле Elm0 Паскаль, Turbo Pascal, PascalABC.NET 14 07.06.2008 22:41
Сортировка в текстовом файле Isthmus Паскаль, Turbo Pascal, PascalABC.NET 18 01.05.2008 20:46
Поиск в файле asale Microsoft Office Excel 1 15.05.2007 23:33