Файл: Базы данных УМП-2.pdf

Добавлен: 28.11.2018

Просмотров: 3110

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

16

Для одного основного файла может быть создано много индексных, 

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

Для объявления индексного файла главным необходимо в окне уста-

новки  (рис. 4.11) (инициализируется  после  выбора  опции Setup пункта 
DATABASE главного меню) выбрать <Set Order> и в появившемся списке 
индексных файлов выбрать необходимый. Для снятия главного индекса — 
повторить его выбор. 

Индексный  файл  может  быть  создан  путем  переработки  основного 

файла либо динамически модифицироваться, если в поля основного файла, 
используемые  для  индексирования,  вносятся  изменения  или  в  основной 
файл  добавляются  новые  записи.  Для  обеспечения  такой  автоматической 
модификации индексного файла он должен быть открыт во время коррек-
ции  соответствующего  основного.  Таким  образом,  одновременно  может 
быть открыто до 21 индексного  файла для одного основного (dbf) файла, 
но  только  один  из  них  (специально  помеченный  в  текущий  момент  как 
order) определяет порядок доступа к записям основного файла. 
 

 

 

Рис. 4.11 — Окно установки индексов 

 
ОТКРЫТИЕ ИДЕКСНОГО ФАЙЛА осуществляется либо путем вы-

бора Index в списке типов файлов, появляющеся при выборе опции OPEN 
вертикального  меню File, либо  при  выборе  опции Add в  окне  диалога  по 
установке параметров текущей рабочей области, появляющемся при выбо-
ре опции Set up вертикального меню Database (рис. 4.11). В обоих случаях 
появляется окно открытия индексных файлов (рис. 4.12). 


background image

 

17

 

 

Рис. 4.12 — Окно открытие индексных файлов 

 
Процедура  открытия  состоит  в  выборе  индексного  файла  в  списке 

индексных  файлов,  созданных  для  открытого dbf-файла.  Возможно,  при-
дется  «искать»  индексные  файлы  по  дискам (Drive) и  директориям 
(Directory), хотя не рекомендуется хранить dbf-файлы и созданные для них 
индексные файлы в разных директориях и, тем более, дисках. 
Если  необходимо  открыть  несколько  файлов,  то  процедура  повторяется. 
Активизируя переключатель All Files, можно открыть все индексные фай-
лы сразу. 

 

4.1.9 СОЗДАНИЕ ИДЕКСНОГО ФАЙЛА 
В окне-списке появляются лишь индексные файлы, созданные ранее 

для  открытого dbf-файла,  если  список  пуст  (как,  например,  на  рис. 4.11), 
это значит индексные файлы для соответствующего dbf-файла еще не соз-
даны, а выбирая опцию Open, можно перейти к окну диалога по созданию 
индексного файла. 

Необходимо  вначале  открыть dbf-файл,  для  которого  будет  созда-

ваться  индексный  (опция Open, выбор  типа  файла — Database, выбор-
поиск файла на диске и в дирректории), а затем либо выбрать опцию New, 
затем Index, либо  выбрать Set up, затем  активизировать  переключатель 
<Add> в Index и далее аналогичный диалог — New и Index. 

Появляется  окно  диалога «Index on» (рис. 4.13), в  котором  необхо-

димо либо ввести с клавиатуры индексное выражение (состав индексного 
ключа, в том числе используя возможность выбора имен полей из списка и 
их переноса в формируемое выражение), либо, активизировав переключа-
тель <Expr>, перейти в окно построителя выражения, общая схема которо-
го была рассмотрена ранее и иллюстрируется на рис. 4.14, 4.15, при акти-
визации  переключателя <Expr> и  с  использованием  меню  построителя 
(рис. 4.16). 
 


background image

 

18

 

 

Рис. 4.13 — Окно диалога Index on 

 
 

 

 

Рис. 4.14 — Окно построителя выражения 

 

 

Следует  заметить,  что  в  подавляющем  большинстве  случаев  выра-

жение имеет тип String (символьный) и заключается в соединении (опера-
ция + или — над строковыми переменными) значений полей сортировки в 
единый ключ. 

Использование данных не символьного  типа  требует  использования 

функций по их преобразованию к символьному виду. 

 

 
 


background image

 

19

 

\

 

 

Рис. 4.15 —  Диалог формирования индекса 

 
 

 

 

Рис. 4.16 —  Меню построителя выражений 

 
Применение выражения арифметического (Math) типа предусматри-

вает упорядочение по физическим номерам записей, что имеет весьма ог-
раниченное  применение.  Столь  же  экзотической  является  и  возможность 
включения в выражения переменных Variables и оператора <For>. 

При  активизированном  переключателе Unigue записи  основного 

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


background image

 

20

Если  сформированное  индексное  выражение  удовлетворяет  пользо-

вателя, он должен выбрать кнопку <<OK>>, если желает отменить резуль-
таты всех действий — кнопку <Cancel>. 

МОДИФИКАЦИЯ ИДЕКСНОГО КЛЮЧА (ВЫРАЖЕНИЯ) для уже 

созданного  индексного  файла  возможна  после  выбора  переключателя 
<Modify>  в  окне  установки  (после Set up) (рис. 4.11). Появляется  диалог 
формирования  индекса  (рис. 4.15). Необходимо  внести  изменения  в  ин-
дексное  выражение,  приведенное  в  текстовом  блоке,  либо  удалить  выра-
жение и создать новое. 

 

Задание

 

 1 

лабораторной

 

работы

 

 1 

 

1.

 

Внимательно изучить указания. 

2.

 

Выбрать вариант (предметную область) по общим правилам, проанализи-
ровать предлагаемую структуру таблиц, требуемые индексы и запросы. 

3.

 

Создать структуру таблиц, придерживаясь следующих требований: 

 

Типы полей следует выбирать в соответствии с семантикой (смыслом) 
данных, а не типами, устанавливаемыми системой по умолчанию.  

 

Имена файлов БД и полей файла БД не должны представлять собой 
неудобочитаемые и непонятные идентификаторы.  

 

Имена файлов БД и полей файла БД по возможности должны пред-
ставлять  собой  англоязычные  эквиваленты  соответствующих  рус-
скоязычных понятий.  

 

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

4.

 

Заполнить файлы БД данными, придерживаясь следующих требований 

 

Количество записей в родительской таблице — не менее 15, дочер-
ней — не менее 30. 

 

Конкретные значения полей должны быть максимально приближены 
к реальным. Для этого можно привлекать открытые источники. До-
пускается  программное  генерирование  значений  полей  (например, 
ID, Номер паспорта, Сумма и т.д.) или конвертация данных из внеш-
них файлов с аналогичной структурой. Фривольного содержания не 
допускать. 

 

Каждой  строке  родительской  таблицы  должно  соответствовать 0, 1 
или более строк дочерней. 

 

Содержание  данных  должно  гарантированно  обеспечивать  положи-
тельный  результат  каждого  запроса  при  определенных  значениях 
критерия поиска.  

5.

 

Создать индексный файл CDX для заданного в варианте набора условий 
индексов. Каждый простой индекс внутри CDX обозначить тегом (для 
последующего обращения к нему).