Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Методы и способы доступа к данным

CuBook05

Выделяют следующие методы доступа к данным таблиц:
  • последовательный;
  • прямой;
  • индексно-последовательный.
При последовательном методе выполняется последовательный просмотр всех записей таблицы и поиск нужных из них. Этот метод доступа является крайне неэффективным и приводит к значительным временным затратам на поиск, прямо пропорциональным размеру таблицы (числу ее записей). Поэтому его рекомендуется использовать только для относительно небольших таблиц.
 
При прямом доступе нужная запись выбирается в таблице на основании ключа или индекса. При этом просмотр других записей не выполняется. Напомним, что значения ключей и индексов располагаются в упорядоченном виде и содержат ссылку, указывающую на расположение соответствующей записи в таблице. При поиске записи выполняется не последовательный просмотр всей таблицы, а непосредственный доступ к записи на основании ссылки.
 
Индексно-последовательный метод доступа включает в себя элементы последовательного и прямого методов доступа и используется при поиске группы записей. Этот метод реализуется только при наличии индекса, построенного по полям, значения которых должны быть найдены. Суть его заключается в том, что находится индекс первой записи, удовлетворяющей заданным условиям, и соответствующая запись выбирается из таблицы на основании ссылки. Это является прямым доступом к данным. После обработки первой найденной записи осуществляется переход к следующему значению индекса и в таблице выбирается запись, соответствующая значению этого индекса. Так последовательно перебираются индексы всех записей, удовлетворяющих заданным условиям, что является последовательным доступом.
 
Достоинством прямого и индексно-последовательного методов является максимально возможная скорость доступа к данным, плата за которую расход памяти на хранение информации о ключах и индексах.
 
Указанные методы доступа реализуются СУБД и не требуют специального программирования. Задачей разработчика является определение соответствующей структуры БД, в данном случае определение ключей и индексов. Так, если для поля создан индекс, то при поиске записей по этому полю автоматически используется индексно-последовательный метод доступа, в противном случае последовательный метод.
При создании составного индекса важен порядок составляющих его полей. Например, если индекс создан по полям фамилия, номер отдела и дата рождения, а поиск ведется одновременно по полям фамилия, дата рождения и номер отдела, то такой индекс использован не будет. В результате доступ к таблице осуществляется последовательным методом. В подобной ситуации (для таблицы с большим числом записей) разработчик должен создать также индекс, построенный по ПОЛЯМ фамилия, дата рождения и номер отдела именно в таком порядке!
При выполнении операций с таблицами используется один из следующих способов доступа к данным:
  • навигационный;
  • реляционный (SQL-ориентированный).
Навигационный способ доступа заключается в обработке каждой отдельной записи таблицы. Этот способ обычно используется в локальных БД или в удаленных БД небольшого размера. Если необходимо обработать несколько записей, то все они обрабатываются поочередно.
 
Реляционный способ доступа основан на обработке сразу группы записей, при этом, если необходимо обработать одну запись, то обрабатывается группа, состоящая из одной записи. Так как реляционный способ доступа основывается на SQL-запросах, его также называют SQL-ориентированным. Этот способ доступа ориентирован на выполнение операций с удаленными БД и является предпочтительным при работе с ними, хотя его можно использовать и для локальных БД.
 
Способ доступа к данным выбирается программистом и зависит от средств доступа к БД, используемых при разработке приложения. Например, в приложениях, создаваемых в С++ Builder, реализацию навигационного способа доступа для механизма BDE можно осуществить с применением компонентов Table или Query, а реляционного с помощью компонента Query. Для других механизмов доступа к данным также можно использовать навигационный и реляционный способы доступа, естественно с применением соответствующих аналогов компонентов Table и Query (например, ADOTable и ADOQuery для механизма ADO). Таким образом, методы доступа к данным определяются структурой БД, а способы доступа приложением.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий