Реферат: Методические рекомендации и задания для лабораторных работ по дисциплине «Вычислительные системы»
В индексированном файле быстрый поиск нужной записи может осуществляться командой
SEEK 'Попов' для строкового поля
SEEK 25 для числового
SEEK D где D=ctod('22.03.94') для даты
После каждой команды SEEK нужно дать команду DISPLAY для индикации результатов поиска. Пример.
USE BD
INDEX ON AVT TO BD1
INDEX ON VOZVR TO BD2
INDEX ON GOD TO BD3
USE BD INDEX BD1
SEEK ‘Попов’, DISPLAY
USE BD INDEX BD2, D=CTOD(‘22.03.94’), SEEK D, DISPLAY
USE BD INDEX BD3, SEEK 1992, DISPLAY
Если все индексные файлы не были перечислены при открытии базы, а она была изменена, нужно произвести переиндексацию командой
REINDEX предварительно задав командой SET INDEX TO ...
все индексные файлы, подлежащие переиндексации.
Команда SEEK <выражение> применяет специальный алгоритм ускоренного поиска, в котором база просматривается не сплошь, а в соответствии с информацией, содержащейся в индексном файле.
При наличии индекса сначала именно в нем, а не в самой базе ведется поиск номера записи с указанным в команде SEEK значением выражения в индексном поле. При этом поиск в индексе выполняется не последовательно, а скачками (т.н. двоичный поиск), что позволяет быстро локализовать номер нужной записи. Команда SEEK находит только одну первую запись и устанавливает на нее указатель записи.
Сочетанием команды SEEK с командой SET NEAR ON может быть осуществлен приближенный поиск, если точное значение искомого признака неизвестно. Пример.
USE BD, INDEX ON GOD TO BD1 COMPACT, SET NEAR ON, SEEK 1980,
BROWSE
В результате поиска указатель записи установится на числе, ближайшем к заданному. Войдя в режим BROWSE и оглядев ближайшие записи, легко обнаружить интересующую, поскольку в индексированной базе все записи упорядочены по годам и искомый год находится рядом.
Команда SEEK является аналогом команды LOCATE для последовательного поиска. Однако команде продолжения поиска CONTINUE нет индексного аналога. Причина здесь очевидна. После того как командой SEEK найдена первая нужная запись, розыск остальных записей, удовлетворяющих ключу поиска, является тривиальным. Следующая такая запись (если есть) находится в индексированном файле непосредственно ниже найденной, и переход на нее может быть выполнен просто командой SKIP.
3. Задание на лабораторную работу.
3.1 В программной системе FoxPro.
1.Создать файл базы данных (БД)
(Create ...)
2.Посмотреть описание структуры БД
(Use, List structure) Пояснить содержание выдаваемой информации
3.Посмотреть на экране все записи БД
(List)
Посмотреть записи, удовлетворяющие заданному условию
(List... for ...)
Посмотреть содержимое выбранных полей для всех записей БД
(List fields...)
Посмотреть содержимое выбранных полей, удовлетворяющих заданному условию (List fields...for...)
Условия задать для символьного, числового и поля типа «дата»
Для полей типа «дата» предварительно задать
Set date german; D=CTOD(‘дата’);
List fields ...for D...)
Осуществить просмотр выбранных полей с приближенным условием (List fields for like ...)
4.Командой Display посмотреть содержимое с выбранным номером
5.Осуществить последовательный поиск и просмотр первой и последующих записей
(Locate for ...);
Display;
(Locate rest for...);
Display
6.Сделать архивную копию БД
(Copy to ...)
7.Добавить запись в конец активизированной рабочей БД
(Append)
8.Посмотреть добавленную запись
(Go bottom; Display)
9.Пометить для удаления последнюю запись и третью
(Delete; go 3; Delete)
10.Посмотреть все записи БД (Display all)
Обратить внимание на третью и последнюю записи.
Сравнить варианты: Set deleted on; Display all
Set deleted off;Display all
11.Запросить количество записей файла БД
Сравнить два варианта: Set deleted on; ?reccount()
Set deleted off;?reccount()
12.Отменить пометку к удалению для третьей записи
(Recall record 3)
Посмотреть все записи. Объяснить результат
13.Выполнить физическое удаление помеченной записи (Pack)
Посмотреть все запси в двух вариантах:
Set deleted on и Set deleted off
14.Выполнить задание п.11 и сравнить полученные результаты
15.Вставить дополнительные записи в БД перед и после третьей
записи, используя команды Insert blank, Insert before blank
Посмотреть все записи БД и сравнить с п.13
16.Удалить запись, вставленную после третьей записи.
Посмотреть все записи.
17.Добавить поля «цена партии» и «цена минимального комплекта
поставки». Заполнить новые поля как вычисляемые
(Modify structure ...
Go top
Replace all ...)
18.Осуществить просмотр содержимого вычисляемых полей.
19.Создать новую частичную БД из имеющейся с помощью операции копирования с полями «наименование товара» и «цена».
(Copy to ... fields ...).
Посмотреть и описать содержимое новой базы.
20.Для исходной БД ввести фильтр по полю “цена”.
(Set filter to cost ...)
Просмотреть содержимое БД с заданным фильтром.
21.Скопировать исходную БД с включенным фильтром в новую БД.
(Copy to ...). Просмотреть содержимое полученной БД.
(Use....; List)
22.Осуществить сортировку БД по полям «цена», «дата» и «наименование товара». (Sort to ...on...)
23.Посмотреть порядок расположения записей в полученных БД.
24. В режиме Browse осуществить создание и просмотр вычисляемого поля, задать заголовки полей, изучить работу в режиме Browse Last.
Индексирование баз данных
25.Выполнить индексирование БД по полю “количество” - QUANT
USE …
INDEX ON … TO …
LIST
26.Создать два дополнительных индексных файла по полям «наименование товара»-Prod_name и «дата»-Date.
INDEX ON … TO … ADDITIVE
27.Просмотреть полученные индексированные базы
USE …
SET INDEX TO …
28.Закрыть исходную БД
29.Открыть исходную БД вместе со всеми индексными файлами
USE BD INDEX …
30.Ввести в исходную БД дополнительную запись с новыми данными в полях, по которым проводилась индексация.
Посмотреть изменения в индексных файлах.
SET INDEX TO …
SET ORDER TO ...
LIST
31.Осуществить быстрый поиск записи в каждом индексном файле (по числовому, символьному и полю даты).
SET INDEX TO …
SEEK …
DISPLAY
32.Осуществить приближенный поиск в поле даты
SET NEAR ON
...
….
BROWSE
3.2 В программной системе Excel.
1. Создание структуры БД.
В первой строке рабочего листа ввести названия полей.
2. Ввод данных через меню
Данные - Форма.
Каждый новый список нужно создавать на отдельном рабочем листе, т.к. программа Excel обрабатывает только одну БД на одном листе.
Осуществить автоматическую установку ширины столбца в соответствии с длиной записи в поле.
Осуществить изменение формата даты – выделением заголовка столбца даты щелчком левой кнопки мыши в самом верху столбца.
3. Осуществить поиск элементов в списке.
Активная рамка при этом должна находиться в пространстве с записями, (т.е. внутри базы).
В качестве критерия поиска в числовых полях и полях даты употребляются критерии > и <. В символьных полях можно использовать * и ?.
Когда используются несколько критериев поиска, программа находит запись, удовлетворяющую всем критериям.
4. Осуществить редактирование данных.
Данные - Форма.
5. Задать автоматический фильтр.
Данные – Фильтр - Автофильтр.
6. Осуществить комбинированную фильтрацию по двум критериям с помощью автоматического фильтра.
7. Осуществить сортировку БД по одному и двум критериям в возрастающей и убывающей последовательностях.
Данные - Сортировка.
8. Копирование БД.
1. Копирование выделением отдельных полей с помещением их в буфер и перемещением в другой файл.
2. Копирование с помощью фильтра – фильтром формируется желаемый вид записей, затем все получившееся копируется в буфер.
9.Осуществить заполнение вычисляемого поля с использованием формул вида =d2*g2, =d2*$g$2, (соответственно, $g2 и g$2).
10. Осуществить добавление и удаление столбцов, строк, а также переименование страниц.
Рис.1 Пример исходной информации для базы данных.
Номер | Код | Наименование | Цена | Колич. | Город | Дата | Мин.партия |
27 | К254 | Дозиметр ДБГВ | 542 | 100 | Витебск | 22.01.01 | 3 |
28 | К348 | Определит.номера | 1720 | 800 | Витебск | 19.02.01 | 4 |
29 | Б023 | Судно типа «Луч» | 7240 | 45 | Саратов | 15.10.01 | 2 |
30 | К322 | Теплоход | 50000 | 30 | Саратов | 11.11.01 | 3 |
31 | Л269 | Фильтр-3М | 50 | 300 | Воронеж | 13.08.01 | 30 |
32 | Л314 | Фильтр-5М | 45 | 500 | Воронеж | 22.08.01 | 25 |
33 | Л324 | Фильтр-7М | 24 | 90 | Воронеж | 12.08.01 | 50 |
34 | Б017 | Экскаватор | 135000 | 8 | Казань | 12.07.01 | 2 |
Имена полей могут быть заданы, например, такими: NOM, KOD, CENA, KOL, MESTO, DATE,
MINPART.
Литература.
1. Глушаков С.В., Ломотько Д.В. «Базы данных», изд. «Фолио», Харьков, 2000г.
2. А. Дубина «FoxPro. Технология программирования» , изд. «Филинъ», Москва, 1998
3. А.А.Попов. Создание приложений для FoxPro 2.5/2.6 в DOS и Windows. М. Изд. ДЕСС КОМ, 2000.
4. Тихонов А. Тихонова Л. Visual FoxPro 5 без проблем. Издательство Бином, 1997.
5. А.А.Попов. Программирование в среде СУБД FoxPro . М., 1995 и более поздние издания.
6. Фейз Вемпен. Microsoft Office 97 Professional, М., 1997.
7. Марк Додж, Крейг Стинсон. Эффективная работа с Excel 2000. Изд-во Питер,
М. 2001.