Cтраница 2
Для обеспечения целостности данных в выборках и связанных файлах при установке команды SET FIELDS целесообразно добавлять записи по отдельности в каждый файл БД в состоянии, когда доступны все его поля. При изменении значений данных в индексированных полях связанных файлов БД следует помнить, что изменение данных в родительском файле без соответствующего изменения данных в сыновних файлах может привести к утрате связи между ними. Таким образом, в dBASE IV не обеспечивается автоматическое обновление данных в связанных файлах. Команда SET FIELDS не влияет на использование индексов, даже если индексные выражения содержат поля, не указанные в установленном списке. [16]
Например, если один пользователь добавляет запись в файл, а другой пытается командой SKIP перейти на эту запись, то указатель записи будет показывать конец файла. Если же один пользователь обновляет значение индексированного поля некоторой записи, а другой пытается перейти на следующую за ней запись, то указатель записи также будет установлен не на эту, а на совершенно другую запись. [17]
При работе с индексными файлами в среде ЛВС следует быть особенно внимательными, выполняя команду SKIP ( более подробно см. разд. Если один из пользователей изменяет значение индексированного поля файла БД или добавляет запись к нему, то после этого весь файл переупорядочивается в соответствии с установленным главным индексом. Это надо иметь в виду при установке командой SKIP указателя на обновленную запись или запись, следующую после нее, поскольку ее расположение уже изменено в результате появления обновленной или новой записи. Напомним, что упорядочивание индексированного файла БД означает не физическое изменение положения записей, а соответствующее построение индексного файла, который определяет вывод данных. Физическое расположение записей при этом не меняется. [18]
Обратите внимание, что значение свойства Indexed ( Индексированное поле) для ShipVia было изменено на No ( Нет), когда в индексе было добавлено второе поле. [19]
Индекс Access работает примерно так же, как и в книге, но вместо перечня номеров страниц здесь используется список номеров записей. При выполнении сортировки ил и создании запроса с использованием индексированного поля большая часть работы выполняется именно индексом. Именно поэтому индексы значительно ускоряют выполнение запросов и сортировок - индекс позволяет сразу выполнить запрос по поиску указанной информации без последовательного просмотра всей таблицы. [20]
В первую графу заносятся имена нескольких полей ( или одно поле) в том порядке, который определяет последовательность сортировки. Следует отметить, что сортировка может выполняться только по индексированным полям. [21]
Для поиска по индексированным полям используются команды SEEK и FIND. Команда SEEK выражение выполняет поиск первой записи файла БД с заданным значением индексированного поля. При этом соответствующий индекс должен быть установлен в качестве главного ( управляющего) индекса. [22]
Эффективное выполнение операций поиска, сортировки и фильтрации данных в таблицах обеспечивают индексы. Индекс по одному полю создается для открытой таблицы в режиме конструктора, путем задания свойства Индексированное поле. Составной индекс, который может включать два и больше полей i. ITI: - создается средствами диалогового окна Индексы. Для одной таблицы программа Microsoft Access может поддерживать до 32 индексов. [23]
Поэтому индексы обычно рекомендуется создавать только для тех полей таблицы, по которым поиск записей ведется чаще всего. Индекс ( и простой, и составной) может быть уникальным. Уникальный индекс не позволяет хранить в индексированном поле одинаковые значения. Уникальный индекс автоматически создается для ключевого поля таблицы. [24]
По умолчанию первичный ключ в каждой таблице индексирован. В режиме конструктора выделите поле и измените свойство Индексированное поле на Да ( Допускаются совпадения) вместо установленного по умолчанию значения Нет. Кроме того, вы можете выбрать значение Да ( Совпадения не допускаются) для уверенности, что каждое новое значение поля будет уникальным. [25]
Поиск только в текущем поле, особенно в индексированном поле, обычно выполняется быстрее. Первичный ключ таблицы индексируется автоматически. Быстрее всего операция поиска выполняется по полному значению поля или по первым символам в одном индексированном поле. Если приходится часто выполнять поиск в одном и том же неиндексированном поле, для этого поля полезно создать индекс. [26]
Интерес представляет свойство Индексированное поле, поскольку, если поле индексируется, существенно сокращается время поиска записи по содержимому этого поля. Кроме того, данное поле позднее будет преобразовано в поле первичного к мочи, а обязательным условием этого является значение Да ( Совпадения не допускаются) для характеристики Индексированное поле. [27]
No, то в соответствующие графы шаблона можно ввести данные, позволяющие установить указатель записи в файле БД сразу после выбора позиции меню прикладной программы посредством поиска по индексированному и неиндексированному полям или по номеру записи. Эти данные аналогичны указанным выше. В графу SEEK first occurance of key вводится выражение для поиска по индексированному полю, в графу GOTO - номер записи ( или ключевые слова Тор или Bottom), в графы LOCATE вводятся данные для поиска по неиндексированным полям: SCOPE - диапазон поиска, FOR - поисковое выражение, WHILE - условие конца поиска. [28]
Несколько опций меню Item позволяют, кроме основного действия, назначить еще и дополнительное действие. Например, опция Position record pointer дает возможность назначить установку указателя позиции записи в файле БД. После выбора этой опции высвечивается шаблон, в котором следует выбрать значения Yes или No в графе Display POSITIONING MENU at RUN TIME. Если задано значение Yes, то при выборе позиции прикладного меню высвечивается вертикальное меню, позволяющее: найти запись по индексу, перейти к записи с заданным номером, а также к первой или последней записи, найти запись без индекса и возвратиться в предыдущее меню. Для поиска записи с требуемым значением индексированного поля выбирается позиция SEEK Record ( этот индекс должен быть установлен главным, т.е. управляющим), после чего следует ввести поисковое значение. [29]
Эти индексы представляют собой псевдополя, которые можно использовать для связи с другими файлами БД и сортировки. Для включения сложного индекса выбирается позиция Include indexes меню Fields. Созданные ранее сложные индексы высвечиваются в конце шаблона файла. В них стоит знак и выражение индекса. Одновременно при выборе этой позиции знак помещается в каждое индексированное поле ( с простым индексом) для напоминания пользователю об индексации используемого файла БД. [30]