Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

Индексы, выражения индекса и фильтра

Для организации упорядочивания содержимого файла БД и поиска в ней по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному при­знаку (совокупности признаков). Однако, в отличие от картотеки, файл БД может иметь сразу несколько индексов, и, соответственно, являться упорядо­ченным одновременно по нескольким признакам. Каждый индекс имеет наиме­нование, признак уникальности, выражение индекса и фильтр. Наименование индекса используется для идентификации индекса. Выражение индекса и фильтр представляют собой написанные на специальном языке выражения, вычисление значения которых для каждой записи позволяет определить ее ме­сто при упорядочивании и необходимость помещения ее в упорядоченный спи­сок (индекс может содержать упоминание не обо всех записях таблицы, а толь­ко об удовлетворяющих выражению фильтра). Подробнее выражения индекса и фильтра, применительно к объектам XBase, рассмотрены в конце данного раздела. Уникальный индекс (имеющий установленным признак уникально­сти) позволяет иметь в индексе ссылки на записи только с различным значени­ем индексного выражения.

Индексный файл

Индексы хранятся в индексном файле. Индексный файл может содержать информацию более чем об одном индексе.

Назначение агрегатного типа данных XBase

Для работы с базами данных формата DBF в системе может использовать­ся специальный агрегатный тип данных — XBase. Механизм работы с базами данных формата DBF предназначен для обеспечения возможности манипули­рования ими непосредственно из встроенного языка программы 1С:Предприятие. Каждый XBase-объект может быть связан с одним файлом базы данных.

Атрибуты объекта и поля базы данных

Объекты XBase имеют динамически изменяемый набор атрибутов, состав и тип которых зависит от структуры файла базы данных, с которым связан кон­кретный объект. Объект содержит в своих атрибутах информацию об одной текущей записи. Каждому полю файла базы данных соответствует один атрибут объекта. Наименование атрибута совпадает с именем поля.

Запись изменений в базу данных

Каждый объект представляет собой структуру данных, расположенных в памяти компьютера и изменение содержимого его атрибутов не вызывает не­медленного изменения в файлах базы данных. При включенном режиме авто­сохранения запись содержимого объекта в файлы БД происходит при измене­нии позиционирования (переход с следующей записи, поиск по ключу и т. д.), при выключенном режиме автосохранения запись изменений происходит толь­ко при вызове соответствующего метода объекта.

Работа с индексными файлами

Следует иметь в виду, что одновременно XBase-объект может быть связан не более, чем с одним индексным файлом. Все изменения в базе данных, сде­ланные в сеансе работы с одним индексным файлом, никак не отражаются на остальных. Поэтому не рекомендуется иметь более одного индексного файла для БД. В противном случае, после каждого открытия БД с индексным файлом, отличным от открытого в предыдущем сеансе работы с базой, следует произво­дить переиндексацию (обновление содержимого индексного файла).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]