3684MEA БД / 318AAA / lb2 / БД 2
.docФедеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Томский государственный университет систем управления и радиоэлектроники»
Кафедра Промышленной Электроники (ПрЭ)
Отчет по лабораторной работе №2 на тему:
«Работа с базами данных. Индексация, фильтрация и поиск данных в базе»
Вариант №1
Выполнил:
студент гр.318
Андреева А.А.
Проверил:
старший преподаватель каф. ПрЭ
Муравьев А.И.
Томск
2012
Цель работы
Целью выполнения работы является формирование навыков поиска в базе данных, как основной операции работы с базами данных.
Создание трех индексов для таблицы table1 по полям различных типов:
Имя индекса |
Тип индекса |
Тип поля |
ADRES |
Regular |
Character |
CENA |
Regular |
Numeric |
Data |
Regular |
Date |
При помощи команды SET ORDER TO установили главный индекс:
Команда |
Результат |
SET ORDER TO ADRES |
Отсортированы, по возрастанию номера символа в коде Windows, значения поля «Адрес» |
SET ORDER TO CENA |
Отсортированы числовые значения поля «Цена заказа» по возрастанию |
SET ORDER TO DATA |
Отсортированы значения поля «Дата заказа» от самого раннего до самого позднего |
При помощи команды LOCATE FOR был осуществлен последовательный поиск:
Команда |
Результат |
LOCATE FOR ADRES = ‘пр. Мира’ |
Найдено значение ‘пр. Мира’ в поле «Адрес» - строка №7 |
LOCATE FOR CENA = 14300 |
Найдено значение ‘14300’ в поле «Цена заказа» - строка №3 |
LOCATE FOR DATA = {^2012.09.03} |
Найдено значение ’03.09.2012’ в поле «Дата заказа» - строка №1 |
LOCATE FOR CENA = 14 |
Значение ‘14’ не найдено в поле «Цена заказа», вывод того, что поиск дошел до конца файла ‘EOF’.End of Located Scope. |
При помощи команды SEEK был осуществлен индексированный поиск:
Команда |
Результат |
SET ORDER TO ADRES SEEK ‘пр. Фрунзе’ |
Найдено значение ‘пр. Фрунзе’ для главного индекса ADRES – строка №8 |
SET ORDER TO CENA SEEK 45123 |
Найдено значение ‘45123’ для главного индекса CENA – строка №15 |
SET ORDER TO DATA SEEK {^2012.08.13} |
Найдено значение ’13.08.2012’ для главного индекса DATA – строка №2 |
SET ORDER TO CENA SEEK 43526 |
Значение ‘43526’ не найдено для главного индекса CENA, вывод ‘EOF’. Так же сообщение No find. |
При включении команды SET NEAR, команда SEEK будет находить ближайшее к искомому значение:
Команда |
Результат |
SET ORDER TO CENA SET NEAR ON SEEK 43526 |
Найдено ближайшее значение ’45123’ к искомому значению ‘43526’ для главного индекса CENA – строка №15 |
При помощи команды SET FILTER TO осуществляется фильтрация по заданному полю:
Команда |
Результат |
SET FILTER TO CENA >31480 |
Отфильтрованы значения поля «Цена заказа», значения должны быть больше 31480. Количество записей, отвечающих условию фильтрации – 10 |
SET FILTER TO CENA <>31480 |
Отфильтрованы значения поля «Цена заказа», значения должны быть неравны 31480. Количество записей, отвечающих условию фильтрации – 14 |
SET FILTER TO CENA>14800 AND CENA<45000 |
Отфильтрованы значения поля «Цена заказа», значения должны попадать в диапазон от 14800 до 45000. Количество записей, отвечающих условию фильтрации – 5 |
SET FILTER TO ADRES >’пр. ’ |
Отфильтрованы значения поля «Адрес», значения должны быть больше номера символа ‘пр. ’ в коде Windows. Количество записей, отвечающих условию фильтрации – 8 |
SET FILTER TO DATA >{^2012.08.01} |
Отфильтрованы значения поля «Дата заказа», значения должны быть больше 01.08.2012. Количество записей, отвечающих условию фильтрации – 6 |