Л.Р.№2 Шерстюк
.docxМинистерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Отчет по лабораторной работе №2
Работа с базами данных. Индексация, фильтрация и поиск данных в базе
Вариант 6
Выполнил:
Студент группы З-66
________ Шерстюк П.В.
Проверил:
Ст.преподователь кафедры ПрЭ
_______ Муравьев А.И.
Томск
2021
Цель
Целью выполнения работы является формирование навыков поиска в базе данных, как основной операции работы с базами данных. В этой работе используется таблица, созданная в процессе выполнения лабораторной работы №1.
Порядок выполнения
1. Изучить по руководству к самостоятельной работы создание индексов для полей различных типов, действие команд SET ORDER, LOCATE FOR, SEEK, SET NEAR, SET FILTER TO.
2. Создать не менее трех индексов для таблицы по полям различных типов.
3. Попеременно устанавливая главный индекс по различным полям, определить различие индексирования по символьному и числовому полям.
4. Написать команды последовательного и индексированного поисков по трем различным полям для каждого вида поиска и выполнить их в командном окне. Определить успешность поиска. Определить текущую запись при неудачном поиске.
5. Написать команду фильтрации по числовому полю (с заданием диапазона фильтрации) и выполнить ее в командном окне, определить количество записей, отвечающих условию фильтрации.
6. Составить отчет, в котором должны быть выводы различия индексирования таблиц по символьному и числовому полям, команды последовательного и индексированного поисков, команда фильтрации (с указанием количества записей удовлетворяющих условию фильтрации).
Описание команды set order to – производит сортировку по выбранному индексу.
Есть возможность указывать как номер индекса, так и название индекса.
Пример set order to 1 – выполняет сортировку в таблице по первому индексу.
Рисунок 1 – Таблица применения команды set order to 1
сортировка по первому индексу.
Команда locate for – последовательно просматривает текущую таблицу в поисках
первой записи, соответствующей логическому выражению, данная таблица не
обязательно должна быть проиндексирована.
Пример, locate for nomer_passporta > 6000000 ищет запись соответствующую
данному логическому выражению, устанавливает курсор на соответствующую
запись.
Рисунок 2 – Таблица применения команды locate for
Для выполнения индексированного поиска для символьного типа данных
пользуемся командой SEEK.
Рисунок 3 – Таблица применения команды seek 'Воскресение'
поиск по индексу
Команда Set filter to - определяет логическое выражение (условие), которое отфильтровывает записи текущей таблицы. Для того чтобы выбрать группу записей, удовлетворяющих заданному условию или условиям, можно использовать команду SET FILTER TO.
Рисунок 4 – Таблица применения команды
set filter to Издательство = 'Астрель'
Команда Set near on/off - определяет положение указателя записи, после неудачной попытки выполнения поиска командами FIND или SEEK.
Рисунок 5 – Таблица применения команды set near on
Вывод
В данной лабораторной работе были рассмотрены различные команды по работе с данными в таблице, созданной предварительно в первой лабораторной работе. Цели по формированию навыков поиска в БД достигнуты и закреплены.
Контрольные вопросы
Какие типы индексов используются для таблиц VISUAL FOXPRO?
Regular (Обычный), Unique (Уникальный), Candidate (Кандидат),
Primary (Первичный).
Как создавать индексы, состоящие из нескольких полей?
Index on STR(строка1)+строка2 TAG название.
В чем преимущества использования индексов?
С помощью индексов существенно упрощается поиск.
Для какого типа полей нельзя использовать индексы?
Для Memo поля и поля, содержащего графические изображения.