- •Федеральное агентство по образованию Российской Федерации
- •Свойства компонентов на форме DataModule1:
- •Свойства основных компонентов на форме Form1 (lr_3 - Таблица "операции"):
- •Свойства основных компонентов на форме Form2 (Запросы к бд:):
- •Обработчики событий для формы - Form1 (lr_3 - Таблица "операции"):
- •Обработчики событий для формы - Form2 (Запросы к бд:):
Федеральное агентство по образованию Российской Федерации
Волжский политехнический институт (филиал)
Волгоградского государственного технического университета
Кафедра ВИТ
Лабораторная работа №3
по дисциплине «Базы данных»
Выполнил: студент гр. ВВТ-210
Куликов А.С.
Проверил: преподаватель
Рыбанов А.А.
Волжский 2008г.
Лабораторная работа №3
ЭЛЕМЕНТАРНЫЕ ВЫБОРКИ ПОСРЕДСТВОМ ОПЕРАТОРА SELECT.
АГРЕГАТНЫЕ ФУНУКЦИИ SQL.
Цель работы: Изучение работы оператора SELECT языка SQL. Изучение возможностей обработки данных с помощью агрегатных функций языка SQL.
№ структуры |
Поле фильтра |
Поле группировки |
Агрегатная функция |
Операция |
Название операции |
Номер патента |
Количество операций |
Методика выполнения лабораторной работы:
Изучить рекомендации по выполнению работы и определить вариант задания.
Создать запрос, выводящий все строки таблицы, указанной в варианте задания.
Создать запрос, задающий порядок столбцов, отличный от исходного.
Продемонстрировать действие модификатора DISTINCT.
Ограничить вывод запроса, используя WHERE с простым условием.
Ограничить вывод запроса, используя WHERE и составное условие.
Продемонстрировать действие специальных функций IN, BETWEEN, LIKE, и IS NULL в условии.
Продемонстрировать работу специальных функций с условием NOT.
Ознакомиться с принципами работы агрегатных функций COUNT, SUM, AVG, MAX, MIN.
Продемонстрировать использование COUNT(*)
Продемонстрировать выполнение простых вычислений в запросе.
Использовать простое вычисление как параметр агрегатной функции.
Ознакомиться с использованием предложения GROUP BY, продемонстрировать его работу.
Ознакомиться с использованием предложения HAVING, продемонстрировать его работу.
Модифицировать приложение, полученное в результате выполнения лабораторной работы №2 с целью получения информации, удовлетворяющей условиям выборки. Получить результат агрегатной функции, указанной в варианте задания.
Выполнение задания:
Модифицирование клиентского приложения:
Для того, чтобы проиллюстрировать работу оператора SELECT, модифицируем структуру таблицы OPERACII. Добавим дополнительное поле количество операций (KOLICHESTVO_OPERACIY) и модифицируем данные таблицы. Эту операцию можно выполнить посредством оболочки IB Expert.
В результате ввода данных получаем таблицу, представленную на рисунке
Модифицируем приложение-клиент, разработанное в ходе лабораторной работы №2. Прежде всего добавим поле редакции количество операций ComboBox1:TComboBox. Заполним поле Items возможными вариантами: «1», «2», «3», «4», «5» и модифицируем тексты процедур обработчиков событий Button3Click (Добавить), Button4Click (Изменить), Button5Click (Удалить) и DBGridCellClick (Заполнение значениями) для адекватной работы программной системы. Следует заметить, что содержимое таблицы выдается в том порядке, в каком записи поступали в базу данных, что затрудняет поиск информации. Для сортировки записей таблицы по содержимому полей добавим в проект обработчик события onTitleClick компонента DBGrid. Поиск информации в таблице станет удобней, если в ней будут выведены не все записи, а только те, которые удовлетворяют условию поиска (например, первым буквам названия операции). Добавим в проект компонент CheckBox1:TCheckBox и строку ввода условия отбора Edit7:TEdit. Обработоем событие onClick компонента CheckBox1. Заметим, что этот же обработчик целесообразно использовать для обработки события onChange компонента Edit7(ввод фильтра). Результат работы модифицированного приложения показан на рисунке:
Разработаем интерфейс для исследования работы оператора SELECT. Вынесем на форму Form2 (Запросы к БД) соответствующие компоненты. Добавим на форму DataModule2 два компонента для работы с данными: SelectQuery: TIBQuery, DataSourceSel: TDataSource. Установим свойство DataSourceSel.DataSet в значение SelectQuery. Аналогичным образом создаем обработчики событий для реализации всех запросов.