Методические указания к лабораторным работам для студентов специальности 210100 "Автоматика и информатика в технических системах"

Вид материалаМетодические указания
Лабораторная работа № 5 ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ФОРМАТНЫХ ФАЙЛОВ
1.Общие сведения
Set format to [
2. Задание на работу
Лабораторная работа № 6 СРАВНЕНИЕ ПРОСТЫХ, КОМПАКТНЫХ И СОСТАВНЫХ ИНДЕКСОВ
1.Общие сведения
[compact] [descending] [unique] [additive]
2. Задание на работу
Подобный материал:
1   2   3   4   5   6   7   8

Лабораторная работа № 5

ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ФОРМАТНЫХ ФАЙЛОВ


Цель работы: изучить структуру и возможности форматных файлов языка манипулирования данными СУБД реляционного типа FoxPro и приобрести навыки по использованию этих файлов по организации нестандартных экранных форм для ввода, просмотра, редактирования и удаления данных из одного отношения.

1.ОБЩИЕ СВЕДЕНИЯ


При запуске команд APPEND, INSERT, EDIT, CHANGE, BROWSE и наличии открытой текущей базы данных развертывается для пользователя окно редактирования. В нем вся информация доступна для изменения и возможно дополнение и удаление записи. Это фактически интерфейс пользователя, в котором, кроме того, возможен входной контроль данных, есть возможность задания заголовков и предупреждений, управления цветами, использования вычислимых полей и т.д..

Окно редактирования имеет стандартную форму двух видов: для первых четырех команд она одинакова – все поля базы данных располагаются вертикально, на экране видно столько записей и полей, сколько удается их здесь разместить; команда BROWSE предъявляет данные, располагая записи на экране горизонтально колонками (возможен скроллинг).

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

Используя команду @...SAY..GET, можно запрограммировать экран ввода/редактирования на любой вкус. Такую программу удобно поместить в так называемый форматный файл. Форматному файлу дается любое имя и расширение FMT. После того как он создан, непосредственно перед использованием форматный файл может быть открыт командой

SET FORMAT TO [<имя форматного файла>].

В форматном файле допускаются команды @...SAY/GET, CLEAR и READ. После установки форматного файла любая команда EDIT/CHANGE, READ, INSERT, APPEND, BROWSE будет предъявлять данные только в указанном формате. Отмена формата – SET FORMAT TO. Например:

USE test
SET FORMAT TO TEST.FMT
APPEND
SET FORMAT TO .

2. ЗАДАНИЕ НА РАБОТУ


2.1. Используя учебные пособия [4–15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, изучить структуру и возможности форматных файлов.

2.2. Разработать командный файл, обеспечивающий следующие функции:

–возможность только просмотра данных в нестандартном окне редактирования для одного из отношений, полученных в лабораторной работе № 3;

–возможность только ввода данных в нестандартном окне редактирования в том же отношении;

–возможность только редактирования всех полей данной базы в нестандартном окне редактирования.

2.3. Нестандартное окно редактирования должно содержать следующую информацию: текущую дату, текущее время, клавишу обращения к калькулятору, строку подсказки, клавишу обращения к "помощи" и др.

2.4. Полученный файл включить в командный файл, из лабораторной работы 2 (включить в двухуровневую систему меню).

2.4.Оформить отчет.

Лабораторная работа № 6

СРАВНЕНИЕ ПРОСТЫХ, КОМПАКТНЫХ И СОСТАВНЫХ ИНДЕКСОВ


Цель работы: изучить структуру и возможности команд для создания индексов языка манипулирования данными СУБД реляционного типа FoxPro, провести сравнительный анализ объемных и скоростных свойств для различных индексных файлов на отношениях различного объема.

1.ОБЩИЕ СВЕДЕНИЯ


Операции поиска данных в информационных системах являются наиболее важными. Очевидно, что обеспечение их эффективности актуально. Ускоренный, дихотомный поиск в реляционных базах данных реализуется посредством индексных файлов. Они имеют расширение IDX или CDX.

Если файл .DBF проиндексирован, то команды BROWSE, EDIT, REPLACE, SKIP и все другие команды, связанные с движением указателя, перемещают указатель записей в соответствии с индексом, а не с физическим порядком. Так, команда GO TOP устанавливает указатель записи не на первую физическую запись, а на начальную запись индекса (в частном случае физическая запись и запись индекса могут совпадать).

Понятие индекса хорошо иллюстрируется аналогией с использованием алфавитного каталога в библиотечном деле. В каталоге приводятся библиографические данные по книгам в лексикографическом порядке фамилий их авторов. Физическое же хранение книг ( расположение книг в хранилище на полках ) совсем другое, оно определяется каталожным номером. Так и здесь, физические записи в отношении располагаются на диске, как правило, в порядке их создания, а в индексном файле задается своеобразный "каталог", каждый элемент которого содержит упорядоченное (по возрастанию/убыванию) значение ключевого поля и указатель записи (указатель на место физического хранения).

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

В принципе, без индексирования можно обойтись, используя последовательный поиск, но для реальных баз данных получить приемлемые скоростные характеристики можно только индексированием. Однако за скорость нужно платить. Сами индексные файлы занимают некоторое место на диске, их объем ориентировочно оценивается пространством, занимаемым полем базы данных, по которому выполнено индексирование. Так, если проиндексировать файл .DBF по всем полям, то суммарный объем файлов IDX будет близок к объему самого файла .DBF. Кроме того, замедляются операции ввода/редактирования, так как при дополнении новой записи индексный файл автоматически перестраивается в соответствии с новыми или измененными данными.

FoxPro может создавать два типа индексных файлов.

1. Обычный индексный файл с расширением IDX, который содержит один индексный ключ (одноиндексный файл).

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

Многоиндексные файлы бывают двух видов:

· структурный многоиндексный файл с именем, совпадающим с именем файла .DBF;

· обычный многоиндексный файл с произвольным именем.

Структурный файл всегда автоматически открывается вместе со своим файлом .DBF. Его нельзя закрыть, хотя можно сделать неглавным.

Индексирование отношения выполняется командой:

INDEX ON <выр.> TO /TAG <имя тега>

[OF ] [FOR <условие>]

[COMPACT] [DESCENDING] [UNIQUE] [ADDITIVE]

<Выр.> - индексное выражение (ключ). Его длина ограничивается 100 символами для IDX-файлов и 254 - для CDX-файлов. Обычно ключ - это имя поля, по которому нужно упорядочить файл .DBF. Ключ может быть и составным: из нескольких полей, из полей, переменных и функций.

TO - задает имя одноиндексному файлу.

TAG <имя тега>[OF ] - задает имя в многоиндексном файле. Если отсутствует ключевое слово OF, то многоиндексный файл получает имя DBF-файла. Команда может использоваться как для создания многоиндексного файла, так и для дополнения уже существующего CDX-файла новым тегом.

FOR<условие>-устанавливает режим отбора в индекс только тех записей, которые отвечают заданному <условию>. Наличие FOR<условия> задает фильтр, который делает доступ к записям исключительно быстрым.

COMPACT - FoxPro версии 2.0 и выше позволяет создавать индексные файлы двух форматов: компактного и обычного. Обычный формат используется для совместимости с предыдущими версиями. Все CDX-файлы создаются в компактном формате. Если не указано ключевое слово COMPACT, то IDX-файл строится в обычном формате. Компактный формат более предпочтителен и по критерию памяти, и по быстродействию.

DESCENDING - индексирование выполняется по убыванию. Режим можно указывать только для CDX-файлов. По умолчанию для IDX-файлов индексирование выполняется по возрастанию.

UNIQUE - означает, что, если в базе встречаются записи с одинаковыми значениями ключа, все такие записи, кроме первой, игнорируются (не включаются в индекс). Этим процессом можно также управлять с помощью команды SET UNIQUE.

ADDITIVE - вновь создаваемые индексные файлы не закроют уже открытые к этому моменту индексные файлы. По умолчанию открытые файлы (за исключением структурного файла) закрываются.

2. ЗАДАНИЕ НА РАБОТУ


2.1. Используя учебные пособия [4-15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, изучить структуру и возможности команды для создания индексных файлов базы данных.

2.2. Разработать командный файл, позволяющий организовывать заполнение одного определенного отношения тестовой информацией (заносить в базу заданное количество записей), фиксировать время, нужное для создания и корректировки индексных файлов, и фиксировать объем этих файлов.

2.3. Провести экспериментальную оценку временных и объемных показателей процесса индексирования в соответствии с нижеследующей табл.1., в которой in1, in2 - простые индексные файлы; inc1, inc2 - простые компактные индексные файлы; baza - структурный индексный файл.

Для эксперимента создать следующую файловую ситуацию:


USE baza

INDEX ON pol1 TO in1

INDEX ON pol2 TO in2

INDEX ON pol1 TO inc1 COMPACT

INDEX ON pol2 TO inc2 COMPACT

INDEX ON pol1 TAG t1

INDEX ON pol2 TAG t2

Таблица 1

Параметр

Тип индекса

Количество записей







10000

50000

100000

1.Размер индексных файлов, б

простой

in1

in2

компактный

inc1

inc2

составной









  1. Время создания индексов (с закрытием),

мм:сек

простой

in1

in2

компактный

inc1

inc2

составной










3. Добавление 1000 записей (Append), мм:сек

без индексов

простой

компактный

составной










4. Reindex

простой

компактный

составной












2.4. Представить текст командного файла и заполненную табл.1 к защите.