INDEX ON SUM TO SU_Stuff FOR SUM < 20000.00

6. Убедитесь, что записи в таблице расположены в соответствии с возрастанием значений поля SUM,записей с суммами больше или равными 20000 в таблице нет, в папке образовался файл SU_Stuff.idx. Если в окне с таблицей оперативно не обновился порядок строк, щелкните мышью в любом месте этого окна, чтобы оно стало активным.

7. Откроем в другой рабочей области таблицу Persons. Для этого перейдем в свободную (не занятую открытой таблицей) рабочую область, используя команду

SELECT 0

Откроем таблицу Persons с помощью команды

USE Persons

Если Visual FoxPro выдаст ошибку, значит, таблица в текущей папке не найдена, следует закрыть окно с ошибкой щелчком мышью по кнопке ОК и выполнить команду USE ?. В результате откроется окно для выбора файла. Найдите в папке файл Persons.dbf и щелкните по нему, а затем по кнопке ОК.При успешном открытии таблицы никакого сообщения не появится. Проверить, что таблица открылась, нужно, выполнив команду BROWSE. Окно с именем таблицы в заголовке появится на экране.
8. Один индекс создадим по полю NAME, а другой по полю ID.Для этого сначала выполним в окне Commandкоманду

INDEX ON NAME TAG Names OF Persons

Здесь NAME - имя поля, по которому строится индекс,
Names- имя индекса в cdx-файле,
Persons - имя cdx-файла.

9. Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля NAME и в папке образовался файл Persons.cdx. Если в окне с таблицей оперативно не обновился порядок строк, щелкните мышью в любом месте этого окна, чтобы оно стало активным.

10. Создадим индекс по полю ID.Для этого выполним в окне Commandкоманду

INDEX ON ID TAG Ids OF Persons

Здесь ID - имя поля, по которому строится индекс,
Ids - имя индекса в cdx-файле,
Persons - имя cdx-файла.

11. Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля ID.Если в окне с таблицей оперативно не обновился порядок строк, щелкните мышью в любом месте этого окна, чтобы оно стало активным.

12. Закроем обе таблицы, используя команду

CLOSE TABLES

Если вы выполнили успешно все шаги, перечисленные выше, у вас получатся две проиндексированные таблицы. В папке появятся файлы Id_stuff.idx, SU_Stuff.idx и Persons.cdx, содержащие индексы.

Задание 2. Опробуем использование индексов.

Выполните следующие действия.

1. Выполните в окне Commandкоманду

USE Stuff INDEX Id_stuff

При успешном открытии таблицы никакого сообщения не появится. Проверить, что таблица открылась, нужно, выполнив команду BROWSE. Окно с именем таблицы в заголовке появится на экране.

3. Убедитесь, что записи отсортированы в порядке увеличения значения поля ID.

4. Закройте таблицу, используя команду

USE

5. Выполните в окне Commandкоманду

USE Stuff INDEX SU_Stuff

6. Убедитесь, что записи в таблице расположены в соответствии с возрастанием значений поля SUM и записей с суммами больше или равными 20000 в таблице нет.

7. В другой рабочей области откроем таблицу Persons. Для этого перейдем в свободную (не занятую открытой таблицей) рабочую область, используя команду

SELECT 0

Откроем таблицу Persons посредством команды

USE Persons ORDER TAG Names

8. Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля NAME.

9. Попробуем расположить записи в соответствии с другим индексом, хранящимся в этом же индексном cdx-файле. Для этого выполните команду

SET ORDER TO TAG Ids

10. Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля ID.Если в окне с таблицей оперативно не обновился порядок строк, щелкните мышью в любом месте этого окна, чтобы оно стало активным.
Закроем обе таблицы, используя команду

CLOSE TABLES

Задание 3. Создать первичный ключ для таблицыPersonsс помощью конструктора таблиц.

Так как первичный ключ таблицы должен быть уникальным, для его создания можно использовать поле tabnum, содержащее табельные номера сотрудников. Выполните следующие действия.

1. Откройте окно конструктора таблиц для таблицы Persons. Для этого в окне проекта установите курсор на изменяемую таблицу и нажмите кнопку Modify (изменить) конструктора проекта.

2. В окне Table Designer(конструктор таблиц) перейдите на вкладку Indexes(индексы),

в поле Name(Имя) введите имя индекса TabPersons.

3. Из списка возможных типов индекса в поле Type выберите значение Primary (первичный).

4. Перейдите в поле Expression (Выражение) и введите выражение для индекса tabnum.

5. Установите переключатель столбца Order (Упорядочение) в значение По возрастанию.

6. Для завершения создания индекса нажмите кнопку OK.

Задание 4. Создать составной индекс для таблицыPersonsс помощью конструктора таблиц.

Рассмотрим создание составного индекса для таблицыPersons, который будет упорядочивать данные в таблице по ФИО (name) и адресу (address). Выполните следующие действия.

1. Откройте окно Table Designer(конструктор таблиц) и перейдите на вкладку Indexes(индексы), в поле Name(Имя) введите имя индекса NAPersons.

2. Из списка возможных типов индекса в поле Type выберите значение Regular (обычный).

3. Для создания индекса нажмите кнопку построителя выражений для поля Expression(Выражение). В окне построителя создайте следующее выражение:

Name + address

4. Проверьте синтаксис выражения, воспользовавшись кнопкой Verify (Проверить) и закройте окно построителя выражений. Для завершения создания индекса нажмите кнопку OK.

 

Контрольные вопросы и задания:

1. В чем отличие idx-файла от cdx-файла?

2. Что такое первичный ключ? Какие ключи еще бывают?

3. Как получить составной индексный файл с помощью команды INDEX?

4. Создать одиночный индекс (idx-файл) для таблицы Raspis по полю «День недели».

5. Создать составной индекс по полям «День недели» и «Код группы» в таблице Raspis.

Форма предоставления отчетности:

1). Файлыс расширениями:

- *.idx

-*.cdx

 

2). Отчет о работе создается в MS Word и распечатывается.