Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Индексация_новая.doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
192 Кб
Скачать

Действия со свободными таблицами

  1. Создание свободной таблицы

1 СПОСОБ: FileNewTableNew file – окно Create – сохранить

2 СПОСОБ: набрать “Create” в командном окне. В результате появится ДО Create.

3 СПОСОБ: набрать в командном окне “Create <имя таблицы>”. В результате появится ДО Table Designer.

Включение свободной таблицы в контейнер.

1 СПОСОБ: В ДО Project Manager на вкладке All, либо на вкладке Data разукрупнить: Data, Databases, <имя контейнера> и для активной строки Tables нажать кнопку Add. В ДО Open выбрать таблицу и нажать Ok.

2 СПОСОБ: Если Ваш контейнер уже открыт, то в меню Database нужно выбрать команду Add Table. В ДО Open выбрать таблицу и нажать Ok. Ваша таблица будет добавлена в контейнер.

Исключение таблицы из контейнера.

1 СПОСОБ: в ДО Project Manager разукрупнить компоненты: Data, Databases, <имя вашего контейнера>, Tables. Выберите нужную таблицу и нажмите кнопку Remove.

2 СПОСОБ: если Ваш контейнер открыт, то:

  1. выберите нужную таблицу

  2. DatabaseRemove.

5.2 Создание индексов в мультииндексных файлах

Следует напомнить о типах индексов в мультииндексных файлах, приведенных в табл.5.1.

Таблица 5.1 Типы индексов в мультииндексных файлах

Primary

Первичный ключ. ТБД может иметь только один первичный индекс,который позволяет вводить только уникальные значения поля.

Candidatе

Позволяет создавать несколько индексов с уникальными значениями для одной и той же ТБД.

Regular

(простой) Индекс может быть создан для любых значений поля. Таблица может иметь несколько индексов такого типа.

Unique

Уникальный индекс, который позволяет обрабатывать не совпадающие значения полей и обрабатывать одно значение из нескольких повторений. В версиях VFP (7.0, 8.0, 9.0) данный тип индекса не создается, но его можно иcпользовать из предыдущих версий VFP (3.0, 5.0).

Для дальнейшей работы нам понадобится создать индексы. Описание создания индексов для таблиц Detl, Detl_n, Poshk_k, Poski_n, Proek представлено в табл.5.2, табл.5.3, табл.5.5, табл.5.7 и табл.5.8 соответственно. Описание способов интерактивного создания индексов в мультииндексных файлах для таблиц Poshk и Poski представлено в табл.5.4 и табл.5.6 соответственно.

В этих таблицах заполняются следующие колонки:

- Order Name - наименование индекса;

- Type - тип индекса;

- Expression - сюда вводится поле таблицы, для которого создается индекс;

- Filter - указывается ограничение (фильтр) по полю таблицы, заданного в колонке Expression, при выводе записей на экран;

- Collate – (по умолчанию стоит значение Machine) позволяет сортировать (упорядочивать) данные в таблице.

Таблица 5.2 Detl

Order Name

Type

Expression

Filter

Collate

nomd_i

Primary

nomd

 

 

Таблица 5.3 Detl_n

Order Name

Type

Expression

Filter

Collate

Nomd_i

Primary

nomd

Таблица 5.4 Poshk

Order Name

Type

Expression

Filter

Collate

nomp_i

Primary

nomp

STAT_I

Regular

stat

STAT_IL

Regular

stat

stat>10

GF_I

Regular

gord+famp

GF_In

Regular

gord

GF_In1

Regular

famp+gord

В таблице Poshk для 5-го и 6-го индексов теперь не используется тип индекса Unique из версий, предшествующих версии VFP 7.0. Он заменен на тип Regular.

Таблица 5.5 Poshk_k

Order Name

Type

Expression

Filter

Collate

Nomp_i

Primary

nomp

 

 

Таблица 5.6 Poski

Order Name

Type

Expression

Filter

Collate

POSKI_I

Regular

nomp+nomd+nomr+DTOC(data)

 

 

Таблица 5.7 Poski_n

Order Name

Type

Expression

Filter

Collate

POSKI_I

Regular

nomp

 

 

POSKI_D

Regular

nomd

 

 

Таблица 5.8 Proek

Order Name

Type

Expression

Filter

Collate

nomr_i

Primary

nomr

 

 

Создадим два дополнительных числовых поля tel и fax в таблице poshk_n размерностью в 9 знаков, типом данных Character, и маской ввода ###-##-## и введем в них данные.

Правила ввода данных в эти поля: в конкретном поле нажать клавишу Ноme для установки курсора в начальной левой позиции поля и вводить 7 цифр подряд произвольно без дефиса (например, 1111111 для номера 111-11-11). Введем произвольные данные в поля tel и fax таким образом, чтобы они в каждом поле были записаны не по возрастанию.

Для этих полей создадим индексы на основании описания, представленного в табл.5.9.

Таблица 5.9 Poshk_n

Order Name

Type

Expression

Filter

Collate

TEL_I

Candidatе

tel

 

 

FAX_I

Candidatе

fax

 

 

В таблице poshk_k добавляем еще два новых строковых поля firstname(ИМЯ) и lastname(ОТЧЕСТВО) размерностью 15 символов.

На предыдущих лабораторных работах мы узнали, как создавать процедуры. Приведем еще несколько примеров процедур для работы с таблицами, для которых созданы индексы.

Напомним, что для открытия мультииндексного файла таблицы, созданного интерактивным способом, в окне Сommand или в тексте процедуры пишется команда по следующему синтаксису:

Use <путь>\<имя ТБД>.dbf order <имя индексного файла>

Расширение .dbf указывать не обязательно.